home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional Developers Kit 1992 November / Disc01 / Disc01.mdf / cppbeta / ibmcli / iabmenu.hp_ / IABMENU.HPP
Encoding:
C/C++ Source or Header  |  1992-10-26  |  3.8 KB  |  76 lines

  1. #ifndef _IABMENU_
  2.   #define _IABMENU_
  3. /**************************************************************/
  4. /* FILE NAME: iabmenu.hpp                                     */
  5. /*                                                            */
  6. /* DESCRIPTION:                                               */
  7. /*    Declaration of the class:                               */
  8. /*      IActionBarMenu - menu bar created from a resource     */
  9. /*                                                            */
  10. /* COPYRIGHT:                                                 */
  11. /*   Licensed Materials - Property of IBM                     */
  12. /*   (c) Copyright IBM Corporation 1992, 1993                 */
  13. /*   US Government Users Restricted Rights - Use duplication  */
  14. /*   or disclosure restricted by GSA ADP Schedule Contract    */
  15. /*   with IBM Corp.                                           */
  16. /*                                                            */
  17. /* $Log:   G:/IBMCLASS/IBASEAPP/VCS/IABMENU.HPV  $                                                      */
  18. // 
  19. //    Rev 1.2   26 Oct 1992 10:00:40   HARPERSP
  20. // Updates for standardized header documentation.
  21. /*                                                            */
  22. /**************************************************************/
  23.  
  24. #ifndef _IMENU_
  25. #include <imenu.hpp>
  26. #endif
  27.  
  28. // Forward declarations for other classes
  29. class   IActionBarMenu;     /*  abmn  */
  30. class   IWindow;
  31. class   IWindowHandle;
  32. class   IResourceId;
  33.  
  34. class IActionBarMenu : public IMenu
  35. {
  36. /**********************************************************************
  37. * Creates an ActionBar Menu from an IResourceId and assigns it to     *
  38. * an IWindow (typically an IFrame or an IDialog).                     *
  39. *                                                                     *
  40. * Example:                                                            *
  41. *   IActionBarMenu menu(ID_ACTIONBAR, myFrame);                       *
  42. *     menu identified by resource ID_ACTIONBAR is assigned to myFrame *
  43. *                                                                     *
  44. *   menu.setMenu(ID_OTHERACTIONBAR);                                  *
  45. *     menu is changed to one identified by ID_OTHERACTIONBAR          *
  46. *                                                                     *
  47. * The member functions in IMenu and ISubMenu can be used to           *
  48. * change the IActionBarMenu. IMenuItem objects can be added to the    *
  49. * IActionBarMenu.                                                     *
  50. **********************************************************************/
  51.   public:
  52. /*------------------ CONSTRUCTORS/DESTRUCTORS -------------------------
  53. |  There is 1 way to construct instances of this class:               |
  54. |    1. IActionBarMenu(const IResourceId& menuResId,                  |
  55. |                      const IWindow* const owner);                   |
  56. |                                                                     |
  57. ---------------------------------------------------------------------*/
  58.  
  59.      IActionBarMenu(const IResourceId& menuResId,
  60.                     const IWindow* const owner);
  61.      ~IActionBarMenu();
  62.  
  63. /*---------------------- ACCESSORS ------------------------------------
  64. |                                                                     |
  65. | void setMenu() - changes the menu to the one passed in              |
  66. |                                                                     |
  67. ---------------------------------------------------------------------*/
  68.      void setMenu(const IResourceId& menuResId);
  69.  
  70.   private:
  71. /*----------------------- PRIVATE -----------------------------------*/
  72.      void create(const IResourceId& menuResId);
  73.      const IWindow* pwndClOwner;
  74. };
  75. #endif  /* _IABMENU_ */
  76.