home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osp1.exe / src / basecntr / iodbasec.idl < prev    next >
Text File  |  1997-04-02  |  25KB  |  656 lines

  1. /* @(#) 1.65 com/src/samples/basecntr/iodbasec.idl, odbasepart, od96os2, odos29712d 3/17/97 20:16:01 [3/21/97 17:45:28] */
  2.  
  3. //#====START_GENERATED_PROLOG======================================
  4. //#
  5. //#
  6. //#   COMPONENT_NAME: odsamples
  7. //#
  8. //#   CLASSES: none
  9. //#
  10. //#   ORIGINS: 82,27
  11. //#
  12. //#
  13. //#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  14. //#   All Rights Reserved
  15. //#   Licensed Materials - Property of IBM
  16. //#   US Government Users Restricted Rights - Use, duplication or
  17. //#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  18. //#
  19. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  20. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  21. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  22. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  23. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  24. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  25. //#   OR PERFORMANCE OF THIS SOFTWARE.
  26. //#
  27. //#====END_GENERATED_PROLOG========================================
  28. //#
  29.  
  30.  
  31. #ifndef _CONTAINER_
  32. #define _CONTAINER_
  33.  
  34. #ifndef _PART_
  35. #include "Part.idl"
  36. #endif
  37.  
  38.  
  39. //======================================================================
  40. // Classes used by this interface
  41. //======================================================================
  42.  
  43. interface  ODDraft;
  44. interface  ODEmbeddedFramesIterator;
  45. interface  ODFacet;
  46. interface  ODFrame;
  47. interface  ODMenuBar;
  48. interface  ODFocusSet;
  49. interface  ODShape;
  50. interface  ODStorageUnit;
  51. interface  ODSession;
  52. interface  ODWindow;
  53. interface  ODPlatformMenu;
  54. interface  ODTransform;
  55. interface  M_BaseContainer;
  56.  
  57. interface  ODPrintExtension;
  58. interface  ODScrollExtension;
  59. interface  BCPartSettingsExt;
  60.  
  61. interface ContentObject;
  62. interface ContentFrame;
  63. interface ALinkedList;
  64.  
  65. #ifdef __PRIVATE__
  66.  
  67.  
  68.  
  69. //======================================================================
  70. // Implementation Types
  71. //======================================================================
  72.  
  73. typedef somToken  COLORREF;
  74.  
  75. typedef somToken  Widget;
  76. typedef somToken  Display;
  77. typedef somToken  XtAppContext;
  78. typedef somToken  Cursor;
  79. typedef somToken  XSetWindowAttributes;
  80. typedef somToken  BC_MOUSETRACK;
  81. typedef somToken  FrameListHeader;
  82. typedef somToken  HIconView;
  83. typedef somToken  HThumbView;
  84. typedef somToken  HResModule;
  85. typedef somToken  BC_RECTDRAWTYPE;
  86.  
  87. #endif          // end of __PRIVATE__
  88.  
  89. typedef somToken  BCCloneInfo;
  90.  
  91.  
  92.  
  93. //======================================================================
  94. // BaseContainer Implementation
  95. //======================================================================
  96.  
  97. #define kODErrCannotInitializePart 3001
  98.  
  99. interface BaseContainer : ODPart
  100. {
  101.         void      Initialize(in ODPart  partWrapper);
  102.  
  103.         ODBoolean HandleMouseUp(           in ODEventData   event,
  104.                                            in ODFrame       frame,
  105.                                            in ODFacet       facet,
  106.                                            in ODEventInfo   eventInfo  );
  107.  
  108.         ODBoolean HandleMouseDown(         in ODEventData   event,
  109.                                            in ODFrame       frame,
  110.                                            in ODFacet       facet,
  111.                                            in ODEventInfo   eventInfo  );
  112.  
  113.          ODBoolean HandleMouseMove(        in ODEventData   event,
  114.                                            in ODFrame       frame,
  115.                                            in ODFacet       facet,
  116.                                            in ODEventInfo   eventInfo  );
  117.  
  118.         ODBoolean HandleMouseClick(        in ODEventData   event,
  119.                                            in ODFrame       frame,
  120.                                            in ODFacet       facet,
  121.                                            in ODEventInfo   eventInfo  );
  122.  
  123.         ODBoolean HandleMouseMotionStart(  in ODEventData   event,
  124.                                            in ODFrame       frame,
  125.                                            in ODFacet       facet,
  126.                                            in ODEventInfo   eventInfo  );
  127.  
  128.         ODBoolean HandleMouseMotionEnd(    in ODEventData   event,
  129.                                            in ODFrame       frame,
  130.                                            in ODFacet       facet,
  131.                                            in ODEventInfo   eventInfo  );
  132.  
  133.         ODBoolean HandleMouseMotionLBDown( in ODEventData   event,
  134.                                            in ODFrame       frame,
  135.                                            in ODFacet       facet,
  136.                                            in ODEventInfo   eventInfo  );
  137.  
  138.         ODBoolean HandleMenuEvent(         in ODFrame       frame,
  139.                                            in ODEventData   event      );
  140.  
  141.         ODBoolean HandleKeyEvent(          in ODEventData   event,
  142.                                            in ODFrame       frame,
  143.                                            in ODFacet       facet,
  144.                                            in ODEventInfo   eventInfo  );
  145.  
  146.         ODBoolean HandleColorChange(       in ODFrame       frame);
  147.  
  148.         ODBoolean ActivateFrame(           in ODFrame       frame      );
  149.  
  150.         ODWindow  MakeWindow(              in ODFrame       frame      );
  151.  
  152.         void      SelectContentObject(      in ContentObject  contentObject);
  153.  
  154.         void      DeleteSelection(  in ODULong type);
  155.  
  156.         void      CopySelection(          in ODCloneKind   cutORcopy  );
  157.  
  158.         void      PasteSelection(         in ODFacet       facet,
  159.                                            in ODPoint       toWhere    );
  160.  
  161.         void      PasteSelectionAs(       in ODFacet       facet,
  162.                                            in ODPoint       toWhere    );
  163.  
  164.         void      SelectAll();
  165.  
  166.         void      DeselectAll();
  167.  
  168.         void      CutSelection();
  169.  
  170.         void      CompleteMoveOperation(   in ODFrame       containingFrame,
  171.                                            in ODPoint  offset);
  172.  
  173.         void      CompleteResizeOperation( in ContentObject contentObject,
  174.                                            in ODULong       resizeFlags,
  175.                                            in ODPoint       winPoint,
  176.                                            in ODFacet       facet);
  177.  
  178.         void      MoveSelectionToFront();
  179.  
  180.         void      MoveSelectionToBack();
  181.  
  182.         void      WriteKindInfo(           in ODStorageUnit  toSU);
  183.  
  184.         void      WriteContents(           in ODStorageUnit  toSU,
  185.                                            in BCCloneInfo    *cloneInfo,
  186.                                            in ODULong  writeKind);
  187.  
  188.         ODBoolean ReadKindInfo(            in ODStorageUnit   fromSU);
  189.  
  190.         void      ReadContents(            in ODStorageUnit   fromSU,
  191.                                            in BCCloneInfo     *cloneInfo,
  192.                                            in ODULong  readKind);
  193.  
  194.         void GetContentObjectFromObjType(  in ODULong objType,
  195.                                            in ContentObject *contentObject);
  196.  
  197.         ALinkedList   GetEmbeddedObjects();
  198.  
  199.         ALinkedList   GetSelectedObjects();
  200.  
  201.         ALinkedList   GetDisplayFrames();
  202.  
  203.         ODMenuBar GetMenuBar();
  204.  
  205.         COLORREF GetBackgroundColor();
  206.  
  207.         void SetBackgroundColor (in COLORREF color);
  208.  
  209.         void      InstallMenuItems(        in ODMenuBar     menuBar);
  210.  
  211.         ODBoolean DrawSelectionBorder(     in ODFacet facet,
  212.                                            in ODShape invalidShape);
  213.         ODBoolean DrawContents(     in ODFacet facet,
  214.                                     in ODShape invalidShape);
  215.  
  216.         void      WriteIconToSU (in ODStorageUnit    toSU);
  217.  
  218.         ODBoolean SetupPrinting (in ODFrame frame, in ODEventData event);
  219.  
  220.         ODBoolean HandlePrinting (in ODFrame frame, in ODEventData event);
  221.  
  222.         ODBoolean HandleScrollEvent (in ODFrame frame, in ODEventData event);
  223.  
  224.         ODExtension CreatePrintExtension();
  225.  
  226.         ODExtension CreateScrollExtension();
  227.  
  228.         ODExtension CreateSettingsExtension();
  229.  
  230.         ODExtension EnablePrinting (in ODBoolean enable,
  231.                                     in char *printerQueueName);
  232.  
  233.         ODExtension EnableScrolling (in ODBoolean enable,
  234.                                      in long totalWidth,
  235.                                      in long totalHeight);
  236.  
  237.         void      SetScrollableDimensions( in ODFrame frame,
  238.                                            in long totalWidth,
  239.                                            in long totalHeight);
  240.  
  241.         ContentObject Embed(                   in ODType        part,
  242.                                            in ODFrame       containingFrame,
  243.                                            in ODTransform   newEmbedTransform );
  244.  
  245.         void      ChangeNotification ( in ODULong reason,
  246.                                            in ODFrame frame,
  247.                                            in ContentObject content,
  248.                                            in ODBoolean bPropagate,
  249.                                            in ODUpdateID updateID);
  250.  
  251.         COLORREF  ColorSelection(          in COLORREF      origColor,
  252.                                            in long          color      );
  253.  
  254.         void      AbortMouseTracking (in ODFrame frame);
  255.  
  256.         unsigned short   GetMouseMode ();
  257.  
  258.  
  259.         void      StartDrag(               in ODEventData   event,
  260.                                            in ODFrame       embeddedFrame,
  261.                                            in ODFacet       facet,
  262.                                            in ODEventInfo   eventInfo,
  263.                                            in ODCloneKind   cloneKind  );
  264.  
  265.         void      ActivatingWindow(        in ODFrame       frame      );
  266.         void      DeactivatingWindow(      in ODFrame       frame      );
  267.         void      InvertDragHilite(        in ODFacet       facet      );
  268.  
  269.         ODBoolean CreateSelectionBorderShapes(in ContentObject contentObject   );
  270.         ODBoolean GetBorderShapes(         in ODRect  rect,
  271.                                            in ODShape selectShape,
  272.                                            in ODShape cornerShape,
  273.                                            in ODShape edgeShape        );
  274.         void      BuildEmbedMenu(          in ODPlatformMenuItem *mi   );
  275.  
  276.  
  277.         ODFrame   ReadSingleFrame(         in ODFacet       myFacet,
  278.                                            in ODStorageUnit fromSU,
  279.                                            in ODCloneKind   cloneKind,
  280.                                            in ODPoint       refPoint);
  281.  
  282.         void      WriteSingleFrame(        in ODFrame       embeddedFrame,
  283.                                            in ODStorageUnit toSU,
  284.                                            in ODCloneKind   cloneKind);
  285.  
  286.         void      UpdateContentExtent(     in ODFrame       myFrame);
  287.  
  288.         ODPlatformMenu CreateNewMenu(      in ODMenuBar     menuBar,
  289.                                            in ODULong       menuID);
  290.  
  291.         void      CreateMenuItemFromCatalog (
  292.                                            in   ODMenuBar           menuBar,
  293.                                            in   ODULong             parentMenuID,
  294.                                            in   ODPlatformMenuItem  menuItem,
  295.                                            in   ODPtr               nlsCat,
  296.                                            in   ODULong             msgSet,
  297.                                            in   ODULong             msgID,
  298.                                            in   string              defaultText);
  299.  
  300.         void      SetMenuItemTextFromCatalog (
  301.                                            in   ODMenuBar           menuBar,
  302.                                            in   ODULong             parentMenuID,
  303.                                            in   ODPlatformMenuItem  menuItem,
  304.                                            in   ODPtr               nlsCat,
  305.                                            in   ODULong             msgSet,
  306.                                            in   ODULong             msgID,
  307.                                            in   string              defaultText);
  308.  
  309.         void      AddSeparatorToMenu (     in   ODMenuBar       menuBar,
  310.                                            in   ODULong         menuID,
  311.                                            in   ODULong         separatorID);
  312.  
  313.         void      WriteFrameListHeader(    in ODStorageUnit  toSU,
  314.                                            in BCCloneInfo    *cloneInfo,
  315.                                            in ODULong  writeKind,
  316.                                            in ALinkedList objectList);
  317.  
  318.         void      ReadFrameListHeader(     in ODStorageUnit   fromSU,
  319.                                            in BCCloneInfo     *cloneInfo,
  320.                                            in ODULong  readKind,
  321.                                            inout FrameListHeader header);
  322.  
  323.         void      ReleaseFrameListInfo(    in BCCloneInfo     *cloneInfo);
  324.  
  325.  
  326.         void      AdjustViewTypeShapes(    in ODFrame frame);
  327.  
  328.         void      SetViewTypeRect(         in ODTypeToken viewType,
  329.                                            inout ODRect rect);
  330.  
  331.         void      DrawFrame(               in ODFacet facet,
  332.                                            in ODShape invalidShape);
  333.  
  334.         void      DrawIcon(                in ODFacet facet,
  335.                                            in ODShape invalidShape,
  336.                                            in ODTypeToken viewType);
  337.  
  338.         void      DrawThumbnail(           in ODFacet facet,
  339.                                            in ODShape invalidShape);
  340.  
  341.         void      CreateIcon(              in ODFacet facet,         
  342.                                            in ODShape invalidShape,  
  343.                                            in ODTypeToken viewType);
  344.  
  345.         void      LoadIconsFromModule(     in string moduleName,
  346.                                            in long iconID);
  347.  
  348.         void      FreeResModule();
  349.  
  350.         void      DrawResizeRectangle(     in ODPoint cursorLocation,
  351.                                            in BC_RECTDRAWTYPE drawType);
  352.  
  353.  
  354. #ifdef __SOMIDL__
  355.   implementation
  356.         {
  357.         dllname = "iodbasec.dll";
  358.         functionprefix = BaseContainer;
  359.         metaclass      = M_BaseContainer;
  360.         override:
  361.                 somInit,
  362.                 somUninit,
  363.                 Release,
  364.                 ReleaseAll,
  365.                 Externalize,
  366.                 HasExtension,
  367.                 AcquireExtension,
  368.                 ReleaseExtension,
  369.                 FulfillPromise,
  370.                 DropCompleted,
  371.                 DragEnter,
  372.                 DragWithin,
  373.                 DragLeave,
  374.                 Drop,
  375.                 ContainingPartPropertiesUpdated,
  376.                 AcquireContainingPartProperties,
  377.                 RevealFrame,
  378.                 EmbeddedFrameSpec,
  379.                 CreateEmbeddedFramesIterator,
  380.                 DisplayFrameAdded,
  381.                 DisplayFrameRemoved,
  382.                 DisplayFrameConnected,
  383.                 DisplayFrameClosed,
  384.                 AttachSourceFrame,
  385.                 GeometryChanged,
  386.                 FrameShapeChanged,
  387.                 ViewTypeChanged,
  388.                 PresentationChanged,
  389.                 SequenceChanged,
  390.                 WritePartInfo,
  391.                 ReadPartInfo,
  392.                 ClonePartInfo,
  393.                 Open,
  394.                 RequestEmbeddedFrame,
  395.                 RemoveEmbeddedFrame,
  396.                 RequestFrameShape,
  397.                 UsedShapeChanged,
  398.                 AdjustBorderShape,
  399.                 FacetAdded,
  400.                 FacetRemoved,
  401.                 CanvasChanged,
  402.                 Draw,
  403.                 CanvasUpdated,
  404.                 HighlightChanged,
  405.                 GetPrintResolution,
  406.                 CreateLink,
  407.                 LinkUpdated,
  408.                 RevealLink,
  409.                 EmbeddedFrameUpdated,
  410.                 LinkStatusChanged,
  411.                 BeginRelinquishFocus,
  412.                 CommitRelinquishFocus,
  413.                 AbortRelinquishFocus,
  414.                 FocusAcquired,
  415.                 FocusLost,
  416.                 CloneInto,
  417.                 ExternalizeKinds,
  418.                 ChangeKind,
  419.                 HandleEvent,
  420.                 AdjustMenus,
  421.                 UndoAction,
  422.                 RedoAction,
  423.                 DisposeActionState,
  424.                 WriteActionState,
  425.                 ReadActionState,
  426.                 InitPart,
  427.                 InitPartFromStorage;
  428.  
  429.         releaseorder:
  430.                 Initialize,
  431.                 HandleMouseUp,
  432.                 HandleMouseDown,
  433.                 HandleMouseMove,
  434.                 HandleMouseClick,
  435.                 HandleMouseMotionStart,
  436.                 HandleMouseMotionEnd,
  437.                 HandleMouseMotionLBDown,
  438.                 HandleMenuEvent,
  439.                 HandleKeyEvent,
  440.                 HandleColorChange,
  441.                 ActivateFrame,
  442.                 MakeWindow,
  443.                 SelectContentObject,
  444.                 CopySelection,
  445.                 PasteSelection,
  446.                 PasteSelectionAs,
  447.                 DeleteSelection,
  448.                 SelectAll,
  449.                 DeselectAll,
  450.                 CutSelection,
  451.                 CompleteMoveOperation,
  452.                 CompleteResizeOperation,
  453.                 MoveSelectionToFront,
  454.                 MoveSelectionToBack,
  455.                 WriteKindInfo,
  456.                 WriteContents,
  457.                 ReadKindInfo,
  458.                 ReadContents,
  459.                 GetContentObjectFromObjType,
  460.                 GetEmbeddedObjects,
  461.                 GetSelectedObjects,
  462.                 GetDisplayFrames,
  463.                 GetMenuBar,
  464.                 GetBackgroundColor,
  465.                 SetBackgroundColor,
  466.                 InstallMenuItems,
  467.                 DrawSelectionBorder,
  468.                 DrawContents,
  469.                 WriteIconToSU,
  470.                 SetupPrinting,
  471.                 HandlePrinting,
  472.                 HandleScrollEvent,
  473.                 CreatePrintExtension,
  474.                 CreateScrollExtension,
  475.                 EnablePrinting,
  476.                 EnableScrolling,
  477.                 SetScrollableDimensions,
  478.                 Embed,
  479.                 ChangeNotification,
  480.                 ColorSelection,
  481.                 AbortMouseTracking,
  482.                 GetMouseMode,
  483.                 StartDrag,
  484.                 ActivatingWindow,
  485.                 DeactivatingWindow,
  486.                 InvertDragHilite,
  487.                 CreateSelectionBorderShapes,
  488.                 GetBorderShapes,
  489.                 BuildEmbedMenu,
  490.                 ReadSingleFrame,
  491.                 WriteSingleFrame,
  492.                 UpdateContentExtent,
  493.                 CreateNewMenu,
  494.                 CreateMenuItemFromCatalog,
  495.                 SetMenuItemTextFromCatalog,
  496.                 AddSeparatorToMenu,
  497.                 WriteFrameListHeader,
  498.                 ReadFrameListHeader,
  499.                 ReleaseFrameListInfo,
  500.                 CreateSettingsExtension,
  501.                 AdjustViewTypeShapes,
  502.                 SetViewTypeRect,
  503.                 DrawFrame,
  504.                 DrawIcon,
  505.                 DrawThumbnail,
  506.                 CreateIcon,
  507.                 LoadIconsFromModule,
  508.                 FreeResModule,
  509.                 DrawResizeRectangle;
  510.  
  511.  
  512.  
  513.         majorversion = 0;
  514.         minorversion = 0;
  515.  
  516.         passthru C_xh_after =
  517.         ""
  518.         "#include \"iodbcutl.xh\""
  519.         "#include \"bcmain.h\""
  520.         "#include \"iodbcobj.xh\""
  521.         "";
  522.  
  523.                 ODSession       fSession;
  524.                 ODDragResult    fDropAccepted;
  525.                 ODStorageUnit   fPartSU;
  526.                 ODBoolean       fDirty;
  527.                 ODMenuBar       fMenuBar;
  528.                 ODID            fWindowID;
  529.                 ODPlatformWindow fFrameViewWindow;
  530.                 ODPart          fPartWrapper;
  531.                 ODBoolean       fDraftReadOnly;
  532.  
  533.                 // Focus set
  534.                 ODFocusSet      fFocusSet;
  535.                 ODTypeToken     fSelectionFocus;
  536.                 ODTypeToken     fMenuFocus;
  537.                 ODTypeToken     fKeyFocus;
  538.                 ODTypeToken     fModalFocus;
  539.                 ODTypeToken     fClipboardFocus;
  540.                 ODTypeToken     fMouseFocus;
  541.                 ODTypeToken     fMouseFocusOutside;
  542.  
  543.                 // View type
  544.                 ODTypeToken     fFrameView;
  545.                 ODTypeToken     fLargeIconView;
  546.                 ODTypeToken     fSmallIconView;
  547.                 ODTypeToken     fThumbnailView;
  548.                 ODTypeToken     fMainPresentation;
  549.  
  550.                 // Menu
  551.                 ODPlatformMenu  fEditMenu;
  552.                 ODPlatformMenu  fEmbedMenu;
  553.                 ODPlatformMenu  fColorMenu;
  554.  
  555.                 // Embedded and Display frames list
  556.                 ALinkedList    fDisplayFrames;
  557.                 ALinkedList    fSelectedObjects;
  558.                 ALinkedList    fEmbeddedObjects;
  559.  
  560.                 // Selection Border Shapes
  561.                 ODShape        fSelectShape;
  562.                 ODShape        fCornerHandleShape;
  563.                 ODShape        fEdgeHandleShape;
  564.  
  565.                 // Display related variables
  566.                 ODCanvas        fCanvas;
  567.                 ODBoolean         fNeedToInternalize;
  568.                 COLORREF        fBackgroundColor;
  569.                 short           fRed;                   // color counters
  570.                 short           fGreen;                 // color counters
  571.                 short           fBlue;                  // color counters
  572.  
  573.                 // Embed menu related variables
  574.                 short           fEmbedTableParts;      // # of parts in EmbedTable
  575.                 char **         fEmbedTable;           // dynamically allocated
  576.                 ODType          fPartToEmbed;          // next part handler to be instantiated
  577.  
  578.                 // Mouse mode for tracking edit operations
  579.                 unsigned short  usMouseMode;
  580.                 BC_MOUSETRACK   bcMouseTrack;
  581.                 void            *bcTrackData;
  582.                 void            *moveData;
  583.                 void            *resizeData;
  584.                 void            *lassoData;
  585.  
  586.                 ODPoint         *fMouseStart;
  587.  
  588.  
  589.                 BCPartSettingsExt  fSettingsExt;
  590. #if     defined(_PLATFORM_UNIX_)
  591.                 Display*           fDisplay;
  592.                 XtAppContext       fAppContext;
  593.                 XSetWindowAttributes fWindowAttributes;
  594.                 Cursor             fCrossHairCursor;
  595.                 Widget             fCanvasWidget;
  596.  
  597. #elif   defined(_PLATFORM_OS2_)
  598.                 ODPrintExtension   fPrintExt;
  599.                 ODScrollExtension  fScrollExt;
  600.  
  601.                 ODBoolean          fPrintingEnabled;
  602.                 ODBoolean          fScrollingEnabled;
  603.  
  604. #elif   defined(_PLATFORM_WIN32_)
  605.                 ODPrintExtension   fPrintExt;
  606.                 ODScrollExtension  fScrollExt;
  607.  
  608.                 ODBoolean          fPrintingEnabled;
  609.                 ODBoolean          fScrollingEnabled;
  610.  
  611. #endif // _PLATFORM_XXX_
  612.  
  613.                 // Variables for viewType support
  614.                 HIconView          hSmallIcon;
  615.                 HIconView          hLargeIcon;
  616.                 HThumbView         hThumbnail;
  617.                 HResModule         hResModule;
  618.                 ODRect             lastFrameRect;
  619.                 ODBoolean          fInFrameNegotiation;
  620.                 ODTypeToken        fPrevViewType;
  621. #if     defined(_PLATFORM_UNIX_)
  622.                 Widget             iconWidget;
  623. #endif
  624.  
  625.  
  626.  
  627.   }; // end implementation section
  628.  
  629. #endif //__SOMIDL__
  630.  
  631. }; // end interface definition
  632.  
  633.  
  634. // ******************************************************************
  635.  
  636. interface M_BaseContainer : M_ODPart
  637. {
  638.  
  639. #ifdef __SOMIDL__
  640.   implementation
  641.   {
  642.     functionprefix = M_BaseContainerPart;
  643.     override:
  644.       clsGetODPartHandlerName,
  645.       clsGetODPartHandlerDisplayName,
  646.       clsGetODPartKinds,
  647.       clsGetOLE2ClassId,
  648.       clsGetWindowsIconFileName;
  649.   };
  650.  
  651. #endif  // _SOMIDL__
  652. };
  653.  
  654. #endif //_CONTAINER_
  655.  
  656.