home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------------------------------------------------------------
-
- Program: CPlusTESample 2.0
- File: TEDocument.h
- Uses: Document.h
-
- by Andrew Shebanow
- of Apple Macintosh Developer Technical Support
-
- Copyright © 1989-1990 Apple Computer, Inc.
- All rights reserved.
-
- ------------------------------------------------------------------------------------------*/
-
- #ifndef __TEDOCUMENT__
- #define __TEDOCUMENT__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __TEXTEDIT__
- #include <TextEdit.h>
- #endif
- #ifndef __CONTROLS__
- #include <Controls.h>
- #endif
- #ifndef __EVENTS__
- #include <Events.h>
- #endif
-
- #ifndef __DOCUMENT__
- #include "Document.h"
- #endif
-
- // kTEFileType is the type of our files - in this case, TEXT
- const OSType kTEFileType = 'TEXT';
-
- class TEDocument : public TDocument {
- private:
- TEHandle fDocTE; // our text
- ControlHandle fDocVScroll; // vertical scrollbar
- ControlHandle fDocHScroll; // horizontal scrollbar
- TEClickLoopUPP fDocClick; // our click loop
-
- // methods not intended for use outside of this class
- // They aren't virtual since private routines can
- // never be overridden, and non-virtual calls are
- // faster than virtual calls.
- void GetTERect(Rect* teRect);
- void AdjustTE();
- void DrawWindow();
- void AdjustViewRect();
- void ResizeWindow();
- void AdjustHV(Boolean isVert,Boolean mustRedraw);
- void AdjustScrollSizes();
- void AdjustScrollbars(Boolean needsResize);
-
- protected:
- // i/o routines
- virtual void ReadFromFile(short refNum);
- virtual void WriteToFile(short refNum);
-
- public:
- TEDocument(short resID);
- virtual ~TEDocument();
-
- // methods from TDocument we override
- virtual void DoZoom(short partCode);
- virtual void DoGrow(EventRecord* theEvent);
- virtual void DoContent(EventRecord* theEvent);
- virtual void DoKeyDown(EventRecord* theEvent);
- virtual void DoActivate(Boolean becomingActive);
- virtual void DoIdle();
- virtual void DoUpdate();
- virtual void DoCut();
- virtual void DoCopy();
- virtual void DoPaste();
- virtual void DoClear();
- virtual unsigned long CalcIdle();
- virtual Boolean HaveSelection();
- virtual void DoSelectAll();
-
- // new public methods
- void AdjustScrollValues(Boolean mustRedraw);
- TEClickLoopUPP GetClickLoop();
- TEHandle GetTEHandle();
- void GetVisTERgn(RgnHandle rgn);
- };
-
- #endif
-