home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C++ / Applications / Lookup 1.0d2 / Includes / CLookupDocument.h < prev    next >
Encoding:
Text File  |  1995-10-22  |  1.6 KB  |  63 lines  |  [TEXT/CWIE]

  1. // ===========================================================================
  2. //    CLookupDocument.h                        ©1994 Metrowerks Inc. All rights reserved.
  3. // ===========================================================================
  4.  
  5. #pragma once
  6.  
  7. #include <LSingleDoc.h>
  8.  
  9. #include "Lookup.h"
  10. #include "CList.h"
  11.  
  12. class CEntry;
  13.  
  14. typedef unsigned long EntryIndex;
  15.  
  16. class    CLookupDocument : public LSingleDoc, public LBroadcaster
  17. {
  18. public:
  19.     enum {
  20.         kFileType = kDocumentType
  21.     };
  22.     
  23.                         CLookupDocument(LCommander *inSuper, FSSpec *inFileSpec);
  24.     virtual                ~CLookupDocument();
  25.  
  26.     virtual void        FindCommandStatus(CommandT inCommand, Boolean & outEnabled,
  27.                             Boolean & outUsesMark, Char16 & outMark, Str255 outName);
  28.                     
  29. //    accessors
  30.  
  31.     const CEntry *        GetEntryPtrAt(EntryIndex row) const;
  32.     const CEntry &        GetEntryAt(EntryIndex row) const;
  33.     EntryIndex            GetEntryCount() const;
  34.  
  35. //    mutators
  36.     
  37.     virtual Boolean        IsModified();
  38.     virtual void        DoAESave(FSSpec &inFileSpec, OSType inFileType);
  39.     virtual void        DoSave();
  40.     virtual void        DoRevert();
  41.     virtual void        DoPrint();
  42.  
  43. //    AEOM stuff:
  44.  
  45.     virtual LModelObject * HandleCreateElementEvent(DescType inElemClass, DescType inInsertPosition,
  46.                             LModelObject * inTargetObject, const AppleEvent & inAppleEvent,
  47.                             AppleEvent  &outAEReply);
  48.                         
  49.     virtual void        GetSubModelByComplexKey(DescType inModelID, DescType inKeyForm,
  50.                             const AEDesc & inKeyData, AEDesc & outToken) const;
  51.  
  52. private:
  53.     CList<CEntry>        mEntryList;
  54.     Boolean                mDirty;
  55.  
  56.     static void            NameUntitled(StringPtr outTitle);
  57.     void                ReadFile();
  58.  
  59.     friend class CEntry;
  60.     void                NotifyEntryChanged(CEntry *);
  61.     void                DeleteEntry(CEntry *);
  62. };
  63.