home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osr1.exe / src / Frame.idl < prev    next >
Text File  |  1997-03-21  |  12KB  |  427 lines

  1. /* @(#)Z 1.4 com/src/layout/idl/Frame.idl, odlayout, od96os2, odos29712d 97/03/21 17:18:28 (96/07/15 18:32:47) */
  2. //#====START_GENERATED_PROLOG======================================
  3. //#
  4. //#
  5. //#   COMPONENT_NAME: odlayout
  6. //#
  7. //#   CLASSES: none
  8. //#
  9. //#   ORIGINS: 82,27
  10. //#
  11. //#
  12. //#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  13. //#   All Rights Reserved
  14. //#   Licensed Materials - Property of IBM
  15. //#   US Government Users Restricted Rights - Use, duplication or
  16. //#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  17. //#       
  18. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  19. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  21. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  22. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  23. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  24. //#   OR PERFORMANCE OF THIS SOFTWARE.
  25. //#
  26. //#====END_GENERATED_PROLOG========================================
  27. //#
  28. #ifdef __PRIVATE__
  29. //#
  30. //#    File:       Frame.idl
  31. //#
  32. //#    Contains:   SOM class definition for ODFrame
  33. //#
  34. //#    Owned by:   Joshua Susser
  35. //#
  36. //#    Copyright:  (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  37. //#
  38. //#    Change History (most recent first):
  39. //#
  40. //#        <19>     9/13/95    DM      1277216 GM:API return no ODPoints nor
  41. //#                                    ODPolygons
  42. //#        <18>     8/25/95    JBS     1263078 FB: fix part editor swapping;
  43. //#                                    1278052 FB: add InLimbo flag
  44. //#        <17>     8/18/95    JBS     1275241 IDL Review
  45. //#        <16>      8/3/95    RR      #1257260: Collapse B classes. Remove
  46. //#                                    somInit methods. Don't call IsInitialized
  47. //#                                    or SubclassResponsibility
  48. //#        <15>     6/23/95    JBS     1261323 InitFrame: add isSubframe, remove
  49. //#                                    isRoot
  50. //#        <14>     5/25/95    VL      1251403: Multithreading naming support.
  51. //#        <13>      5/4/95    JBS     1243651 added fValidState
  52. //#        <12>     3/28/95    JBS     1229656 add EditInLink()
  53. //#        <11>     2/15/95    JBS     1198600 added private SetDirty
  54. //#        <10>     9/26/94    JBS     1186332, 1188981 - nonpersistence; 1183568
  55. //#                                    - keep fIsDirty flag
  56. //#         <9>      9/6/94    CC      1153777: Added fLinkStatus field.
  57. //#         <8>     8/26/94    VL      1183174: Removed CloneTo.
  58. //#         <7>     8/15/94    JBS     1180387: added Imaging factory methods
  59. //#         <6>     8/10/94    JBS     1179919: coordinate system bias changes;
  60. //#                                    1179920: Frame::GetWindow()
  61. //#         <5>      7/7/94    JBS     added ReleaseAll override
  62. //#         <4>     6/29/94    JBS     #1155479: frameGroup & sequenceNumber
  63. //#         <3>     6/22/94    JBS     add functionprefix
  64. //#         <2>      6/8/94    NP      Restore lost changes.
  65. //#         <6>      6/7/94    RR      Privatise change log
  66. //#
  67. #else
  68. //#    Copyright:  (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  69. #endif
  70.  
  71. #ifndef _FRAME_
  72. #define _FRAME_
  73.  
  74. #ifndef _PSTOBJ_
  75. #include "PstObj.idl"
  76. #endif
  77.  
  78. //==============================================================================
  79. // Classes defined in this interface
  80. //==============================================================================
  81.  
  82. interface  ODFrame;
  83.  
  84. //==============================================================================
  85. // Classes used by this interface
  86. //==============================================================================
  87.  
  88. interface  ODFrameFacetIterator;
  89.  
  90. interface  ODCanvas;
  91. interface  ODFacet;
  92. interface  ODPart;
  93. interface  ODShape;
  94. interface  ODTransform;
  95. interface  ODWindow;
  96.  
  97. #ifdef __PRIVATE__
  98. interface  ODDraft;
  99. interface  ODStorageUnit;
  100. #endif
  101.  
  102. #ifdef __PRIVATE__
  103. //==============================================================================
  104. // Implementation Types
  105. //==============================================================================
  106.  
  107. typedef somToken OrderedCollection;
  108. #endif
  109.  
  110. //==============================================================================
  111. // ODFrame
  112. //==============================================================================
  113.  
  114. interface ODFrame :  ODPersistentObject
  115. {
  116.    //# containing frame
  117.  
  118.    ODFrame     AcquireContainingFrame();
  119.  
  120.    void        SetContainingFrame(in ODFrame frame);
  121.  
  122.    //# window
  123.  
  124.    ODWindow    AcquireWindow();
  125.  
  126.    void        SetWindow(in ODWindow window);
  127.  
  128.    //# getters/setters:
  129.  
  130.    ODULong     GetFrameGroup();
  131.  
  132.    void        SetFrameGroup(in ODULong groupID);
  133.  
  134.    ODULong     GetSequenceNumber();
  135.  
  136.    void        ChangeSequenceNumber(in ODULong sequenceNumber);
  137.  
  138.    ODBoolean   IsRoot();
  139.  
  140.    ODBoolean   IsSubframe();
  141.  
  142.    void        SetSubframe(in ODBoolean isSubframe);
  143.  
  144.    ODBoolean   IsOverlaid();
  145.  
  146.    ODBoolean   IsFrozen();
  147.  
  148.    void        SetFrozen(in ODBoolean isFrozen);
  149.  
  150.    ODBoolean   DoesPropagateEvents();
  151.  
  152.    void        SetPropagateEvents(in ODBoolean doesPropagateEvents);
  153.  
  154.    ODBoolean   IsInLimbo();
  155.  
  156.    void        SetInLimbo(in ODBoolean isInLimbo);
  157.  
  158.    //# part
  159.  
  160.    ODPart      AcquirePart();
  161.  
  162.    void        ChangePart(in ODPart part);
  163.  
  164.    ODInfoType  GetPartInfo();
  165.  
  166.    void        SetPartInfo(in ODInfoType partInfo);
  167.  
  168.    ODTypeToken GetViewType();
  169.  
  170.    void        SetViewType(in ODTypeToken viewType);
  171.  
  172.    void        ChangeViewType(in ODTypeToken viewType);
  173.  
  174.    ODTypeToken GetPresentation();
  175.  
  176.    void        SetPresentation(in ODTypeToken presentation);
  177.  
  178.    void        ChangePresentation(in ODTypeToken presentation);
  179.  
  180.    //# facets
  181.  
  182.    void        FacetAdded(in ODFacet facet);
  183.  
  184.    void        FacetRemoved(in ODFacet facet);
  185.  
  186.    ODFrameFacetIterator    CreateFacetIterator();
  187.  
  188.    //# shapes:
  189.  
  190.    ODShape     CreateShape();
  191.  
  192.    //# frame shape
  193.  
  194.    ODShape     AcquireFrameShape(in ODCanvas biasCanvas);
  195.  
  196.    void        ChangeFrameShape(in ODShape shape, in ODCanvas biasCanvas);
  197.  
  198.    ODShape     RequestFrameShape(in ODShape shape, in ODCanvas biasCanvas);
  199.  
  200.    //# used shape
  201.  
  202.    ODShape     AcquireUsedShape(in ODCanvas biasCanvas);
  203.  
  204.    void        ChangeUsedShape(in ODShape shape, in ODCanvas biasCanvas);
  205.  
  206.    //# transformations:
  207.  
  208.    ODTransform CreateTransform();
  209.  
  210.    ODTransform AcquireInternalTransform(in ODCanvas biasCanvas);
  211.  
  212.    void        ChangeInternalTransform(in ODTransform transform, in ODCanvas biasCanvas);
  213.  
  214.    //# content extent:
  215.  
  216.    void        GetContentExtent(out ODPoint contentExtent);
  217.  
  218.    void        ChangeContentExtent(in ODPoint contentExtent);
  219.  
  220.    //# drag&drop:
  221.  
  222.    ODBoolean   IsDroppable();
  223.  
  224.    void        SetDroppable(in ODBoolean isDroppable);
  225.  
  226.    ODBoolean   IsDragging();
  227.  
  228.    void        SetDragging(in ODBoolean isDragging);
  229.  
  230.    //# linking:
  231.  
  232.    void        ContentUpdated(in ODUpdateID change);
  233.  
  234.    void        ChangeLinkStatus(in ODLinkStatus status);
  235.  
  236.    ODLinkStatus GetLinkStatus();
  237.  
  238.    ODBoolean   EditInLink();
  239.  
  240.    //# invalidation/draw:
  241.  
  242.    void        Invalidate(in ODShape invalidShape, in ODCanvas biasCanvas);
  243.  
  244.    void        Validate(in ODShape validShape, in ODCanvas biasCanvas);
  245.  
  246.    void        InvalidateActiveBorder();
  247.  
  248.    void        DrawActiveBorder();
  249.  
  250.    //# ref counting
  251.  
  252.    void        Close();
  253.  
  254.    void        Remove();
  255.  
  256. //# Private to implementation
  257.  
  258. #ifdef __PRIVATE__
  259.  
  260.    OrderedCollection* GetFacets();
  261.  
  262.    void PrepareToSwap(in ODPart part);
  263.  
  264.    void SetDirty(in ODULong dirtyProperty);
  265.  
  266.    void CommonInitFrame();
  267.  
  268.    void InitFrame(in ODStorageUnit storageUnit,
  269.                   in ODFrame containingFrame,
  270.                   in ODShape frameShape,
  271.                   in ODCanvas biasCanvas,
  272.                   in ODPart part,
  273.                   in ODTypeToken viewType,
  274.                   in ODTypeToken presentation,
  275.                   in ODBoolean isSubframe,
  276.                   in ODBoolean isOverlaid);
  277.  
  278.    void InitFrameFromStorage(in ODStorageUnit  storageUnit);
  279.  
  280.    void InitFrameNonPersistent(in ODDraft draft,
  281.                                in ODID id,
  282.                                in ODFrame containingFrame,
  283.                                in ODShape frameShape,
  284.                                in ODCanvas biasCanvas,
  285.                                in ODPart part,
  286.                                in ODTypeToken viewType,
  287.                                in ODTypeToken presentation,
  288.                                in ODBoolean isSubframe,
  289.                                in ODBoolean isOverlaid);
  290. #endif
  291.  
  292. #ifdef __SOMIDL__
  293.    implementation
  294.    {
  295.        majorversion = 1; minorversion = 0;
  296.  
  297.        functionprefix = ODFrame;
  298.  
  299.        override:
  300.            somUninit,
  301.            Purge,
  302.            Release,
  303.            ReleaseAll,
  304.            Externalize,
  305.            GetID,
  306.            CloneInto;
  307.  
  308.        releaseorder:
  309.            AcquireContainingFrame,
  310.            SetContainingFrame,
  311.            AcquireWindow,
  312.            SetWindow,
  313.            GetFrameGroup,
  314.            SetFrameGroup,
  315.            GetSequenceNumber,
  316.            ChangeSequenceNumber,
  317.            IsRoot,
  318.            IsSubframe,
  319.            SetSubframe,
  320.            IsOverlaid,
  321.            IsFrozen,
  322.            SetFrozen,
  323.            DoesPropagateEvents,
  324.            SetPropagateEvents,
  325.            IsInLimbo,
  326.            SetInLimbo,
  327.            AcquirePart,
  328.            ChangePart,
  329.            GetPartInfo,
  330.            SetPartInfo,
  331.            GetViewType,
  332.            SetViewType,
  333.            ChangeViewType,
  334.            GetPresentation,
  335.            SetPresentation,
  336.            ChangePresentation,
  337.            FacetAdded,
  338.            FacetRemoved,
  339.            CreateFacetIterator,
  340.            CreateShape,
  341.            AcquireFrameShape,
  342.            ChangeFrameShape,
  343.            RequestFrameShape,
  344.            AcquireUsedShape,
  345.            ChangeUsedShape,
  346.            CreateTransform,
  347.            AcquireInternalTransform,
  348.            ChangeInternalTransform,
  349.            GetContentExtent,
  350.            ChangeContentExtent,
  351.            IsDroppable,
  352.            SetDroppable,
  353.            IsDragging,
  354.            SetDragging,
  355.            ContentUpdated,
  356.            ChangeLinkStatus,
  357.            GetLinkStatus,
  358.            EditInLink,
  359.            Invalidate,
  360.            Validate,
  361.            InvalidateActiveBorder,
  362.            DrawActiveBorder,
  363.            Close,
  364.            Remove,
  365.        #ifdef __PRIVATE__
  366.            GetFacets,
  367.            SetDirty,
  368.            CommonInitFrame,
  369.            InitFrame,
  370.            InitFrameFromStorage,
  371.            InitFrameNonPersistent,
  372.            PrepareToSwap;
  373.        #else
  374.            reserved1,
  375.            reserved2,
  376.            reserved3,
  377.            reserved4,
  378.            reserved5,
  379.            reserved6,
  380.            reserved7;
  381.        #endif
  382.  
  383.    #ifdef __PRIVATE__
  384.        passthru C_xh = 
  385.        ""
  386.        "class OrderedCollection;"
  387.        "";
  388.  
  389.        ODDraft             fDraft;
  390.        ODID                fNPID;
  391.        ODULong             fDirty;
  392.  
  393.        ODFrame             fContainingFrame;
  394.        OrderedCollection*  fFacets;
  395.        ODWindow            fWindow;
  396.  
  397.        ODShape             fFrameShape;
  398.        ODShape             fUsedShape;
  399.        ODTransform         fInternalTransform;
  400.        ODPoint             fContentExtent;
  401.  
  402.        ODPart              fPart;
  403.        ODInfoType          fPartInfo;
  404.        ODTypeToken         fViewType;
  405.        ODTypeToken         fPresentation;
  406.  
  407.        ODULong             fFrameGroup;
  408.        ODULong             fSequenceNumber;
  409.  
  410.        ODLinkStatus        fLinkStatus;
  411.        ODBoolean           fIsRoot;
  412.        ODBoolean           fIsSubframe;
  413.        ODBoolean           fIsOverlaid;
  414.        ODBoolean           fIsFrozen;
  415.        ODBoolean           fIsDroppable;
  416.        ODBoolean           fIsDragging;
  417.        ODBoolean           fDoesPropagateEvents;
  418.        ODBoolean           fIsInLimbo;
  419.  
  420.        ODUShort            fValidState;
  421.    #endif
  422.    };
  423. #endif
  424. };
  425.  
  426. #endif //# _FRAME_
  427.