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

  1. #ifndef _IVBMENUH_
  2.   #define _IVBMENUH_
  3.  
  4. /*******************************************************************************
  5. * FILE NAME: ivbmenuh.hpp                                                      *
  6. *                                                                              *
  7. * DESCRIPTION:                                                                 *
  8. *   Declaration of the class(es):                                              *
  9. *    IVBPopupMenuHandler - Popup Menu Handler                                  *
  10. *    IVBCnrPopupMenuHandler - Cnr Popup Menu Handler                           *
  11. *    IVBCheckMenuHandler - Auto Check Menu Item Handler                        *
  12. *                                                                              *
  13. * COPYRIGHT:                                                                   *
  14. *   IBM(R) VisualAge(TM) for C++                                               *
  15. *   (C) Copyright International Business Machines Corporation 1991, 1996       *
  16. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  17. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  18. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  19. *                                                                              *
  20. *   This program will not run in DOS mode.                                     *
  21. *                                                                              *
  22. *******************************************************************************/
  23.  
  24. #ifndef _IMENUHDR_
  25.   #include <imenuhdr.hpp>
  26. #endif
  27.  
  28. #ifndef _ICNRMHDR_
  29.   #include <icnrmhdr.hpp>
  30. #endif
  31.  
  32. /*-------------------------- Pragma Library Support --------------------------*/
  33. #ifndef __NO_DEFAULT_LIBS__
  34.   #ifdef __OS2__
  35.     #ifdef __IMPORTLIB__
  36.        #pragma library("CPPOOV3I.LIB")
  37.     #else
  38.        #pragma library("CPPOOV3.LIB")
  39.     #endif
  40.   #endif
  41.   #ifdef __WINDOWS__
  42.     #ifdef __IMPORTLIB__
  43.        #pragma library("CPPWOV3I.LIB")
  44.     #else
  45.        #pragma library("CPPWOV3.LIB")
  46.     #endif
  47.   #endif
  48. #endif
  49.  
  50. class IPopUpMenu;
  51. class IMenu;
  52.  
  53. /*----------------------------------------------------------------------------*/
  54. /* Align classes on four byte boundary.                                       */
  55. /*----------------------------------------------------------------------------*/
  56. #pragma pack(4)
  57.  
  58. //**************************************************************************
  59. // Class:   IVBPopupMenuHandler                                            *
  60. //                                                                         *
  61. // Purpose: Subclass of IMenuHandler so that the a PopUp Menu can be       *
  62. //          created.                                                       *
  63. //                                                                         *
  64. //**************************************************************************
  65. class IVBPopupMenuHandler: public IMenuHandler
  66. {
  67. public:
  68.   IVBPopupMenuHandler (IPopUpMenu * aPopupMenu);
  69.  
  70. virtual
  71.   ~IVBPopupMenuHandler ();
  72.  
  73. protected:
  74.   Boolean makePopUpMenu(IMenuEvent& menuEvent);
  75.  
  76. IPopUpMenu * iPopup;
  77.  
  78. };
  79.  
  80. //**************************************************************************
  81. // Class:   IVBCnrPopupMenuHandler                                         *
  82. //                                                                         *
  83. // Purpose: Subclass of ICnrMenuHandler so that the a PopUp Menu can be    *
  84. //          created.                                                       *
  85. //                                                                         *
  86. //**************************************************************************
  87. class IVBCnrPopupMenuHandler: public ICnrMenuHandler
  88. {
  89. public:
  90.   IVBCnrPopupMenuHandler (IPopUpMenu * aPopupMenu);
  91.  
  92. virtual
  93.   ~IVBCnrPopupMenuHandler ();
  94.  
  95. protected:
  96.   Boolean makePopUpMenu(IMenuEvent& menuEvent);
  97.  
  98. IPopUpMenu * iPopup;
  99.  
  100. };
  101.  
  102. //**************************************************************************
  103. // Class:   IVBCheckMenuHandler                                            *
  104. //                                                                         *
  105. // Purpose: Subclass of IMenuHandler so that the a Menu Item can be        *
  106. //          auto checked.                                                  *
  107. //                                                                         *
  108. //**************************************************************************
  109. class IVBCheckMenuHandler : public IMenuHandler
  110. {
  111. public:
  112.   IVBCheckMenuHandler (IMenu * target, unsigned long aMenuId);
  113.  
  114. virtual
  115.   ~IVBCheckMenuHandler ();
  116.  
  117. virtual Boolean
  118.   menuSelected  ( IMenuEvent& menuEvent );
  119.  
  120. protected:
  121.   unsigned long iMenuId;
  122.   IMenu * iTarget;
  123. } ;
  124.  
  125. /*----------------------------------------------------------------------------*/
  126. /* Resume compiler default packing.                                           */
  127. /*----------------------------------------------------------------------------*/
  128. #pragma pack()
  129.  
  130. #endif
  131.