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.