home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ctcoll95.zip / RAHMEN / PART_MAC.SEA / CPRedPart.h < prev    next >
Text File  |  1995-03-24  |  9KB  |  239 lines

  1. /*
  2.     File:        CPRedPart.h
  3.  
  4.     Contains:    CPRedPart OpenDoc part editor class definition.
  5.  
  6.     modified by JÜrn Loviscach, c╒t Magazin fƒr Computertechnik
  7.  
  8.     Written by:    PartMaker 
  9.  
  10. */
  11.  
  12. #ifndef _REDPART_
  13. #define _REDPART_
  14.  
  15. #ifndef _ODTYPES_
  16. #include "ODTypes.h"
  17. #endif
  18.  
  19. #ifndef _FACETLIST_
  20. #include "FacetList.h"
  21. #endif
  22.  
  23. //==============================================================================
  24. // Forward declarations
  25. //==============================================================================
  26.  
  27. class ODFocusSet;
  28. class ODMenuBar;
  29. class ODSession;
  30. class ODWindow;
  31. class ODFrame;
  32. class ODFacet;
  33. class ODShape;
  34. class ODStorageUnit;
  35. class ODStorageUnitView;
  36. class ODEmbeddedFramesIterator;
  37. class ODLink;
  38. class ODLinkSource;
  39. class ODTypeList;
  40. class ODEventData;
  41. class ODPart;
  42. class ODDragItemIterator;
  43. class ODCanvas;
  44. class ODExtension;
  45.  
  46. //==============================================================================
  47. // CPRedPart
  48. //==============================================================================
  49.  
  50. class CPRedPart
  51. {
  52. public:
  53.                 CPRedPart();
  54.                 ~CPRedPart();
  55.  
  56.     // Ñ╩ODPersistentObject Ñ
  57.     void        Externalize        (Environment* ev);
  58.  
  59.     void        InitPart           (Environment* ev, ODStorageUnit* storageUnit, ODPart* partWrapper);
  60.     void        InitPartFromStorage(Environment* ev, ODStorageUnit* storageUnit, ODPart* partWrapper);
  61.     void        Draw               (Environment* ev, ODFacet* facet, ODShape* invalidShape);
  62.     ODID        Open               (Environment* ev, ODFrame* frame);
  63.     void        ReleaseAll         (Environment* ev);
  64.  
  65.  
  66.     // Ñ UI Events Ñ
  67.     ODBoolean    HandleEvent          (Environment* ev, ODEventData* event, ODFrame* frame,
  68.                                                        ODFacet* facet);
  69.     ODBoolean    HandleEventInEmbedded(Environment* ev, ODEventData* event, ODFrame* frame,
  70.                                                        ODFacet* facet, ODFrame* embeddedFrame,
  71.                                                        ODFacet* embeddedFacet);
  72.  
  73.     void        MouseEnter (Environment* ev, ODFacet* facet, ODPoint* where);
  74.     void        MouseWithin(Environment* ev, ODFacet* facet, ODPoint* where);
  75.     void        MouseLeave (Environment* ev, ODFacet* facet);
  76.     void        AdjustMenus(Environment* ev, ODFrame* frame);
  77.  
  78.  
  79. protected:
  80.  
  81.     void        MyCommonInitPart (Environment* ev);
  82.     void        MySetDirty       (Environment* ev);
  83.     ODWindow*    MyMakeWindow     (Environment* ev, ODFrame* sourceFrame);
  84.     ODBoolean    MyWantResizable     (void);
  85.  
  86.     void        MyShowPartsBin   (Environment* ev, ODFrame* frame);
  87.     void        MyHidePartsBin   (Environment* ev);
  88.     ODBoolean    MyHandleMenuEvent(Environment* ev, ODFrame* frame, ODEventData* event);
  89.     ODBoolean    MyHandleMouseDown(Environment* ev, ODEventData* event, ODFrame* frame,
  90.                                                    ODFacet* facet);
  91.     ODBoolean    MyUsedShapeHandleMouseDown(Environment* ev, ODEventData* event, ODFrame* frame,
  92.                                                    ODFacet* facet);
  93.     void        MyInvalAllFacets (Environment* ev);
  94.     ODShape*    MyGetFrameShape  (Environment* ev, ODFrame* frame);
  95.     ODShape*    MyGetUsedShape   (Environment* ev, ODFrame* frame);
  96.     void        MyAdjustFacets   (Environment* ev, ODFrame* frame);
  97.  
  98.  
  99.     // CPRedPart - implementation-specific methods:
  100.  
  101.  
  102. private:
  103.  
  104.     Boolean                fDirty;
  105.     ODID                fWindowID;
  106.  
  107.     ODSession*            fSession;
  108.  
  109.     ODID                fPartsBinWin;
  110.     ODBoolean            fPartsBinOpen;
  111.  
  112.     ODFocusSet*         fFocusSet;
  113.     ODTypeToken            fSelectionFocus;
  114.     ODTypeToken            fMenuFocus;
  115.     ODTypeToken            fKeyFocus;
  116.     ODTypeToken            fModalFocus;
  117.     
  118.     ODMenuBar*             fMenuBar;
  119.  
  120.     long                fCount; //geèndert, jl    
  121.  
  122.     ODPart*                fPartWrapper;        // Passed into InitPart and InitPartFromStorage.
  123.     FacetList            fFacets;            // List of all my visible facets
  124.     MenuHandle            fMenu;                // Handle to my one (so far) menu
  125.  
  126.     // CPRedPart - implementation-specific fields:
  127.  
  128. public:
  129.  
  130.     // Ñ╩ODObject Ñ
  131.     ODBoolean        HasExtension(Environment* ev, ODType extensionName);
  132.     ODExtension*    GetExtension(Environment* ev, ODType extensionName);
  133.     void            ReleaseExtension(Environment* ev, ODExtension* extension);
  134.     ODSize            Purge(Environment* ev, ODSize size);
  135.  
  136.     // Ñ╩ODRefCntObject Ñ
  137.     void          IncrementRefCount(Environment* ev);
  138.     void        Release(Environment* ev);
  139.     
  140.     // Ñ╩ODPersistentObject Ñ
  141.     void        CloneInto(Environment* ev, ODDraftKey key, ODStorageUnit* toSU, ODFrame* scope);
  142.  
  143.     // Ñ DragAndDrop Ñ
  144.     void            FulfillPromise(Environment* ev, ODStorageUnitView *promiseSUView);
  145.     void            DropCompleted (Environment* ev, ODPart* destPart, ODDropResult dropResult);
  146.     ODDragResult    DragEnter     (Environment* ev, ODDragItemIterator* dragInfo, ODFacet* facet,
  147.                                                     ODPoint* where);
  148.     ODDragResult    DragWithin    (Environment* ev, ODDragItemIterator* dragInfo, ODFacet* facet,
  149.                                                     ODPoint* where);
  150.     void            DragLeave     (Environment* ev, ODFacet* facet, ODPoint* where);
  151.     ODDropResult    Drop          (Environment* ev, ODDragItemIterator* dropInfo, ODFacet* facet,
  152.                                                     ODPoint* where);
  153.  
  154.     // Ñ Embedding Ñ
  155.     void            ContainingPartPropertiesChanged(Environment* ev, ODFrame* frame,
  156.                                                                      ODStorageUnit* propertyUnit);
  157.     ODStorageUnit*    GetContainingPartProperties    (Environment* ev, ODFrame* frame);
  158.     ODBoolean        RevealFrame                    (Environment* ev, ODFrame* embeddedFrame,
  159.                                                                      ODShape* revealShape);
  160.     void            EmbeddedFrameSpec              (Environment* ev, ODFrame* embeddedFrame,
  161.                                                                      ODObjectSpec spec);
  162.     ODEmbeddedFramesIterator*
  163.                     CreateEmbeddedFramesIterator   (Environment* ev, ODFrame* frame);
  164.  
  165.     // Ñ Frame Ñ
  166.     void        DisplayFrameAdded    (Environment* ev, ODFrame* frame);
  167.     void        DisplayFrameRemoved (Environment* ev, ODFrame* frame);
  168.     void        DisplayFrameConnected (Environment* ev, ODFrame* frame);
  169.     void        DisplayFrameClosed  (Environment* ev, ODFrame* frame);
  170.     void        AttachSourceFrame   (Environment* ev, ODFrame* frame, ODFrame* sourceFrame);
  171.     void        FrameShapeChanged   (Environment* ev, ODFrame* frame);
  172.     void        ViewTypeChanged     (Environment* ev, ODFrame* frame);
  173.     void        PresentationChanged (Environment* ev, ODFrame* frame);
  174.     void        SequenceChanged     (Environment* ev, ODFrame* frame);
  175.     void        WritePartInfo       (Environment* ev, ODPtr partInfo,
  176.                                                       ODStorageUnitView* storageUnitView);
  177.     ODPtr        ReadPartInfo        (Environment* ev, ODFrame* frame,
  178.                                                       ODStorageUnitView* storageUnitView);
  179.     ODFrame*    RequestEmbeddedFrame(Environment* ev, ODFrame* containingFrame, ODFrame* baseFrame,
  180.                                                       ODShape* frameShape, ODPart* embedPart,
  181.                                                       ODTypeToken viewType, ODTypeToken presentation,
  182.                                                        ODBoolean isOverlaid);
  183.     void        RemoveEmbeddedFrame (Environment* ev, ODFrame* embeddedFrame);
  184.     ODShape*    RequestFrameShape   (Environment* ev, ODFrame* embeddedFrame, ODShape* frameShape);
  185.     void        UsedShapeChanged    (Environment* ev, ODFrame* embeddedFrame);
  186.     ODShape*    AdjustBorderShape   (Environment* ev, ODFacet* embeddedFacet, ODShape* shape);
  187.  
  188.     // Ñ Facet Ñ
  189.     void        FacetAdded     (Environment* ev, ODFacet* facet);
  190.     void        FacetRemoved   (Environment* ev, ODFacet* facet);
  191.     void        CanvasChanged  (Environment* ev, ODFacet* facet);
  192.     void        GeometryChanged(Environment* ev, ODFacet* facet, ODBoolean clipShapeChanged,
  193.                                 ODBoolean externalTransformChanged);
  194.  
  195.     // Ñ Imaging Ñ
  196.     void        CanvasUpdated     (Environment* ev, ODCanvas* canvas);
  197.     void        HighlightChanged  (Environment* ev, ODFacet* facet);
  198.     ODULong        GetPrintResolution(Environment* ev, ODFrame* frame);
  199.  
  200.     // Ñ Linking Ñ
  201.     ODLink*        CreateLink          (Environment* ev, ODPtr data, ODULong size);
  202.     void        LinkUpdated         (Environment* ev, ODLink* updatedLink, ODChangeID id);
  203.     void        RevealLink          (Environment* ev, ODLinkSource* linkSource);
  204.     void        EmbeddedFrameChanged(Environment* ev, ODFrame* frame, ODChangeID change);
  205.     void        LinkStatusChanged   (Environment* ev, ODFrame* frame);
  206.  
  207.     // Ñ Memory Management Ñ
  208.  
  209.     // Ñ Part Activation Ñ
  210.     ODBoolean    BeginRelinquishFocus (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame,
  211.                                                        ODFrame* proposedFrame);
  212.     void        CommitRelinquishFocus(Environment* ev, ODTypeToken focus, ODFrame* ownerFrame,
  213.                                                        ODFrame* proposedFrame);
  214.     void        AbortRelinquishFocus (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame,
  215.                                                        ODFrame* proposedFrame);
  216.     void        FocusAcquired        (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame);
  217.     void        FocusLost            (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame);
  218.  
  219.     // Ñ Binding Ñ
  220.     void        ExternalizeKinds(Environment* ev, ODTypeList* kindList);
  221.     void        ChangeKind      (Environment* ev, ODType kind);
  222.  
  223.     // Ñ Undo Ñ
  224.     void        UndoAction        (Environment* ev, ODActionData actionState);
  225.     void        RedoAction        (Environment* ev, ODActionData actionState);
  226.     void        DisposeActionState(Environment* ev, ODActionData actionState, ODDoneState doneState);
  227.     void        WriteActionState  (Environment* ev, ODPtr actionState,
  228.                                                     ODStorageUnitView* storageUnitView);
  229.     ODPtr        ReadActionState   (Environment* ev, ODStorageUnitView* storageUnitView);
  230.     
  231.     // Ñ Inline field getters Ñ //
  232.     
  233.     ODBoolean    IsDirty() {return fDirty;}
  234.  
  235. };
  236.  
  237. #endif
  238.  
  239.