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 / ODFDev / ODF / Framewrk / FWSemEvt / FWScpCol.h < prev    next >
Encoding:
Text File  |  1996-09-17  |  3.3 KB  |  117 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWScpCol.h
  4. //    Release Version:    $ ODF 2 $
  5. //
  6. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWSCPCOL_H
  11. #define FWSCPCOL_H
  12.  
  13. #ifndef FWSCPTBL_H
  14. #include "FWScptbl.h"
  15. #endif
  16.  
  17. // ----- ODF Foundation Includes -----
  18.  
  19. #ifndef FWTCOLL_H
  20. #include "FWTColl.h"
  21. #endif
  22.  
  23. //========================================================================================
  24. //    Forward Declarations
  25. //========================================================================================
  26.  
  27. //========================================================================================
  28. //    class FW_CScriptableCollection
  29. //========================================================================================
  30.  
  31. class FW_CScriptableCollection :  public FW_MScriptable                                     
  32. {
  33. public:
  34.     FW_DECLARE_CLASS
  35.     FW_DECLARE_AUTO(FW_CScriptableCollection)
  36.     
  37.     // ----- Construction/Destruction -----
  38.     
  39.     FW_CScriptableCollection();
  40.     
  41.     virtual ~FW_CScriptableCollection();
  42.  
  43.     // ----- Reference Counting -----
  44.  
  45.     virtual long AcquireScriptable();
  46.     
  47.     virtual long ReleaseScriptable();
  48.  
  49.     // ----- Collection -----
  50.     
  51.     long                                 Count() const { return fRep->Count(); }
  52.  
  53.     void                                 Add(FW_MScriptable* element);
  54.     void                                Remove(FW_MScriptable* element);
  55.     
  56.     void                                AdjustMarks(Environment* ev, ODSLong newStart, ODSLong newStop);
  57.  
  58.     // ----- Relationship Descriptors -----
  59.     
  60.     virtual FW_CFrame*                    GetFrame(Environment* ev, FW_CPart* part) const;
  61.  
  62.     // ----- Core Events -----
  63.  
  64.     virtual void                         DoAECountElements(Environment* ev,
  65.                                                         FW_CPart* part,
  66.                                                         const FW_CAppleEvent& event,
  67.                                                         FW_CAppleEvent& reply);
  68.  
  69.     virtual void                        DoAEGetData(Environment* ev,
  70.                                                     FW_CPart* part,
  71.                                                     const FW_CAppleEvent& event,
  72.                                                     FW_CAppleEvent& reply);
  73.  
  74.     virtual void                        DoAESetData(Environment* ev,
  75.                                                     FW_CPart* part,
  76.                                                     const FW_CAppleEvent& event,
  77.                                                     FW_CAppleEvent& reply);
  78.  
  79.     virtual FW_Boolean                    HasProperty(ODDescType whichProperty) const;
  80.  
  81.     virtual void                         GetPropertyInfo(Environment* ev,    
  82.                                                         FW_CPart* part,
  83.                                                         FW_Boolean& canUndo,
  84.                                                         FW_Boolean& causesChange) const;
  85.  
  86.     virtual FW_Boolean                    GetProperty(Environment* ev, 
  87.                                                     FW_CPart* part,
  88.                                                     FW_CDesc& propertyValue, 
  89.                                                     ODDescType whichProperty,
  90.                                                     ODDescType desiredType = typeWildCard) const;
  91.                                                 
  92.     virtual void                        SetProperty(Environment* ev, 
  93.                                                     FW_CPart* part,
  94.                                                     FW_CDesc& propertyValue, 
  95.                                                     ODDescType whichProperty);
  96.                                                     
  97.     virtual void                        RestoreProperty(Environment* ev,
  98.                                                         FW_CPart* part,
  99.                                                         FW_CDesc& propertyValue,
  100.                                                         ODDescType whichProperty);
  101.                                                 
  102.     virtual void                        GetUndoStrings(Environment* ev,
  103.                                                     FW_CPart* part,
  104.                                                     ODDescType whichProperty,
  105.                                                     FW_CString& undoString,
  106.                                                     FW_CString& redoString) const;
  107.     // ----- Dependencies -----
  108.     
  109.     virtual void                        HandlePrimaryDeleted(FW_MScriptable* primary);
  110.  
  111. private:
  112.     
  113.     long                                    fRefCount;
  114.     FW_TOrderedCollection<FW_MScriptable>*     fRep;
  115. };
  116.  
  117. #endif