home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / imenubar.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  2.8 KB  |  85 lines

  1. #ifndef _IMENUBAR_
  2. #define _IMENUBAR_
  3. /*******************************************************************************
  4. * FILE NAME: imenubar.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class:                                                  *
  8. *     IMenuBar                                                                 *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18. #include <imenu.hpp>
  19.  
  20. class IFrameWindow;
  21. class IMenuBarData;
  22. class IResourceId;
  23.  
  24. #pragma pack(4)
  25.  
  26. class IMenuBar : public IMenu {
  27. typedef IMenu
  28.   Inherited;
  29. public:
  30. class Style;
  31. /*------------------------------- Constructors -------------------------------*/
  32.   IMenuBar ( const IResourceId& menuResId,
  33.              IFrameWindow*      owner);
  34.  
  35.   IMenuBar ( IFrameWindow*      owner,
  36.              const Style&       style = defaultStyle() );
  37.  
  38. virtual
  39.  ~IMenuBar ( );
  40.  
  41. /*---------------------------------- Styles ----------------------------------*/
  42. INESTEDBITFLAGCLASSDEF2(Style, IMenuBar, IWindow, IMenu);
  43. static const Style
  44.   IC_IMPORTU classDefaultStyle,
  45.   IC_IMPORTU empty,
  46.   IC_IMPORTU wrapper;
  47.  
  48. static Style
  49.   defaultStyle      ( );
  50.  
  51. static void
  52.   setDefaultStyle   ( const Style&    style );
  53.  
  54. virtual unsigned long
  55.   convertToGUIStyle ( const IBitFlag& style,
  56.                       Boolean         extendedOnly = false ) const;
  57.  
  58. /*----------------------------- Replacing Menus ------------------------------*/
  59. virtual IMenuBar
  60.   &setMenu        ( const IResourceId&  menuResId );
  61.  
  62.  
  63. private:
  64. /*------------------------------ Hidden Members ------------------------------*/
  65.   IMenuBar   ( const IMenuBar& menuBar );
  66. IMenuBar
  67.  &operator = ( const IMenuBar& menuBar );
  68.  
  69. /*--------------------------------- Private ----------------------------------*/
  70. static Style
  71.   currentDefaultStyle;
  72.  
  73. IMenuBarData
  74.  *fMenuBarData;
  75.  
  76. }; // IMenuBar
  77.  
  78. INESTEDBITFLAGCLASSFUNCS(Style, IMenuBar);
  79.  
  80. #pragma pack()
  81.  
  82.   #include <imenubar.inl>
  83.  
  84. #endif  /* _IMENUBAR_ */
  85.