home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / Developer University / DU Projects / DataSave / Sources / Content.h < prev    next >
Encoding:
Text File  |  1996-08-22  |  2.4 KB  |  80 lines  |  [TEXT/CWIE]

  1. //    Release Version:    $ ODF 2 $
  2. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  3.  
  4. #ifndef CONTENT_H
  5. #define CONTENT_H
  6.  
  7. //========================================================================================
  8. #ifndef DEFINES_K
  9. #include "Defines.k"
  10. #endif
  11.  
  12. // ----- Framework Includes -----
  13. #ifndef FWCONTNT_H
  14. #include "FWContnt.h"
  15. #endif
  16.  
  17. #ifndef PIZZA_H
  18. #include "Pizza.h"            //  CPizza
  19. #endif
  20.  
  21. #ifndef FWTCOLL_H
  22. #include "FWTColl.h"            // FW_TOrderedCollection
  23. #endif
  24.  
  25. //========================================================================================
  26. class CDataSavePart;
  27. class FW_CPresentation;
  28.  
  29. //========================================================================================
  30. class CPizzaCollection : public FW_TOrderedCollection<CPizza> {
  31. public:
  32.     FW_DECLARE_AUTO(CPizzaCollection)
  33.     CPizzaCollection()
  34.             : FW_TOrderedCollection<CPizza>() {}
  35.     ~CPizzaCollection() {}
  36. };
  37.  
  38. //========================================================================================
  39. class CPizzaCollectionIterator : public FW_TOrderedCollectionIterator<CPizza> {
  40. public:
  41.     FW_DECLARE_AUTO(CPizzaCollectionIterator)
  42.     CPizzaCollectionIterator(CPizzaCollection* collection)
  43.         :    FW_TOrderedCollectionIterator<CPizza>(collection){}
  44.     ~CPizzaCollectionIterator() {}
  45. };
  46.  
  47. //========================================================================================
  48. class CDataSaveContent : public FW_CContent {
  49. public:
  50.     FW_DECLARE_AUTO(CDataSaveContent)
  51.                                 CDataSaveContent(Environment* ev, CDataSavePart* part);
  52.     virtual                     ~CDataSaveContent();
  53. // new members
  54. public:
  55.     virtual CPizzaCollection*    MyGetPizzaList();
  56.     virtual void                MyIncrement(Environment* ev, FW_CPoint& position);
  57.     virtual void                MyAddPizza(Environment* ev, CPizza* pizza);
  58.     virtual void                MyRemoveLastPizza(Environment* ev, CPizza* pizza);
  59. // overrides
  60. protected:
  61.     virtual void                ExternalizeKind(Environment* ev,
  62.                                     ODStorageUnit* storageUnit,
  63.                                     FW_CKind* kind,
  64.                                     FW_StorageKinds storageKind,
  65.                                     FW_CPromise* promise,
  66.                                     FW_CCloneInfo* cloneInfo);
  67.     virtual FW_Boolean            InternalizeKind(Environment* ev,
  68.                                     ODStorageUnit* storageUnit, 
  69.                                     FW_CKind* kind,
  70.                                     FW_StorageKinds storageKind,
  71.                                     FW_CCloneInfo* cloneInfo);
  72. // new members
  73. private:
  74.     ODSShort            fNumPizzas;
  75.     CPizzaCollection*    fPizzaList;
  76.     CDataSavePart*         fPart;
  77. };
  78.  
  79. //========================================================================================
  80. #endif