home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / BETA / SAMPLES / OPENDOC / PARTS / CNTNRPRT / CNTNRPRT.IDL < prev    next >
Text File  |  1995-12-13  |  23KB  |  603 lines

  1. #ifdef __PRIVATE__
  2.  
  3. //#
  4. //#     File:           CntnrPrt.idl
  5. //#
  6. //#     Contains:       IDL description of Container Part
  7. //#
  8. //#     Written by:     Jason Crawford
  9. //#
  10. //#     Copyright:      (c) 1994 by IBM Corp., all rights reserved.
  11. //#
  12. //#     Change History (most recent first):
  13. //#
  14. //#         146974       12/12/95       ced     Changes for Open As Window rework
  15. //#         144532       11/21/95       ced     Added _fContentSU, change var BGColor to long
  16. //#         137002       09/15/95       jso     Added getbgcolor for notebook to query
  17. //#         128682       09/14/95       faa     Implement cut/copy/paste functions
  18. //#         134597       8/27/95        ced     Disable multithreaded drawing for now
  19. //#         131406       8/16/95        st      separate MRI into own DLL
  20. //#         131094       08/14/95       faa     When Container focus is lost, selected items remain selected
  21. //#         127685       08/08/95       map     Implement multithreaded drawing
  22. //#         128683       07/25/95       faa     Implement select all/deselect all function
  23. //#         127858       07/20/95       aht     Add scripting support: change background color via osa event
  24. //#         126859       06/24/95       st      more menu code-adjusting popup/selected phase I
  25. //#         124281       06/06/95       BLG     Added new routine (DisplayStatusLineText)
  26. //#                                             to put text to status line - Need to have
  27. //#                                             status line focus (new flag) to display text.
  28. //#         124371       06/02/95       ced     change HandleMouseXXXX method names to HandleButton#XXXX
  29. //#                                             Add methods & instance vars for scaling & rotating
  30. //#         123945       05/31/95       pfe     added fSequence for frame sequence numbers
  31. //#         123149       05/23/95       ced     added support for mult selection
  32. //#              <4>     04/18/95       pfe     added GetDisplayFrames method for PartWindows
  33. //#              <3>     11/05/94       ced     Changes related to removal of
  34. //#                                             proxy regions (see cntnrprt.cpp)
  35. //#              <2>     10/7/94        ced     Add methods for tracking mouse
  36. //#              <1>      7/6/94        jlc     first checked in
  37. //#
  38. //#     To Do:
  39. //#
  40. #else
  41. //#     Copyright:      (c) 1993-1994 by IBM Corp., all rights reserved.
  42. #endif
  43.  
  44.  
  45. #ifndef _CNTNRPRT_
  46. #define _CNTNRPRT_
  47.  
  48. #ifndef _PART_
  49. #include "Part.idl"
  50. #endif
  51.  
  52. interface ODWindow;
  53. interface ODFocusSet;
  54. //interface ODFrame;
  55. interface ODMenuBar;
  56. interface ODSemanticInterface;
  57. interface ODSettingsExtension;
  58. interface ODSession;
  59. interface ODTransform;
  60. interface M_ContainerPart;
  61. interface ODStatusLineExtension;
  62. interface ODPopup;
  63. interface ODViewExtension;
  64.  
  65.  
  66.  
  67. //#ifdef __PRIVATE__
  68. //=====================================================================================
  69. // Implementation Types
  70. //=====================================================================================
  71.  
  72. interface ODxOrderedCollection;
  73. typedef somToken Proxy;
  74. typedef somToken FacetClip;
  75. #ifdef _PLATFORM_OS2_
  76.    typedef long PRNINFO;
  77.    typedef long HDC;
  78.    typedef unsigned long HMODULE;
  79.    typedef long HRGN;
  80.    typedef void* PPOLYGON;
  81.    typedef long TID;          // [127685]
  82.    typedef void* SemHandle;   // [127685]
  83. #else
  84.    typedef somToken TPrPort;
  85.    typedef somToken THPrint;
  86. #endif
  87.  
  88. #pragma somemittypes on
  89. enum TrackingMode {
  90.    kRubberBandSelection,
  91.    kBotLeftResize,
  92.    kTopLeftResize,
  93.    kTopRightResize,
  94.    kBotRightResize,
  95.    kRotateSelection,
  96.    kScaleSelection,
  97.    kSelectScaleOrigin,
  98.    kSelectRotateOrigin
  99. };
  100.  
  101. enum MouseMode {
  102.    kNormal,
  103.    kTracking,
  104.    kRotateSelectCenter,
  105.    kScaleSelectRefPoint
  106. };
  107.  
  108. enum TrackingUpdateMode {
  109.    kUpdateModeStart,
  110.    kUpdateModeContinue,
  111.    kUpdateModeEnd
  112. };
  113. #pragma somemittypes off
  114.  
  115. interface ContainerPart : ODPart
  116. {
  117.  
  118.  
  119.         ODSemanticInterface GetSemanticInterface();
  120.         #ifdef _PLATFORM_MAC_
  121.            void SetNewBounds( in ODFrame frame, in Rect r ) ;
  122.         #endif
  123.         Proxy* ProxyForFrame(in ODFrame frame);
  124.         ODFrame FrameFromProxyForContainingFrame(in Proxy* p, in ODFrame containingFrame);
  125.         void RemoveProxyObject(in Proxy* p);
  126.         void InvalidateProxy(in Proxy* proxy);
  127.         Proxy* CreateProxyObject(in ODShape frameShape, in ODTransform externalTransform,
  128.                                  in ODPart embedPart, in ODBoolean isOverLaid);
  129.         FacetClip* FindFacetClip(in ODFacet facet);
  130.         void CreateProxySelectionBorder();
  131.         ODBoolean NormalizeProxyGeometry(in Proxy* p);
  132.         void SetProxyFrameShapes(in Proxy* p);
  133.         void SetFrameSelected(in ODFrame frame, in ODBoolean isSelected);
  134.         void InvalidateSelection(in ODFrame frame);
  135.         void Invalidate();
  136.         void ClipEmbeddedFrames(in ODFrame frame);
  137.         void ClipSelectionFromEmbeddedFrames(in ODFrame frame);
  138.         void ClipSelectionFromEmbeddedFacets(in ODFacet Facet);
  139.         void UnClipSelectionFromEmbeddedFrames(in ODFrame frame);
  140.         void UnClipSelectionFromEmbeddedFacets(in ODFacet Facet);
  141.  
  142. //        void CommonInitContainerPart(in ODPartWrapper partWrapper);
  143.         void CommonInitContainerPart();
  144.  
  145.         #ifdef _PLATFORM_MAC_
  146.            void LoadIcons();
  147.         #endif
  148.  
  149.         ODxOrderedCollection GetEmbeddedFrames();
  150.         ODxOrderedCollection GetDisplayFrames();
  151.         Proxy* ProxyForFrameID(in ODID frameID);
  152.  
  153.         #ifdef _PLATFORM_MAC_
  154.  
  155.            void HighlightSelection();
  156.            void HighlightProxyBorder(in Proxy* p);
  157.            void HighlightContentObject(in Proxy* p);
  158.            void ClipEmbeddedFacets(in ODFacet facet);
  159.         #else
  160.            void HighlightSelection( in ODFacet facet);
  161.            void HighlightProxyBorder( in Proxy *p, in ODFacet facet);
  162.            void HighlightContentObject( in Proxy *p, in ODFacet facet);
  163.            void ClipEmbeddedFacets( in ODFacet facet);
  164.         #endif
  165.  
  166.         void AdjustPopupMenu( in ODFrame frame );
  167.         void AdjustSelectedMenu(in ODFrame frame);
  168.         void ClearPopupMenu(in ODFrame frame);
  169.         void ClearSelectedMenu(in ODFrame frame);
  170.         void EmptySelection();
  171.         void ShowSelection(in ODFrame frame, in ODBoolean show);
  172.         ODBoolean HandleButton1Down( in ODFacet facet,
  173.                                    in ODPoint where,
  174.                                    in ODEventData event);
  175.         ODBoolean HandleButton1Click( in ODFacet facet,
  176.                                    in ODPoint where,
  177.                                    in ODEventData event);
  178.         ODBoolean HandleButton1MotionStart( in ODFacet facet,
  179.                                             in ODPoint where,
  180.                                             in ODEventData event);
  181.         ODBoolean HandleMouseDrag(in ODFacet container, in ODFacet facet, in ODPoint* mouse, in ODEventData event);
  182.         ODBoolean HandleButton1ClickInEmbeddedFrame( in ODFacet container,
  183.                                                  in ODFacet facet,
  184.                                                  in ODPoint where,
  185.                                                  in ODEventData event);
  186.         ODBoolean HandleButton1ClickInBorder( in ODFacet container,
  187.                                            in ODFacet facet,
  188.                                            in ODPoint where,
  189.                                            in ODEventData event);
  190.         ODBoolean HandleKeyDown(in ODFrame focusFrame, in ODEventData event);
  191.         ODBoolean HandleMenuEvent(in ODFrame focusFrame, in ODEventData event);
  192.         #ifdef _PLATFORM_OS2_
  193.            ODBoolean HandleMouseMove( in ODFacet facet,
  194.                                        in ODFrame frame,
  195.                                        in ODPoint where,
  196.                                        in ODEventData event);
  197.  
  198.            ODBoolean HandleButton1MotionEnd(in ODFacet facet,
  199.                                     in ODFrame frame,
  200.                                     in ODPoint where,
  201.                                     in ODEventData event);
  202.  
  203.            ODBoolean HandleButton1Up(in ODFacet facet,
  204.                                     in ODFrame frame,
  205.                                     in ODPoint where,
  206.                                     in ODEventData event);
  207.  
  208.            void ResetMouseMode();
  209.            void UpdateTrackRect(in ODPoint* ptMouse,
  210.                                  in ODFacet facet,
  211.                                  in TrackingUpdateMode updateMode);
  212.            void DrawPolygons(in HPS hps);
  213.  
  214.            void MouseFocusLost(in ODFrame ownerFrame);
  215.            ODBoolean BeginTrackingMouse(in ODFacet facet);
  216.         #else
  217.            ODBoolean HandlePageSetup(in ODFrame focusFrame);
  218.         #endif
  219.         ODBoolean HandlePrinting(in ODFrame frame, in char *QueueName);
  220.  
  221.         #ifdef _PLATFORM_MAC_
  222.            void CreateDefPrintRec();
  223.            ODFacet BeginPrinting(in ODFrame rootFrame, in TPrPort* thePrPort);
  224.            void PrintPage(in ODFacet prFacet, in ODUShort page);
  225.            void PrintDocument(in ODFrame frame);
  226.         #else
  227.            ODFacet BeginPrinting(in ODFrame rootFrame, in PRNINFO *pPI );
  228.            void PrintPage(in ODFacet prFacet, in ODUShort pagenum, in PRNINFO *pPI);
  229.            long PrintPages( in ODFrame frame , in PRNINFO *pPI )    ;
  230.         #endif
  231.         void EndPrinting(in ODFacet prFacet);
  232.         ODBoolean DoCut(in ODFrame frame);
  233.         ODBoolean DoCopy(in ODFrame frame);
  234.         ODBoolean DoPaste(in ODFrame frame);
  235.         ODBoolean DoPasteLink(in ODFrame frame);
  236.         ODBoolean DoClear(in ODFrame frame);
  237.         ODBoolean DoSelectAll(in ODFrame frame);
  238.         ODBoolean DoDeSelectAll(in ODFrame frame);
  239.         ODBoolean AllowPaste(in ODFrame frame);
  240.         ODBoolean CloneSelectionToClipboard(in ODFrame ownerFrame, in ODCloneKind cloneKind);
  241.         void PasteFrameFromClipboard(in ODFacet facet, in ODPoint where);
  242.  
  243.         ODBoolean ActivateFrame(in ODFrame frame);
  244.         void PartActivated(in ODFrame frame);
  245.         void ActivatingWindow(in ODFrame frame);
  246.         void DeActivatingWindow(in ODFrame frame);
  247.         void InstallMenus();
  248.         void RemoveMenus(in ODFrame aFrame);
  249.  
  250.         void UserSetBGColor(in ODFrame frame, in long whichColor);
  251.         void SetBGColor1(in ODFrame aFrame, in long whichColor); //@127858
  252.         void SetBGColor2(in ODFrame aFrame, in long whichColor);
  253.         void Embed(in short item, in ODFrame frame, out ODPart newPart);
  254.  
  255.         long  GetBGColor();
  256.  
  257.         ODFrame MakeEmbeddedFrame(in ODFrame containingFrame, 
  258.                         in Proxy* p,
  259.                         in ODBoolean isOverlaid);
  260.         void CloseEmbeddedFrame(in ODFrame frame);
  261.         ODWindow CreateWindow(in ODFrame sourceFrame);
  262.         #ifdef _PLATFORM_OS2_
  263.            ODBoolean MoveToFront(in ODFrame frame);
  264.            ODBoolean MoveToBack(in ODFrame frame);
  265.            ODBoolean MoveForward(in ODFrame frame);
  266.            ODBoolean MoveBackward(in ODFrame frame);
  267.            // -utilities-
  268.            void ClearAccelTable( in ODFrame oldOwner );
  269.            void SetAccelTable( in ODFrame newOwner );
  270.            // -demo-
  271.            long GetDemoState();
  272.             ODBoolean DisplayStatusLineText(in string str,in ODFrame curFrame );// 124281
  273.         #endif
  274.         void FreezeEmbeddedFrames(in ODBoolean freeze);
  275.         void CreateTrackingPolygons(in ODBoolean transformPoints);
  276.         void HandleColorMenu(in ODFrame frame, in ODCommandID command); //@127858
  277.  
  278. #ifdef __SOMIDL__
  279.         implementation
  280.         {
  281.                 functionprefix = ContainerPart;
  282.                 metaclass     = M_ContainerPart;
  283.                 majorversion = 1;
  284.                 minorversion = 0;
  285.  
  286.         releaseorder:
  287.                 GetSemanticInterface,
  288.                 ProxyForFrame,
  289.                 CreateProxySelectionBorder,
  290.                 InvalidateSelection,
  291.                 ClipEmbeddedFrames,
  292.                 CommonInitContainerPart,
  293.                 GetEmbeddedFrames,
  294.                 ProxyForFrameID,
  295.                 HighlightSelection,
  296.                 HighlightProxyBorder,
  297.                 HighlightContentObject,
  298.                 ClipEmbeddedFacets,
  299.                 EmptySelection,
  300.                 ShowSelection,
  301.                 HandleButton1Click,
  302.                 reserved01,
  303.                 HandleMouseDownDrag,
  304.                 reserved3,
  305.                 reserved4,
  306.                 HandleButton1ClickInEmbeddedFrame,
  307.                 HandleKeyDown,
  308.                 HandleMenuEvent,
  309.                 HandlePageSetup,
  310.                 HandlePrinting,
  311. #ifdef _PLATFORM_OS2_ // CED
  312.                 HandleMouseMove,
  313.                 HandleButton1MotionEnd,
  314.                 UpdateTrackRect,
  315.                 MouseFocusLost,
  316. #endif // _PLATFORM_OS2_
  317.                 GetDemoState,
  318.                 DisplayStatusLineText,
  319.                 CreateDefPrintRec,
  320.                 BeginPrinting,
  321.                 PrintPage,
  322.                 EndPrinting,
  323.                 PrintDocument,
  324.                 DoCut,
  325.                 DoCopy,
  326.                 DoPaste,
  327.                 DoPasteLink,
  328.                 DoClear,
  329.                 DoSelectAll,
  330.                 AllowPaste,
  331.                 PasteFrameFromClipboard,
  332.                 DoDeSelectAll,
  333.                 ActivateFrame,
  334.                 ActivatingWindow,
  335.                 DeActivatingWindow,
  336.                 InstallMenus,
  337.                 RemoveMenus,
  338.                 SetBGColor1,
  339.                 UserSetBGColor,
  340.                 SetBGColor2,
  341.                 Embed,
  342.                 reserved02,
  343.                 GetBGColor,
  344.                 MakeEmbeddedFrame,
  345.                 CreateWindow,
  346.                 MoveToFront,
  347.                 MoveToBack,
  348.                 MoveForward,
  349.                 MoveBackward,
  350.                 ClearAccelTable,
  351.                 SetAccelTable,
  352.                 AdjustPopupMenu,
  353.                 AdjustSelectedMenu,
  354.                 ClearSelectedMenu,
  355.                 ClearPopupMenu,
  356.                 PrintPages,
  357.                 GetDisplayFrames,
  358.                 SetFrameSelected,
  359.                 HandleButton1ClickInBorder,
  360.                 reserved5,
  361.                 HandleMouseDrag,
  362.                 ClipSelectionFromEmbeddedFrames,
  363.                 FindFacetClip,
  364.                 DrawPolygons,
  365.                 BeginTrackingMouse,
  366.                 HandleButton1Down,
  367.                 HandleButton1MotionStart,
  368.                 FreezeEmbeddedFrames,
  369.                 HandleButton1Up,
  370.                 ResetMouseMode,
  371.                 CreateTrackingPolygons,
  372.                 ClipSelectionFromEmbeddedFacets,
  373.                 HandleColorMenu,
  374.                 CloneSelectionToClipboard,
  375.                 PartActivated,
  376.                 UnClipSelectionFromEmbeddedFrames,
  377.                 UnClipSelectionFromEmbeddedFacets,
  378.                 FrameFromProxyForContainingFrame,
  379.                 RemoveProxyObject,
  380.                 CreateProxyObject,
  381.                 CloseEmbeddedFrame,
  382.                 InvalidateProxy,
  383.                 Invalidate,
  384.                 NormalizeProxyGeometry,
  385.                 SetProxyFrameShapes
  386.                 ;
  387.  
  388.         override:
  389.                 somInit,
  390.                 somUninit,
  391.                 FulfillPromise,
  392.                 DropCompleted,
  393.                 DragEnter,
  394.                 DragWithin,
  395.                 DragLeave,
  396.                 Drop,
  397.                 AcquireExtension,
  398.                 ReleaseExtension,
  399.                 HasExtension,
  400.                 ContainingPartPropertiesUpdated,
  401.                 AcquireContainingPartProperties,
  402.                 CreateRootMenuBar,
  403.                 RevealFrame,
  404.                 EmbeddedFrameSpec,
  405.                 CreateEmbeddedFramesIterator,
  406.                 DisplayFrameAdded,
  407.                 AttachSourceFrame,
  408.                 DisplayFrameRemoved,
  409.                 DisplayFrameConnected,
  410.                 DisplayFrameClosed,
  411.                 FrameShapeChanged,
  412.                 ViewTypeChanged,
  413.                 PresentationChanged,
  414.                 SequenceChanged,
  415.                 WritePartInfo,
  416.                 ReadPartInfo,
  417.                 ClonePartInfo,
  418.                 Open,
  419.                 RequestEmbeddedFrame,
  420.                 RemoveEmbeddedFrame,
  421.                 RequestFrameShape,
  422.                 UsedShapeChanged,
  423.                 AdjustBorderShape,
  424.                 FacetAdded,
  425.                 FacetRemoved,
  426.                 CanvasChanged,
  427.                 GeometryChanged,
  428.                 Draw,
  429.                 CanvasUpdated,
  430.                 HighlightChanged,
  431.                 GetPrintResolution,
  432.                 CreateLink,
  433.                 LinkUpdated,
  434.                 RevealLink,
  435.                 BreakLink,
  436.                 BreakLinkSource,
  437.                 LinkBroken,
  438.                 UpdateFromLinkSource,
  439.                 ShowLink,
  440.                 EmbeddedFrameUpdated,
  441.                 LinkStatusChanged,
  442.                 BeginRelinquishFocus,
  443.                 CommitRelinquishFocus,
  444.                 AbortRelinquishFocus,
  445.                 FocusAcquired,
  446.                 FocusLost,
  447.                 CloneInto,
  448.                 ExternalizeKinds,
  449.                 Externalize,
  450.                 ChangeKind,
  451.                 HandleEvent,
  452.               #ifdef B1C7
  453.                 HandleEventInEmbedded,
  454.                 MouseEnter,
  455.                 MouseWithin,
  456.                 MouseLeave,
  457.               #endif
  458.                 AdjustMenus,
  459.                 UndoAction,
  460.                 RedoAction,
  461.                 DisposeActionState,
  462.                 WriteActionState,
  463.                 ReadActionState,
  464.                 InitPart,
  465.                 InitPartFromStorage,
  466.                 ReleaseAll,
  467.                 Release;
  468.  
  469.     #if 1 //def __PRIVATE__
  470.                 passthru C_xh = ""
  471.                         "class ODFrame ;"
  472.                         "class ODTransform ;"
  473.                         #ifdef _PLATFORM_MAC_
  474.                            "struct Proxy {"
  475.                            "ODRgnHandle region;"
  476.                            "ODFrame* frame;"
  477.                            "ODTransform* transform;"
  478.                            "Proxy(ODRgnHandle r, ODFrame* f, ODTransform* t) {region = r; frame = f; transform = t; }"
  479.                            "};"
  480.                            "#include <Printing.h>"
  481.                            "#include <Quickdraw.h>";
  482.                         #else
  483.                            "struct Proxy;"
  484.                            "struct FacetClip;"
  485.                            "struct PRNINFO;";
  486.                         #endif
  487.                 passthru C_xih = " "
  488.                         #ifdef _PLATFORM_MAC_
  489.                            "typedef Handle ODIcon;"
  490.                         #endif
  491.                 ;
  492.     #endif
  493.  
  494.     #ifdef __PRIVATE__
  495.         // instance variables
  496.              ODxOrderedCollection       fDisplayFrames;
  497.              ODxOrderedCollection       fEmbeddedFrames;
  498.              ODID                       fWindowID;     // ID of View As Window window
  499.  
  500.              ODULong                    fFrameGroupIDCounter; // B1C7
  501.              ODULong                    fSequence; //[pfe] 123945
  502.  
  503.              POINTL                     fDragStart;
  504.  
  505.              long                       fBGColor; // background color of display frames
  506.              ODxOrderedCollection       fContents;
  507.              ODxOrderedCollection       fSelection;
  508.              ODStorageUnit              fContainerSU;
  509.  
  510.              ODShape                    fSelectShape;
  511.              ODRect                     fSelectRect;
  512.  
  513.              //ODIcon                   fLargeIcons;
  514.              //ODIcon                   fSmallIcons;
  515.  
  516.              ODFocusSet                 fFocusSet;
  517.              ODTypeToken                fSelectionFocus;
  518.              ODTypeToken                fMenuFocus;
  519.              ODTypeToken                fKeyFocus;
  520.              ODTypeToken                fMouseFocus;
  521.              ODTypeToken      fClipboardFocus;
  522.  
  523.              ODSemanticInterface        fSemtIntf;
  524.  
  525.  
  526.              ODSession                  fSession;
  527.              ODStorageUnit              fTestDrawSU;
  528.              ODBoolean                  fNeedToExternalize;
  529.              ODBoolean                  fPasteOn;
  530.              ODBoolean                  fPasteESC;
  531.              ODSettingsExtension        fNotebook;
  532.              ODPart                     fPartWrapper;
  533.              #ifdef _PLATFORM_MAC_
  534.  
  535.                 ODMenuBar               fMenuBar;
  536.  
  537.                 MenuHandle              fEmbedMenu;
  538.                 MenuHandle              fColorMenu;
  539.                 MenuHandle              fFrameMenu;
  540.  
  541.  
  542.                 THPrint         fPrintRecord;
  543.              #else
  544.                 HPS               hpsMem;
  545.                 HDC               hdcMem;
  546.                 HMODULE           hmod;
  547.                 ODPopup           fPopup;
  548.                 ODMenuBar         fMenuBar;
  549.  
  550.                 ODPoint           mouseStart;
  551.                 ODFacet           fTrackingFacet; // facet tracking the mouse
  552.                 TrackingMode      fTrackingMode;
  553.  
  554.                 ODPoint           ptOrigin;   // origin of tracking rect
  555.                 ODPoint           ptEnd;      // end of tracking rect
  556.                 ODPoint           ptMouseOffset;
  557.                 ODPoint           ptRef;
  558.                 PPOLYGON          fPolygons;
  559.                 ODULong           fNumPolygons;
  560.  
  561.                 // just for the sake of debugging, we'll have a menu item
  562.                 //   for toggling the check and enable state of another
  563.                 //   menu item.  It will toggle between four states.
  564.                 long DemoState;
  565.                 long DemoOpenCount;
  566.                 ODMenuBar     fSPEMenuOfSelection;
  567.                 ODMenuBar     fRemappedSPEMenuOfSelection;
  568.                 ODTypeToken                fStatusFocus;
  569.                 ODStatusLineExtension      fStatusLn;
  570.                 ODFrame       fSelectionFrame;
  571.                 ODFrame       fPasteFrame;
  572.                 ODViewExtension   fViewExtension;
  573.                 MouseMode     fMouseMode;
  574.                 ODBoolean     fIgnoreContextMenu;
  575.                 ODxOrderedCollection fSavedFacetClipShapes;
  576.                 ODBoolean         fDropAccepted; // [140007]
  577.              #endif
  578.     #endif
  579.  
  580.         };
  581. #endif
  582. };
  583.  
  584. interface M_ContainerPart : M_ODPart
  585. {
  586.  
  587. #ifdef __SOMIDL__
  588.   implementation
  589.   {
  590.     functionprefix = M_ContainerPart;
  591.     override:
  592.       clsGetODPartHandlerName,
  593.       clsGetODPartHandlerDisplayName,
  594.       clsGetODPartKinds,
  595.       clsGetOLE2ClassId,
  596.       clsGetWindowsIconFileName;
  597.   };
  598. #endif
  599. };
  600.  
  601. #endif  // _CNTNRPRT_
  602.  
  603.