This is eText.Class.m in view mode; [Download] [Up]
{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\ftech Symbol;\f2\fmodern Ohlfs;} \margl40 \margr40 \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\ // \i \b FILENAME \b0 : \b\i0 eText.Class.m\ \b0 // \i \b SUMMARY \b0 : \b\i0 Implementation of the Class Management functions of eText:Text \b0 \ // \b\i SUPERCLASS \b0\i0 : \b Object:Responder:View:Text:eText \b0 \ // \b\i PROTOCOLS \b0\i0 : \b <Annotation> \b0 , \b <SearchableText> \b0 \ // \b\i INTERFACE \b0\i0 : \b None, indirectly through eTDoc.nib \b0 \ // \b\i AUTHOR \b0 : \b\i0 Rohit Khare \b0 \ // \b\i COPYRIGHT \b0 : \f1\i0 Ó \f0\b 1993,94 California Institure of Technology, eText Project\ \b0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\ // \b\i Implementation Comments \b0\i0 \ // These initialization and lifecycle methods bear the brunt of\ // integrating all the diverse bits of code in the different categories.\ //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\ // \b\i History \b0\i0 \ // 10/17/94: \b Cleaned up for eText5. \b0 \ // 08/05/94: \b Completely Rearchitected for 5.0. RK \b0 \ // 07/10/94: \b Rewrote HTML parsing routines; moved code out of eTDoc \b0 \ // 06/18/94: \b Added writeHTML:from:length:. RK & TRZ. \b0 \ // 05/09/94: \b Added positionForAnnotation \b0 \ // 01/20/94: \b Revised throughout for eText4.0 \b0 \ // 09/11/93: \b Added Dragging support \b0 \ // 08/19/93: \b Created. Based directly on 1.0 sources, edited down. \b0 \ // 06/24/93: \b Version 1.0 Created (Rohit Khare) \b0 \ //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\ // \b Imported Interfaces \b0 \ //\ #import " \b eText.Class.h \b0 "\ \ \i @implementation eText\ \i0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\ // \b Class Management \b0 \ //\ + \b initialize \b0 \{\ // \i Register %v for HTML and %w for LaTeX for encoding with NXPrintf \i0 \ \b NXRegisterPrintfProc \b0 (' \b V \b0 ', (NXPrintfProc *)& \b URIEncoder \b0 ,NULL);\ \b NXRegisterPrintfProc \b0 (' \b v \b0 ', (NXPrintfProc *)& \b HTMLEncoder \b0 ,NULL);\ \b NXRegisterPrintfProc \b0 (' \b w \b0 ', (NXPrintfProc *)& \b LaTeXEncoder \b0 ,NULL);\ \ // ... \i and set the encoding table \i0 \ [ \b userModel \b0 \b defaultValue \b0 :" \b WebStep \b0 " \b for \b0 :" \b HTMLEncoding \b0 "];\ \ // \i Register %y for the PlainText encoding that uses NXToAscii() \i0 \ \b NXRegisterPrintfProc \b0 (' \b y \b0 ', (NXPrintfProc *)& \b ASCIIEncoder \b0 ,NULL);\ return self;\ \}\ \ - \b awakeFromNib \b0 \{\ \b NXCoord \b0 left,right,top,bottom;\ NXAtom \b supportedTypes \b0 [13] = \{ NXFilenamePboardType,\ NXFileContentsPboardType, \ NXSoundPboardType,\ NXPostScriptPboardType, \ NXTIFFPboardType,\ N3DRIBPboardType, \ NXColorPboardType,\ NXFontPboardType,\ NXRulerPboardType,\ NXRTFPboardType,\ NXAsciiPboardType,\ NXTabularTextPboardType,\ NULL\};\ [self \b setMonoFont \b0 : \b NO \b0 ];\ [self \b setRetainedWhileDrawing \b0 : \b YES \b0 ];\ [self \b setGraphicsImportEnabled \b0 : \b NO \b0 ];\ [self \b registerForDraggedTypes \b0 : \b supportedTypes \b0 count:12];\ [self \b setDelegate \b0 : \b self \b0 ];\ \ [self \b getMarginLeft \b0 :&left \b right \b0 :&right \b top \b0 :&top \b bottom \b0 :&bottom];\ [self \b setMarginLeft \b0 :(( \b left \b0 < 72.0) ? 72.0 : \b left \b0 ) right: \b 4 \b0 top: \b 4 \b0 bottom: \b 4 \b0 ];\ \ \b oldTextFilter \b0 = [self \b textFilter \b0 ];\ [self \b setTextFilter \b0 :& \b undoFilterFunc \b0 ];\ \ [self \b setInitialAction \b0 :[[ \b XTDispatchAction \b0 alloc] \b initBase \b0 :"" \b estream \b0 : \b nil \b0 ]];\ return self;\ \}\ \ - \b initFrame \b0 :(const NXRect *) \b frameRect\ \b0 \b text \b0 :(const STR) \b theText \b0 \ \b alignment \b0 :(int) \b mode \b0 \{\ [ \b super \b0 initFrame:frameRect text:theText alignment:mode];\ \b etDoc \b0 = \b nil \b0 ;\ \b undoManager \b0 = \b nil \b0 ;\ \b nextAction \b0 = \b nil \b0 ;\ \b strictRTF \b0 = \b NO \b0 ;\ \b initialAction \b0 = \b nil \b0 ;\ \b errorStream \b0 = [ErrorStream \b default \b0 ];\ \b posHint \b0 = \b -1 \b0 ;\ \b xHintPos \b0 = \b -1 \b0 ;\ return self;\ \}\ \ - \b free \b0 \{\ \b etDoc \b0 = \b nil \b0 ;\ \b undoManager \b0 = \b nil \b0 ;\ [self \b setText \b0 :""]; // \i Nukes all remaining annotations \i0 \ return self = [ \b super \b0 free];\ \}\ \ \i @end }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.