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

  1. #ifndef _IMENUHDR_
  2. #define _IMENUHDR_
  3. /*******************************************************************************
  4. * FILE NAME: imenuhdr.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class:                                                  *
  8. *     IMenuHandler                                                             *
  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 <ihandler.hpp>
  19. #include <imenuevt.hpp>
  20.  
  21. class IMenuHandle;
  22. class ISubmenu;
  23.  
  24. #pragma pack(4)
  25.  
  26. class IMenuHandler : public IHandler {
  27. typedef IHandler
  28.   Inherited;
  29. public:
  30. /*------------------------------- Constructors -------------------------------*/
  31.   IMenuHandler ( );
  32. virtual
  33.  ~IMenuHandler ( );
  34.  
  35. protected:
  36. /*---------------------------- Event Dispatching -----------------------------*/
  37. virtual Boolean
  38.   dispatchHandlerEvent ( IEvent& event );
  39.  
  40. /*----------------------------- Event Processing -----------------------------*/
  41. virtual Boolean
  42.   makePopUpMenu ( IMenuEvent& menuEvent ),
  43.   menuShowing   ( IMenuEvent& menuEvent,
  44.                   ISubmenu&   submenuAboutToShow ),
  45.   menuSelected  ( IMenuEvent& menuEvent ),
  46.   menuEnded     ( IMenuEvent& menuEvent );
  47.  
  48. /*------------------------------ Menu Emphasis -------------------------------*/
  49. virtual void
  50.   addSourceEmphasis    ( const IMenuEvent& menuEvent ),
  51.   removeSourceEmphasis ( const IMenuEvent& menuEvent );
  52.  
  53. private:
  54. void
  55.   cachePopupIdForEnd   ( const IMenuHandle& menuHandle,
  56.                          unsigned long      itemId ),
  57.   deletePopupCache     ();
  58.  
  59. void
  60.  *fhMenuSelect,
  61.  *fpPopCacheList;
  62. }; // IMenuHandler
  63.  
  64. #pragma pack()
  65.  
  66. #endif /* IMENUHDR */
  67.