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

  1. #ifndef _IACCEL_
  2. #define _IACCEL_
  3. /*******************************************************************************
  4. * FILE NAME: iaccel.hpp                                                        *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class:                                                  *
  8. *     IAccelerator                                                             *
  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 <ibase.hpp>
  19. #include <ihandle.hpp>
  20.  
  21. class IResourceId;
  22. class IWindow;
  23. class IAcceleratorData;
  24.  
  25. #pragma pack(4)
  26.  
  27. class IAccelerator : public IBase {
  28. typedef IBase
  29.   Inherited;
  30. public:
  31. /*------------------------------- Constructors -------------------------------*/
  32.   IAccelerator ( const IAccelTblHandle& haccel = 0,
  33.                  IWindow*               owner = 0 );
  34.  
  35.   IAccelerator ( const IResourceId&     accelResId,
  36.                  IWindow*               owner = 0 );
  37.  
  38.   IAccelerator ( unsigned long          accelResId,
  39.                  IWindow*               owner = 0 );
  40.  
  41.  ~IAccelerator ( );
  42.  
  43.  
  44. /*---------------------------- Accelerator Tables ----------------------------*/
  45. IAccelerator
  46.  &set    ( const IAccelTblHandle& haccel ),
  47.  &set    ( const IResourceId&     accelResId ),
  48.  &set    ( unsigned long          accelResId );
  49.  
  50. IAccelerator
  51.  &remove ( ),
  52.  &reset  ( );
  53.  
  54. Boolean
  55.   isSet  ( ) const;
  56.  
  57. IAccelTblHandle
  58.   handle ( ) const;
  59.  
  60.  
  61. /*---------------------------------- Window ----------------------------------*/
  62. IWindow
  63.  *owner ( ) const;
  64.  
  65.  
  66. private:
  67. /*------------------------------ Hidden Members ------------------------------*/
  68. IAccelerator ( const IAccelerator& accelerator );
  69. IAccelerator
  70.  &operator=  ( const IAccelerator& accelerator );
  71.  
  72. /*--------------------------------- Private ----------------------------------*/
  73. void
  74.   create      ( IWindow* pwndOwner );
  75. IWindowHandle
  76.   ownerHandle ( ) const;
  77.  
  78. IWindow
  79.  *pwndClOwner;
  80. IAccelTblHandle
  81.   haccelCl;
  82. IAccelTblHandle
  83.   haccelClPrior,
  84.   haccelClOriginal;
  85. Boolean
  86.   isSetCl;
  87.  
  88. IAcceleratorData
  89.  *fAcceleratorData;
  90.  
  91. }; // IAccelerator
  92.  
  93. #pragma pack()
  94.  
  95.   #include <iaccel.inl>
  96.  
  97. #endif /* _IACCEL_ */
  98.