home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / Draw / Sources / DrawCont.h < prev    next >
Encoding:
Text File  |  1996-04-25  |  6.4 KB  |  217 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                DrawCont.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Author:                Mary Boetcher
  7. //
  8. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef DRAWCONT_H
  13. #define DRAWCONT_H
  14.  
  15. #ifndef CONTENT_H
  16. #include "Content.h"
  17. #endif
  18.  
  19. //========================================================================================
  20. //    Forward Declarations
  21. //========================================================================================
  22.  
  23. class CDrawPart;
  24. class CDrawSelection;
  25. class CDrawPromise;
  26. class CDrawSubscribeLink;
  27. class CGroupShape;
  28.  
  29. //========================================================================================
  30. //    class CDrawPartContent
  31. //========================================================================================
  32.  
  33. class CDrawPartContent : public CDrawContent
  34. {
  35. public:
  36.   
  37.       FW_DECLARE_AUTO(CDrawPartContent)
  38.   
  39.     CDrawPartContent(Environment* ev, CDrawPart* part);
  40.     virtual ~CDrawPartContent();
  41.  
  42.     virtual void        Externalize(Environment* ev,
  43.                                      ODStorageUnit* storageUnit,
  44.                                      FW_EStorageKinds storageKind,
  45.                                      FW_CCloneInfo* cloneInfo);
  46.     virtual FW_Boolean    Internalize(Environment* ev,
  47.                                      ODStorageUnit* storageUnit, 
  48.                                      FW_EStorageKinds storageKind,
  49.                                      FW_CCloneInfo* cloneInfo);
  50.  
  51.     virtual void        PostInternalizeShape(Environment* ev, 
  52.                                      const FW_CPoint& offset, 
  53.                                      CBaseShape* shape, 
  54.                                      short index);
  55.  
  56.     CBaseShape*            NewShape(Environment* ev, unsigned short shapeType);
  57.  
  58.     FW_Boolean            MoveForward(Environment *ev);
  59.     FW_Boolean            MoveBackward(Environment *ev);
  60.     void                MoveToFront(Environment *ev);
  61.     void                MoveToBack(Environment *ev);
  62.     void                ExtractSelection(Environment* ev, CShapeCollection* extract);
  63. };
  64.  
  65. //========================================================================================
  66. //    class CDrawSelectionContent
  67. //========================================================================================
  68.  
  69. class CDrawSelectionContent : public CDrawContent
  70. {
  71. public:
  72.   
  73.       FW_DECLARE_AUTO(CDrawSelectionContent)
  74.   
  75.     CDrawSelectionContent(Environment* ev, 
  76.                         CDrawPart* part, 
  77.                         CDrawSelection* selection);
  78.     virtual ~CDrawSelectionContent();
  79.  
  80.     virtual void        Externalize(Environment* ev,
  81.                                     ODStorageUnit* storageUnit, 
  82.                                     FW_EStorageKinds storageKind,
  83.                                     FW_CCloneInfo* cloneInfo);
  84.                                         
  85.     virtual FW_Boolean    Internalize(Environment* ev,
  86.                                      ODStorageUnit* storageUnit, 
  87.                                      FW_EStorageKinds storageKind,
  88.                                      FW_CCloneInfo* cloneInfo);
  89.  
  90.     virtual void         PostInternalizeShape(Environment* ev, 
  91.                                     const FW_CPoint& offset, 
  92.                                     CBaseShape* shape, 
  93.                                     short index);
  94.  
  95.     virtual void         SingleEmbeddedFrameInternalized(Environment* ev, 
  96.                                       FW_CEmbeddingFrame* scopeFrame,
  97.                                       ODPart* embeddedPart, 
  98.                                       ODFrame* embeddedFrame,
  99.                                       ODShape* suggestedShape,
  100.                                       ODTypeToken viewType);
  101.  
  102.     virtual ODShape*     CreateDataFrameShape(Environment* ev) const;
  103.  
  104.   private:
  105.     CDrawSelection*        fDrawSelection;
  106. };
  107.  
  108. //========================================================================================
  109. //    class CDrawUndoContent
  110. //========================================================================================
  111.  
  112. class CDrawUndoContent : public CDrawContent
  113. {
  114. public:
  115.   
  116.       FW_DECLARE_AUTO(CDrawUndoContent)
  117.   
  118.     CDrawUndoContent(Environment* ev, CDrawSelection* selection);
  119.     virtual ~CDrawUndoContent();
  120.  
  121.     // ----- New API -----
  122.     void                 RemoveShapeSelection(Environment *ev);
  123.     void                 RestoreShapeSelection(Environment *ev);
  124.     void                 DeleteSavedShapes(Environment *ev);
  125.  
  126.     void                 RemoveFromLinks(Environment* ev);
  127.     void                 RestoreLinks(Environment* ev);
  128.     void                DeleteEmptyLinkSources(Environment* ev);
  129.     void                DeleteSavedShapesAndLinks(Environment* ev);
  130.  
  131. private:
  132.     CDrawSelection*        fDrawSelection;
  133. };
  134.  
  135. //========================================================================================
  136. //    class CDrawPromiseContent
  137. //========================================================================================
  138.  
  139. class CDrawPromiseContent : public CDrawContent
  140. {
  141.   public:
  142.   
  143.       FW_DECLARE_AUTO(CDrawPromiseContent)
  144.   
  145.     CDrawPromiseContent(Environment* ev, 
  146.                         CDrawPart* part, 
  147.                         CDrawSelectionContent* selectedContent,
  148.                         const FW_CRect& selectedRect);
  149.     virtual ~CDrawPromiseContent();
  150.  
  151.     virtual void        Externalize(Environment* ev,
  152.                                     ODStorageUnit* storageUnit,
  153.                                     FW_EStorageKinds storageKind,
  154.                                     FW_CCloneInfo* cloneInfo);
  155.     virtual FW_Boolean     IsOKtoWrite(Environment* ev, CBaseShape* shape);
  156.  
  157.     FW_CRect            GetSelectedRect() const
  158.                             {return fSelectedRect;}
  159.   private:
  160.     CDrawPromise*    fPromise;
  161.     FW_CRect        fSelectedRect;
  162. };
  163.  
  164. //========================================================================================
  165. //    class CDrawLinkSourceContent
  166. //========================================================================================
  167.  
  168. class CDrawLinkSourceContent : public CDrawContent
  169. {
  170.   public:
  171.   
  172.       FW_DECLARE_AUTO(CDrawLinkSourceContent)
  173.   
  174.     CDrawLinkSourceContent(Environment* ev, CDrawPart* part, CDrawContent* selectedContent);
  175.     virtual ~CDrawLinkSourceContent();
  176.  
  177.     virtual void        Externalize(Environment* ev,
  178.                                     ODStorageUnit* storageUnit,
  179.                                     FW_EStorageKinds storageKind,
  180.                                     FW_CCloneInfo* cloneInfo);
  181. };
  182.  
  183. //========================================================================================
  184. //    class CDrawLinkContent
  185. //========================================================================================
  186.  
  187. class CDrawLinkContent : public CDrawContent
  188. {
  189.   public:
  190.   
  191.       FW_DECLARE_AUTO(CDrawLinkContent)
  192.   
  193.     CDrawLinkContent(Environment* ev, CDrawPart* part, CDrawSubscribeLink* link);
  194.     CDrawLinkContent(Environment* ev, CDrawSubscribeLink* link, CDrawLinkContent* content);
  195.     virtual ~CDrawLinkContent();
  196.                                         
  197.     virtual FW_Boolean    Internalize(Environment* ev,
  198.                                     ODStorageUnit* storageUnit, 
  199.                                     FW_EStorageKinds storageKind,
  200.                                     FW_CCloneInfo* cloneInfo);
  201.  
  202.     virtual void        SingleEmbeddedFrameInternalized(Environment* ev,
  203.                                 FW_CEmbeddingFrame* scopeFrame,
  204.                                 ODPart* odEmbeddedPart, 
  205.                                 ODFrame* odEmbeddedFrame,
  206.                                 ODShape* suggestedShape,
  207.                                 ODTypeToken viewType);
  208.  
  209.     void                GroupShapes(Environment* ev, CGroupShape* group);
  210.  
  211.   private:
  212.     CDrawSubscribeLink*    fLink;
  213. };
  214.  
  215.  
  216. #endif
  217.