ftp.nice.ch/pub/next/text/etext/eText5-0.93.Source.NIHS.tar.gz#/eText5/Component.subproj/eTComponent.h

This is eTComponent.h in view mode; [Download] [Up]

///////////////////////////////////////////////////////////////////////////////
//	FILENAME:	eTComponent.h
//	SUMMARY:	Interface for a generic external-data-container class.
//	SUPERCLASS:	Object
//	INTERFACE:	None
//	PROTOCOLS:	<ComponentData,
//				ETFDSupport,ASCIISupport,HTMDSupport, LaTeXSupport>
//	AUTHOR:		Rohit Khare and Tom Zavisca
//	COPYRIGHT:	(c) 1994 California Institure of Technology, eText Project
///////////////////////////////////////////////////////////////////////////////
//	DESCRIPTION
//		This is an implementation of the <ComponentData> protocol that works
//	for UNIX files, i.e. data that is copied verbatim from data in the
//	 in the filesystem. Subclasses can override default behavior to specify
//	conversions, sharing, and binding conventions for specific data types. 
///////////////////////////////////////////////////////////////////////////////
//	HISTORY
//	08/06/94:	Added symbolic linking support.
//	07/19/94:	Rewritten/Reorganized as described in Actors/eTComponent.rtf
//	07/10/94:	Created. Final step in evolution towards model-view-controller.
///////////////////////////////////////////////////////////////////////////////

// Note that this file #imports eTImageComponent.h & eTAudioComponent.h at end
#import "eTextKernel.h"

@interface eTComponent:Object <ComponentData, ETFDSupport, ASCIISupport, HTMDSupport, LaTeXSupport>
{
	NXAtom	componentName;	//
	NXAtom	currentPath;	//
	BOOL	shouldEdit;		// rename to wantsEdit
	BOOL	isDirty;
	BOOL	isLinked;
	id		etDoc;
	id		icon;
}

- initInDoc:newDoc linked: (BOOL) linked;
- readComponentFromPath:(NXAtom)newPath;
- writeComponentToPath:(NXAtom)path inFormat:(int)theFormat;
- linkComponentToPath:(NXAtom)path;
- readComponentFromPboard:(Pasteboard *)thePB;
- writeComponentToPboard: (Pasteboard *)thePB;

- (const char *) componentName;
- (const char *) currentPath;
- etDoc;
- icon;
- touch;
- (BOOL) isLinked;
- (BOOL) isMutable;		// this call checks fperms && isMutable
- setShouldEdit:(BOOL) newState;
- setLinked:(BOOL) newState;	// this is only for use in conjunction with
								// a readComponent: (see eTImage/chooseImage:)
- setDoc:newDoc;
// "hidden" API extension.
- writeHTML:(NXStream *)stream forView:view andClose:(BOOL)closeIt;
- writeLaTeX:(NXStream *)stream forView:view andClose:(BOOL)closeIt;
@end

#import "eTImageComponent.h"
#import "eTAudioComponent.h"

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.