home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ibmodf.zip / CNTNRPRT.ZIP / CNTNRPRT.IDL < prev    next >
Text File  |  1995-03-23  |  22KB  |  579 lines

  1. #ifdef __PRIVATE__
  2. //#
  3. //#     File:           CntnrPrt.idl
  4. //#
  5. //#     Contains:       IDL description of Container Part
  6. //#
  7. //#     Written by:     Jason Crawford
  8. //#
  9. //#     Copyright:      (c) 1994 by IBM Corp., all rights reserved.
  10. //#
  11. //#     Change History (most recent first):
  12. //#
  13. //#              <3>     11/05/94       ced     Changes related to removal of
  14. //#                                             proxy regions (see cntnrprt.cpp)
  15. //#              <2>     10/7/94        ced     Add methods for tracking mouse
  16. //#              <1>      7/6/94        jlc     first checked in
  17. //#
  18. //#     To Do:
  19. //#
  20. #else
  21. //#     Copyright:      (c) 1993-1994 by IBM Corp., all rights reserved.
  22. #endif
  23.  
  24.  
  25. #ifndef _CNTNRPRT_
  26. #define _CNTNRPRT_
  27.  
  28. #ifndef _PART_
  29. #include "Part.idl"
  30. #endif
  31.  
  32. interface ODWindow;
  33. interface ODFocusSet;
  34. //interface ODFrame;
  35. //interface ODMenuBar;
  36. interface ODSemanticInterface;
  37. interface ODSelectedContainerPartExtension;
  38. interface ODNotebook;
  39.  
  40.  
  41.  
  42. //#ifdef __PRIVATE__
  43. //=====================================================================================
  44. // Implementation Types
  45. //=====================================================================================
  46.  
  47. interface ODxOrderedCollection;
  48. typedef somToken RGBColor;
  49. typedef somToken Proxy;
  50. #ifdef _PLATFORM_OS2_
  51.    //@jlc hack to get this to pass through idl compile without asking too many questions.
  52.    typedef long PRNINFO;
  53.    typedef long HPS;
  54.    typedef long HDC;
  55.    typedef long HRGN;
  56. #else
  57.    typedef somToken TPrPort;
  58.    typedef somToken THPrint;
  59. #endif
  60.  
  61. //#endif
  62.  
  63. //module AppleTestDraw
  64. //{
  65.  
  66. interface ContainerPart : ODPart
  67. {
  68. //#ifdef __PRIVATE__
  69.  
  70.         #if 0
  71.            //jlc
  72.            // the following are entries that in the old c++ class declaration
  73.            //   that we think are handled by the override directive later in
  74.            //   this file.  I haven't checked for signature changes.
  75.  
  76.            // -Drag&Drop-
  77.            void FulfillPromise(ODStorageUnitView *promiseSUView);
  78.            void DropCompleted(ODPart* destPart, ODDropResult dropResult);
  79.            MRESULT DragEnter(ODDragItemIterator* dragInfo, ODFacet* facet, ODPoint where);  //dwf
  80.            MRESULT DragWithin(ODDragItemIterator* dragInfo, ODFacet* facet, ODPoint where);   //dwf
  81.            void DragLeave(ODFacet* facet, ODPoint where);
  82.            ODDropResult Drop(ODDragItemIterator* dropInfo, ODFacet* facet, ODPoint where);
  83.  
  84.            // -Embedding-
  85.            ODStorageUnit* GetContainingPartProperties(ODFrame* displayFrame);
  86.            ODEmbeddedFramesIterator* CreateEmbeddedFramesIterator();
  87.  
  88.            // -Frame-
  89.            void AddDisplayFrame(ODFrame* frame);
  90.            void AttachSourceFrame(ODFrame* frame, ODFrame* sourceFrame);
  91.            void RemoveDisplayFrame(ODFrame* frame);
  92.            void CloseDisplayFrame(ODFrame* frame);
  93.            void FrameShapeChanged(ODFrame* frame);
  94.            void ViewTypeChanged(ODFrame* frame);
  95.            void PresentationChanged(ODFrame* frame);
  96.            void WritePartInfo(ODPtr partInfo, ODStorageUnitView* storageUnitView);
  97.            ODPtr ReadPartInfo(ODFrame* frame, ODStorageUnitView* storageUnitView);
  98.            ODID Open(ODFrame* frame); //Override
  99.            void RemoveEmbeddedFrame(ODFrame* embeddedFrame);
  100.            ODShape* RequestFrameShape(ODFrame* embeddedFrame, ODShape* frameShape);
  101.            void UsedShapeChanged(ODFrame* embeddedFrame);
  102.  
  103.            // -Facet-
  104.            void FacetAdded(ODFacet* facet);
  105.            void FacetRemoved(ODFacet* facet);
  106.            void GeometryChanged(ODFacet* facet);
  107.  
  108.            // -Imaging-
  109.            void Draw(ODFacet* facet, ODShape* invalidShape);
  110.  
  111.            // -Part Activation-
  112.            void CommitRelinquishFocus(ODTypeToken focus,
  113.                                         ODFrame* ownerFrame,
  114.                                         ODFrame* proposedFrame);
  115.            void FocusAcquired(ODTypeToken focus, ODFrame* ownerFrame);
  116.            void FocusLost(ODTypeToken focus, ODFrame* ownerFrame);
  117.  
  118.            // -Storage-
  119.            void Externalize();
  120.            void CloneInto(ODDraftKey key, ODStorageUnit* storageUnit, ODStorageUnit* initiatingFrameSU);
  121.  
  122.            // -UI Events-
  123.            ODBoolean HandleEvent(ODEventData event, ODFrame* frame, ODFacet* facet);
  124.            void AdjustMenus(ODFrame* frame);
  125.            void AdjustRootMenus(ODFrame* frame, ODBoolean propagate, ODOS2MenuBar * mb);
  126.  
  127.            // -Undo-
  128.            void UndoAction(ODActionData actionState);
  129.            void RedoAction(ODActionData actionState);
  130.            void DisposeActionState(ODActionData actionState,
  131.                                       ODDoneState doneState);
  132.  
  133.         protected:
  134.            void InitPart(ODStorageUnit* storageUnit);
  135.            void InitPartFromStorage(ODStorageUnit* storageUnit);
  136.            void Release();
  137.  
  138.         #endif
  139.  
  140.  
  141.         #if 0
  142.            //jlc
  143.            // the following are entries in the old c++ class declaration
  144.            //   that haven't been mapped yet to this file.
  145.  
  146.            // -Embedding-
  147.            ODSLong CountEmbeddedFrames();
  148.  
  149.            // -Frame-
  150.            ODFrame* CreateEmbeddedFrame(ODFrame* containingFrame,
  151.                                          ODShape* frameShape,
  152.                                          ODTransform* externalTransform,
  153.                                          ODPart* embedPart,
  154.                                          ODTypeToken viewType,
  155.                                          ODTypeToken presentation,
  156.                                          ODID frameGroupID,
  157.                                          ODBoolean isOverlaid);
  158.  
  159.            // -Facet-
  160.            void ClipShapeChanged(ODFacet* facet);
  161.            void ExternalTransformChanged(ODFacet* facet);
  162.  
  163.            // -Memory Management-
  164.            ODSize Purge(ODSize size);
  165.  
  166.            // -UI Events-
  167.            void AdjustRootMenus(ODFrame* frame, ODBoolean propagate, ODOS2MenuBar * mb);
  168.         protected:
  169.  
  170.            friend ODPart* EXPENTRY CreatePart(void);
  171.            // -constructor/destructor-
  172.            ContainerPart();
  173.            virtual ~ContainerPart();
  174.  
  175.  
  176.            // ==== PRINTING ==== protected
  177.            ODUShort DetermineNumberOfPagesinDoc(ODFrame* frame, Rect page);
  178.            ULONG ViewPrintGetQueue( ODFrame * frame, PSZ szQueue);
  179.            void* fPrintRecord;
  180.            void CollectHandlers( void );
  181.         private:
  182.            int ExtractMenuPartStrings( char * fullstring , char * * dllstring , int * dllstringlength , char * * descripstring );
  183.  
  184.            XMPID          fWindowID;        // ID of View As Window window
  185.  
  186.            POINTL          fDragStart;
  187.  
  188.            //MenuHandle        fEmbedMenu;
  189.            //MenuHandle        fColorMenu;
  190.            //MenuHandle        fFrameMenu;
  191.  
  192.            XMPIcon           fLargeIcons;
  193.            XMPIcon           fSmallIcons;
  194.  
  195.            XMPSemanticInterface*   fSemtIntf;
  196.  
  197.         #endif
  198.  
  199.  
  200.         ODSemanticInterface GetSemanticInterface();
  201.         #ifdef _PLATFORM_MAC_
  202.            void SetNewBounds( in ODFrame frame, in Rect r ) ;
  203.         #endif
  204.         Proxy* ProxyForFrame(in ODFrame frame);
  205. // (CED - 110594)       void UpdateProxyRegion(in Proxy* proxy);
  206. // (CED - 110594)       void CreateProxySelectionBorder(in Proxy* p);
  207.         void CreateProxySelectionBorder(in ODFacet facet, in Proxy* p);  // (CED - 110594)
  208.         void InvalidateSelection(in ODFrame frame);
  209.         void ClipEmbeddedFrames(in ODFrame frame);
  210.  
  211.         void CommonInitContainerPart();
  212.         #ifdef _PLATFORM_MAC_
  213.            void LoadIcons();
  214.         #endif
  215.         //@jlc whatisit? void InstallObjectAccessors();
  216.         ODxOrderedCollection GetEmbeddedFrames();
  217.         Proxy* ProxyForFrameID(in ODID frameID);
  218.         #ifdef _PLATFORM_MAC_
  219.            //@jlc When porting I notice that the Mac and old OS2 versions have
  220.            //@jlc    different signatures.  I don't the who or when.  This can
  221.            //@jlc    be checked later.
  222.  
  223.            void HighlightSelection();
  224.            void HighlightProxyBorder(in Proxy* p);
  225.            void HighlightContentObject(in Proxy* p);
  226.            void ClipEmbeddedFacets(in ODFacet facet);
  227.         #else
  228.            void HighlightSelection( in ODFacet facet);
  229.            void HighlightProxyBorder( in Proxy *p, in ODFacet facet);
  230.            void HighlightContentObject( in Proxy *p, in ODFacet facet);
  231.            void ClipEmbeddedFacets( in ODFacet facet);
  232.         #endif
  233.         void FillSelectedMenu( in ODFrame frame, in ODMenuBar menubar );
  234.         void AdjustPopupMenu( in ODFrame frame, in ODMenuBar menubar, in ODMenuID menuID );
  235.         void AdjustSPEMenu( in ODFrame frame, in ODMenuBar menubar, in ODMenuID menuID  );
  236.         void EmptySelection();
  237.         ODMenuBar GetSPEMenuOfSelection( );
  238.         void RefreshRemappedSPEMenuOfSelection( );
  239.         ODBoolean HandleMouseDown( in ODFacet facet,
  240.                                    in ODPoint where,
  241.                                    in ODEventData event);
  242.         void MoveResize( in ODFacet facet, in Proxy* selection, in ODSLong fs );
  243.         ODBoolean HandleMouseDownDrag(in ODFacet facet, in Proxy* selection, in ODEventData event);
  244.         ODBoolean HandleMouseDownEdgeResize(in ODFacet facet, in Proxy* selection, in POINTL mouse);
  245.         ODBoolean HandleMouseDownCornerResize(in ODFacet facet, in Proxy* selection, in POINTL mouse);
  246.         ODBoolean HandleMouseDownInEmbeddedFrame( in ODFacet container,
  247.                                                  in ODFacet facet,
  248.                                                  in ODPoint where,
  249.                                                  in ODEventData event);
  250.         ODBoolean HandleKeyDown(in ODFrame focusFrame, in ODEventData event);
  251.         ODBoolean HandleMenuEvent(in ODFrame focusFrame, in ODEventData event);
  252.         #ifdef _PLATFORM_OS2_
  253.            ODBoolean HandleMouseMove( in ODFacet facet,
  254.                                        in ODFrame frame,
  255.                                        in ODPoint where,
  256.                                        in ODEventData event);
  257.  
  258.            ODBoolean HandleMouseUp(in ODFacet facet,
  259.                                     in ODFrame frame,
  260.                                     in ODPoint where,
  261.                                     in ODEventData event);
  262.  
  263.            void UpdateTrackRect(in POINTL* ptlMouse,
  264.                                  in ODPlatformWindow hwnd);
  265.  
  266.            void MouseFocusLost(in ODFrame ownerFrame);
  267.         #else
  268.            ODBoolean HandlePageSetup(in ODFrame focusFrame);
  269.         #endif
  270.         ODBoolean HandlePrinting(in ODFrame frame);
  271.  
  272.         #ifdef _PLATFORM_MAC_
  273.            void CreateDefPrintRec();
  274.            ODFacet BeginPrinting(in ODFrame rootFrame, in TPrPort* thePrPort);
  275.            void PrintPage(in ODFacet prFacet, in ODUShort page);
  276.            void PrintDocument(in ODFrame frame);
  277.         #else
  278.            ODFacet BeginPrinting(in ODFrame rootFrame, in PRNINFO *pPI );
  279.            void PrintPage(in ODFacet prFacet, in ODUShort pagenum, in PRNINFO *pPI);
  280.            long PrintPages( in ODFrame frame , in PRNINFO *pPI )    ;
  281.         #endif
  282.         void EndPrinting(in ODFacet prFacet);
  283.         ODBoolean DoCut(in ODFrame frame);
  284.         ODBoolean DoCopy(in ODFrame frame);
  285.         ODBoolean DoPaste(in ODFrame frame);
  286.         ODBoolean DoPasteLink(in ODFrame frame);
  287.         ODBoolean DoClear(in ODFrame frame);
  288.         ODBoolean DoSelectAll(in ODFrame frame);
  289.  
  290.         void ActivateFrame(in ODFrame frame);
  291.         void DeActivateFrame(in ODFrame frame);
  292.         void ActivatingWindow(in ODFrame frame);
  293.         void DeActivatingWindow(in ODFrame frame);
  294.         void InstallMenus(in ODFrame aFrame);
  295.         void RemoveMenus(in ODFrame aFrame);
  296.  
  297.         void UserSetBGColor(in ODFrame frame, in RGBColor whichColor);
  298.         void SetBGColor1(in ODFrame aFrame, in ODUShort whichColor);
  299.         void SetBGColor2(in ODFrame aFrame, in RGBColor whichColor);
  300.         void Embed(in short item, in ODFrame frame, out ODPart newPart);
  301.         void SetGrafPortOrigin(in ODFacet facet);
  302.         void InvalEmbedFrameAfterResize(in ODFacet facet, in Proxy* selection,
  303. // (CED - 110594)  in ODShape oldShape, in ODShape newShape, in POINTL transOffset);
  304.                    in ODShape newShape, in ODTransform newTransform); // (CED - 110594)
  305.  
  306.         RECTL * GetSelectionRectLocal(in Proxy* selection);
  307.  
  308.             #ifndef _PLATFORM_OS2_
  309.                void GetBGColor(in ODUShort whichColor, out RGBColor newColor);
  310.             #endif
  311.         ODFrame MakeEmbeddedFrame(in ODFrame containingFrame, in ODShape frameShape,
  312.                         in ODTransform externalTransform, in ODPart embedPart,
  313.                         in ODBoolean isOverlaid);
  314.         ODWindow CreateWindow(in ODFrame sourceFrame);
  315.         #ifdef _PLATFORM_OS2_
  316.            ODBoolean MoveToFront(in ODFrame frame);
  317.            ODBoolean MoveToBack(in ODFrame frame);
  318.            ODBoolean MoveForward(in ODFrame frame);
  319.            ODBoolean MoveBackward(in ODFrame frame);
  320.            // -utilities-
  321.            void ClearAccelTable( in ODFrame oldOwner );
  322.            void SetAccelTable( in ODFrame newOwner );
  323.            // -demo-
  324.            long GetDemoState();
  325.         #endif
  326.  
  327. //#endif
  328.  
  329. #ifdef __SOMIDL__
  330.         implementation
  331.         {
  332.                 functionprefix = ContainerPart;
  333.                 majorversion = 1;
  334.                 minorversion = 0;
  335.  
  336.         releaseorder:
  337.                 FillSelectedMenu,
  338.                 GetSemanticInterface,
  339.                 CreateNewPart ,
  340.                 SetNewBounds ,
  341.                 ProxyForFrame,
  342. #if 0
  343. // (CED - 110594) UpdateProxyRegion,
  344. #endif
  345.                 CreateProxySelectionBorder,
  346.                 InvalidateSelection,
  347.                 ClipEmbeddedFrames,
  348.                 CommonInitContainerPart,
  349.                         InstallObjectAccessors,
  350.                         GetEmbeddedFrames,
  351.                         ProxyForFrameID,
  352.                         HighlightSelection,
  353.                         HighlightProxyBorder,
  354.                         HighlightContentObject,
  355.                         ClipEmbeddedFacets,
  356.                         EmptySelection,
  357.                         HandleMouseDown,
  358.                 MoveResize,
  359.                 HandleMouseDownDrag,
  360.                 HandleMouseDownEdgeResize,
  361.                 HandleMouseDownCornerResize,
  362.                 HandleMouseDownInEmbeddedFrame,
  363.                 HandleKeyDown,
  364.                 HandleMenuEvent,
  365.                 HandlePageSetup,
  366.                 HandlePrinting,
  367. #ifdef _PLATFORM_OS2_ // CED
  368.                 HandleMouseMove,
  369.                 HandleMouseUp,
  370.                 UpdateTrackRect,
  371.                 MouseFocusLost,
  372. #endif // _PLATFORM_OS2_
  373.                 GetDemoState,
  374.                 CreateDefPrintRec,
  375.                 BeginPrinting,
  376.                         PrintPage,
  377.                         EndPrinting,
  378.                         PrintDocument,
  379.                         DoCut,
  380.                         DoCopy,
  381.                         DoPaste,
  382.                         DoPasteLink,
  383.                         DoClear,
  384.                         DoSelectAll,
  385.                         ActivateFrame,
  386.                 DeActivateFrame,
  387.                 ActivatingWindow,
  388.                 DeActivatingWindow,
  389.                 InstallMenus,
  390.                 RemoveMenus,
  391.                 SetBGColor1,
  392.                 UserSetBGColor,
  393.                 SetBGColor2,
  394.                 Embed,
  395.                 SetGrafPortOrigin,
  396.                         InvalEmbedFrameAfterResize,
  397.                         GetSelectionRectLocal,
  398.                         GetBGColor,
  399.                         MakeEmbeddedFrame,
  400.                         CreateWindow,
  401.                         MoveToFront,
  402.                         MoveToBack,
  403.                         MoveForward,
  404.                         MoveBackward,
  405.                         ClearAccelTable,
  406.                         SetAccelTable,
  407.                         AdjustPopupMenu,
  408.                         GetSPEMenuOfSelection,
  409.                         RefreshRemappedSPEMenuOfSelection,
  410.                         AdjustSPEMenu,
  411.                         PrintPages
  412.                         ;
  413.  
  414.         override:
  415.                 somInit,
  416.                 somUninit,
  417.         FulfillPromise,
  418.         DropCompleted,
  419.         DragEnter,
  420.         DragWithin,
  421.         DragLeave,
  422.         Drop,
  423.         GetExtension,
  424.         ReleaseExtension,
  425.         HasExtension,
  426.         ContainingPartPropertiesChanged,
  427.         GetContainingPartProperties,
  428.         CreateRootMenuBar,
  429.         RevealFrame,
  430.         EmbeddedFrameSpec,
  431.         CreateEmbeddedFramesIterator,
  432.         AddDisplayFrame,
  433.         AttachSourceFrame,
  434.         RemoveDisplayFrame,
  435.         CloseDisplayFrame,
  436.         FrameShapeChanged,
  437.         ViewTypeChanged,
  438.         PresentationChanged,
  439.                 SequenceChanged,
  440.         WritePartInfo,
  441.         ReadPartInfo,
  442.         Open,
  443.         RequestEmbeddedFrame,
  444.         RemoveEmbeddedFrame,
  445.         RequestFrameShape,
  446.         UsedShapeChanged,
  447.         AdjustBorderShape,
  448.         FacetAdded,
  449.         FacetRemoved,
  450.         CanvasChanged,
  451.         GeometryChanged,
  452.         Draw,
  453.         CanvasUpdated,
  454.         HighlightChanged,
  455.         GetPrintResolution,
  456.         CreateLink,
  457.         LinkUpdated,
  458.         RevealLink,
  459.         EmbeddedFrameChanged,
  460.         LinkStatusChanged,
  461.         BeginRelinquishFocus,
  462.         CommitRelinquishFocus,
  463.         AbortRelinquishFocus,
  464.         FocusAcquired,
  465.         FocusLost,
  466.         CloneInto,
  467.         ExternalizeKinds,
  468.                 Externalize,
  469.         ChangeKind,
  470.         HandleEvent,
  471.         HandleEventInEmbedded,
  472.         MouseEnter,
  473.         MouseWithin,
  474.         MouseLeave,
  475.         AdjustMenus,
  476.         UndoAction,
  477.         RedoAction,
  478.         DisposeActionState,
  479.         WriteActionState,
  480.         ReadActionState,
  481.         InitPart,
  482.         InitPartFromStorage,
  483.                 Release;
  484.  
  485.     #if 1 //def __PRIVATE__
  486.                 passthru C_xh = ""
  487.                         "class ODFrame ;"
  488.                         "class ODTransform ;"
  489.                         #ifdef _PLATFORM_MAC_
  490.                            "struct Proxy {"
  491.                            "ODRgnHandle region;"
  492.                            "ODFrame* frame;"
  493.                            "ODTransform* transform;"
  494.                            "Proxy(ODRgnHandle r, ODFrame* f, ODTransform* t) {region = r; frame = f; transform = t; }"
  495.                            "};"
  496.                            "#include <Printing.h>"
  497.                            "#include <Quickdraw.h>";
  498.                         #else
  499.                            "struct Proxy;"
  500.                            "struct PRNINFO;";
  501.                            passthru C_xh_after = "typedef long RGBColor;";
  502.                         #endif
  503.                 passthru C_xih = " "
  504.                         #ifdef _PLATFORM_MAC_
  505.                            "typedef Handle ODIcon;"
  506.                         #endif
  507.                 ;
  508.     #endif
  509.  
  510.     #ifdef __PRIVATE__
  511.         // instance variables
  512.              ODxOrderedCollection       fDisplayFrames;
  513.              ODxOrderedCollection       fEmbeddedFrames;
  514.              ODID                               fWindowID;                      // ID of View As Window window
  515.  
  516.              //ODULong                    fFrameGroupIDCounter;
  517.              POINTL                     fDragStart;
  518.  
  519.              RGBColor                   fDefaultColor; // Initial background color of all display frames
  520.              ODxOrderedCollection       fContents;
  521.              ODxOrderedCollection       fSelection;
  522.  
  523.              ODRgnHandle                        fSelectRgn;
  524.              ODRgnHandle                        fCornerHandleRgn;
  525.              ODRgnHandle                        fEdgeHandleRgn;
  526.  
  527.              //ODIcon                   fLargeIcons;
  528.              //ODIcon                   fSmallIcons;
  529.  
  530.              ODFocusSet                 fFocusSet;
  531.              ODTypeToken                fSelectionFocus;
  532.              ODTypeToken                fMenuFocus;
  533.              ODTypeToken                fKeyFocus;
  534.              ODTypeToken                fMouseFocus;
  535.  
  536.              ODSemanticInterface        fSemtIntf;
  537.  
  538.              ODSelectedContainerPartExtension    fSelectedPartExtension;
  539.  
  540.              ODSession                  fSession;
  541.              //ODStorageUnit              fTestDrawSU;
  542.              ODBoolean fNeedToExternalize;
  543.              ODNotebook fNotebook;
  544.              #ifdef _PLATFORM_MAC_
  545.                 ODMenuBar               fMenuBar;
  546.  
  547.                 MenuHandle              fEmbedMenu;
  548.                 MenuHandle              fColorMenu;
  549.                 MenuHandle              fFrameMenu;
  550.  
  551.  
  552.                 THPrint         fPrintRecord;
  553.              #else
  554.                 HPS               hpsMem;
  555.                 HDC               hdcMem;
  556.  
  557.                 ODPoint           mouseStart;   //dwf
  558.                 ODBoolean         fTracking;   // tracking the mouse?
  559.                 POINTL            ptlOrigin;   // origin of tracking rect
  560.                 POINTL            ptlEnd;      // end of tracking rect
  561.                 HRGN              hrgnTrackingClip; // clip rgn for tracking rect
  562.  
  563.                 // just for the sake of debugging, we'll have a menu item
  564.                 //   for toggling the check and enable state of another
  565.                 //   menu item.  It will toggle between four states.
  566.                 long DemoState;
  567.                 long DemoOpenCount;
  568.                 ODMenuBar     fSPEMenuOfSelection;
  569.                 ODMenuBar     fRemappedSPEMenuOfSelection;
  570.              #endif
  571.     #endif
  572.  
  573.         };
  574. #endif
  575. };
  576.  
  577. #endif  // _CNTNRPRT_
  578.  
  579.