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.