ftp.nice.ch/pub/next/text/apps/eText5.0.93.s.tar.gz#/eText5/Document.subproj/eTDocInfo.h

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

{\rtf0\ansi{\fonttbl\f2\fmodern Courier;\f5\ftech Symbol;\f6\fmodern Ohlfs;}
\margl40
\margr40
{\colortbl;\red0\green0\blue0;}
\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f2\b0\i0\ulnone\fs24\fc0\cf0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//
\i 	
\b FILENAME
\b0 :	
\b\i0 eTDocInfo.h \

\b0 //
\i 	
\b SUMMARY
\b0 :	
\b\i0 Required persistent interface for ALL eText documents
\b0 \
//	
\b\i SUPERCLASS
\b0 :
\i0 	
\b Object:HashTable:NXStringTable:eTDocInfo
\b0 \
//	
\b\i PROTOCOLS
\b0 :
\i0 	
\b <ComponentWriting,ComponentReading,InspectableTarget>
\b0 \
//	
\b\i INTERFACE
\b0 :
\i0 	
\b None
\b0 \
//	
\b\i AUTHOR
\b0 :		
\b\i0 Rohit Khare
\b0 \
//	
\b\i COPYRIGHT
\b0 :	
\f5\i0 Ó
\f2\b 1993,94 California Institure of Technology, eText Project\

\b0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b\i Description
\b0\i0 \

\fc1\cf1 //		
\i eTDocInfo
\i0  is supposed to encapsulate the essential\
//	persistent properties of a document; it's a document's\
//	proxy, or shadow, representation. The required fields are\
//	delineated in the main class, and these fields are designed\
//	to be pertinent to 
\i all
\i0  eText documents. Fields pertinent\
//	only to textual substrates and UI information are in an informal\
//	category, 
\i eTextDoc
\i0 . To contrast, a future Draw substrate would\
//	add an 
\i eDrawDoc
\i0  category. Both categories are informal because\
//	they might add instance variables, but the spirit is the same.\
//\
//		eTDocInfo can also output itself as a file, as HTML, and as LaTeX\
//	The functions associated with textual and graphic substrates have been\
//	placed in separate categories, 
\i eText
\i0  and 
\i eDraw
\i0 .\

\fc0\cf0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b\i HISTORY
\b0\i0 \
//	10/30/94:	
\b Fixed tag font default registration, added +aliases for tags.
\b0 \
//	10/30/94:	
\b Modified to support <InspectableTarget>
\b0 \
//	10/27/94:	
\b -isVirgin added to public API.
\i \

\b0\i0 //	10/04/94:	
\b -free bug; NXStrTab was free()ing NXAtoms. (was in init/rcfpth)
\i \

\b0\i0 //	10/04/94:	
\b Added eTDoc ivar by analogy to path[] and eTComponents.
\i \

\b0\i0 //	10/01/94:	
\b Reorganized into categories: eText and eDraw.
\b0 \
//	09/30/94:	
\b Revamped for eText5; renamed eTDocInfo
\b0 \
//	07/20/94:	
\b Added LaTeX support.
\b0 \
//	07/10/94:	
\b Added support for HTML header/trailer writing
\b0 \
//	01/11/94:	
\b Added Agent field.
\b0 \
//	01/11/94:	
\b Added flexible "bindery" methods for extension of navinfo data
\b0 \
//	01/10/94:	
\b Created. See Actors/eTNavinfo
\b0 \
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Imported Interfaces
\b0 \
//\
	#import "
\b eTextKernel.h
\b0 "\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b\fc1\cf1 Field Definitions
\b0 \

\fc0\cf0 //\
//	
\i Datafile Names\

\i0 	#define 	
\b DOCINFOFILE
\b0 		NXUniqueString("
\b .
\b0 "
\b DOCI_EXT
\b0 )\
	#define 	
\b NAVINFOFILE1
\b0 	NXUniqueString(
\b NAVI_EXT
\b0 )\
	#define 	
\b NAVINFOFILE2
\b0 	NXUniqueString("
\b ."NAVI_EXT
\b0 )\
//	
\b\i Required
\b0  Fields\

\i0 	#define		
\b ANYFIELD
\b0 		NXUniqueString("
\b *
\b0 ")\
	#define		
\b DOCID
\b0 			NXUniqueString("
\b docID
\b0 ")\
	#define		
\b DOCTITLE
\b0 		NXUniqueString("
\b docTitle
\b0 ")\
	#define		
\b NAVTITLE
\b0 		NXUniqueString("
\b title
\b0 ")\
	#define		
\b DOCTYPE
\b0 			NXUniqueString("
\b docType
\b0 ")\
				#define 
\b eTEXT
\b0 	NXUniqueString("
\b eTextDoc
\b0 ")\
				#define	
\b eDRAW
\b0 	NXUniqueString("
\b eDrawDoc
\b0 ")\
	#define		
\b AUTHOR	
\b0 		NXUniqueString("
\b author
\b0 ")\
	#define		
\b PARENT
\b0 			NXUniqueString("
\b parent
\b0 ")\
	#define		
\b PEERS
\b0 			NXUniqueString("
\b peers
\b0 ")\
	#define		
\b KEYWORDS	
\b0 	NXUniqueString("
\b keywords
\b0 ")\
	#define		
\b COMMENTS	
\b0 	NXUniqueString("
\b rtfComments
\b0 ")\
	#define		
\b AGENT
\b0 			NXUniqueString("
\b agent
\b0 ")\
	#define		
\b MDFYDATE
\b0 		NXUniqueString("
\b lastModifiedDate
\b0 ")\
//	
\i Extended Fields\
	
\i0 //
\i  Appending HTML trailer outputs\

\i0 	#define		
\b TRAILER
\b0 			NXUniqueString("
\b emitTrailer
\b0 ")\

\i 	
\i0 //
\i  Anchors/.etfLink files\

\i0 	#define		
\b ANCHORID
\b0 		NXUniqueString("
\b anchorID
\b0 ")\
	#define		
\b ANCHORTITLE
\b0 		NXUniqueString("
\b anchorTitle
\b0 ")\
	// 
\i Tagging Fonts (properties of eTextDocs)
\i0 \
	#define		
\b H1	
\b0 			NXUniqueString("
\b Heading1Font
\b0 ")\
	#define		
\b H2	
\b0 			NXUniqueString("
\b Heading2Font
\b0 ")\
	#define		
\b H3	
\b0 			NXUniqueString("
\b Heading3Font
\b0 ")\
	#define		
\b H4	
\b0 			NXUniqueString("
\b Heading4Font
\b0 ")\
	#define		
\b H5	
\b0 			NXUniqueString("
\b Heading5Font
\b0 ")\
	#define		
\b H6	
\b0 			NXUniqueString("
\b Heading6Font
\b0 ")\
	#define		
\b QT	
\b0 			NXUniqueString("
\b QuotationFont
\b0 ")\
	#define		
\b BODY	
\b0 		NXUniqueString("
\b BodyTextFont
\b0 ")\
	#define		
\b TAGNAME
\b0 			NXUniqueString("
\b Name
\b0 ")\
	#define		
\b TAGSIZE
\b0 			NXUniqueString("
\b Size
\b0 ")\
\

\i @interface eTDocInfo:NXStringTable <ComponentWriting,ComponentReading>
\i0 \{\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Instance Variables
\b0 \
//\
	
\b char
\b0 	
\b docPath
\b0 [
\b MAXPATHLEN
\b0 ];\
	id		
\b etDoc
\b0 ;\
	BOOL	
\b readOnly, virgin
\b0 ;\
	
\b long
\b0 	
\b docID
\b0 ;\
	\}\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
// 	
\b Class Management
\b0 \
//\
	+ 
\b initialize
\b0 ;\
	+ (HashTable *)
\b docInfoTable
\b0 ;\
	+ 
\b findDocInfo
\b0 :(long) 
\b aDocID
\b0 ;\
	- 
\b init
\b0 ;\
	- 
\b free
\b0 ;\
	\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b <ComponentReading, ComponentWriting>
\b0 \
//\
	- 
\b writeComponentToPath
\b0 :(NXAtom)path 
\b inFormat
\b0 :(int) theFormat;\
	- 
\b readComponentFromPath
\b0 :(NXAtom)path;\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Accessor Methods
\b0 \
//\
	- 
\b setDoc
\b0 : newDoc;\
	- 
\b etDoc
\b0 ;\
	\
	- (
\b long
\b0 ) 
\b docID
\b0 ;\
	- (NXAtom) 
\b docIDStr
\b0 ;\
\
	- (NXAtom) 
\b docTitle
\b0 ;\
	- 
\b setDocTitle
\b0 :(const char *) newTitle;\
\
	- (NXAtom) 
\b docType
\b0 ;\
	- 
\b setType
\b0 :(const char *) newType;\
\
	- (NXAtom) 
\b author
\b0 ;\
	- 
\b setAuthor
\b0 :(const char *) newAuthor;\
\
	- (NXAtom) 
\b agent
\b0 ;\
	- 
\b setAgent
\b0 :(const char *) newAgent;\
\
	- (
\b long
\b0 ) 
\b parentID
\b0 ;
\i \

\i0 	- (NXAtom) 
\b parent
\b0 ;\
	- 
\b setParent
\b0 :(const char *) newParent;\
	- 
\b setParentID
\b0 :(
\b long
\b0 ) newParentID;\
\
	- (NXAtom) 
\b peers
\b0 ;				// 
\i A space-delimited list of ASCII %x docIDs
\i0 \
	- 
\b setPeers
\b0 :(const char *) newPeers;\
	- 
\b addPeerID
\b0 :(
\b long
\b0 ) newPeerID;\
\
	- (NXAtom) 
\b keywords
\b0 ;\
	- 
\b setKeywords
\b0 :(const char *) newKeywords;\
\
	- (NXAtom) 
\b rtfComments
\b0 ;		//
\i  RTF source of comment field
\i0 \
	- 
\b setRTFComments
\b0 :(const char *) newComments;\
	- (const char *) 
\b comments
\b0 ;	// 
\i ASCII contents of comment field\

\i0 \
	- (NXAtom) 
\b lastModifyDate
\b0 ;\
\
	- (NXAtom) 
\b valueOf
\b0 : (NXAtom) 
\b theQuery
\b0 ;\
	- 
\b bindKey
\b0 :(const char *) 
\b newKey
\b0  
\b to
\b0 : (const char *) 
\b newVal
\b0 ;\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Runtime Properties
\b0 \
//\
	- (const char *) 
\b docPath
\b0 ;\
	- 
\b setDocPath
\b0 :(const char *) newPath;\
	- (BOOL) 
\b readOnly
\b0 ;\
	- 
\b setReadOnly
\b0 :(BOOL) newState;\
	- (BOOL) 
\b isVirgin
\b0 ;\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Query/Regex Matching
\b0 \
//\
	- (
\b BOOL
\b0 ) 
\b searchFor
\b0 :(NXAtom) 
\b regex
\b0  
\b in
\b0 :(NXAtom) 
\b field
\b0 ; \
	\

\i @end\

\i0\qc \

\ql //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Text-specific Extensions
\b0 \
//\

\i @interface eTDocInfo(eText)\

\i0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Generating Indexes
\b0 \
//\
	- 
\b setEmitTrailer
\b0 :(
\b BOOL
\b0 )newState;\
	- (
\b BOOL
\b0 )
\b emitTrailer
\b0 ;\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Tagging Fonts
\b0 \
//\
	- 
\b initTagFields
\b0 ;\
	- 
\b setTag
\b0 :(const char *)tagType 
\b to
\b0 : (
\b Font
\b0  *)newFont;\
	- 
\b tagFont
\b0 :(const char *)tagType;\
	- 
\b registerTag
\b0 :(const char *)tagType 
\b to
\b0 : (
\b Font
\b0  *)newFont;\
	+ 
\b registerTag
\b0 :(const char *)tagType 
\b to
\b0 : (
\b Font
\b0  *)newFont;\
	- 
\b defaultTagFont
\b0 :(const char *)tagType;\
	+ 
\b defaultTagFont
\b0 :(const char *)tagType;\
\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Alternate Formats
\b0 \
//\
	- 
\b writeHTMLHeader
\b0 :(
\b NXStream
\b0  *)s;	// 
\i required
\i0 \
	- 
\b writeHTMLTrailer
\b0 :(
\b NXStream
\b0  *)s;	// 
\i optional; user-preference
\i0 \
	- 
\b writeLaTeXHeader
\b0 :(
\b NXStream
\b0  *)s;\
\

\i @end\
\

\i0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Draw-specific Extensions
\b0 \
//
\i \
@interface eTDocInfo(eDraw)\
\
	
\i0 // 
\i eventually, indexing information for Draw type documents goes here.\
\
@end
}

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