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

  1. #ifndef _IGROUPBX_
  2.   #define _IGROUPBX_
  3. /*******************************************************************************
  4. * FILE NAME: igroupbx.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *    IGroupBox                                                                 *
  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 <itextctl.hpp>
  19. #include <irect.hpp>
  20.  
  21. class ISize;
  22. class IWindowHandle;
  23. class IGroupBoxData;
  24. class IResourceId;
  25.  
  26. #pragma pack(4)
  27.  
  28. class IGroupBox : public ITextControl  {
  29. typedef ITextControl
  30.   Inherited;
  31. public:
  32. class Style;
  33. /*------------------------- Constructors -------------------------------------*/
  34.   IGroupBox ( unsigned             long id,
  35.               IWindow*             parent,
  36.               IWindow*             owner,
  37.               const IRectangle&    initial= IRectangle(),
  38.               const Style&         style = defaultStyle() );
  39.  
  40.   IGroupBox ( unsigned long        id,
  41.               IWindow*             parentDialog );
  42.  
  43.   IGroupBox ( const IWindowHandle& handle );
  44.  
  45. virtual
  46.  ~IGroupBox ( );
  47.  
  48. /*---------------------------------- Styles ----------------------------------*/
  49. INESTEDBITFLAGCLASSDEF1(Style, IGroupBox, IWindow);
  50.                                   // style class definition
  51. static const Style
  52.   IC_IMPORTU classDefaultStyle;
  53.  
  54. static Style
  55.   defaultStyle      ( );
  56.  
  57. static void
  58.   setDefaultStyle   ( const Style&    style );
  59.  
  60. virtual unsigned long
  61.   convertToGUIStyle ( const IBitFlag& style,
  62.                       Boolean         extendedOnly = false ) const;
  63.  
  64. /*---------------------------- Canvas Support --------------------------------*/
  65. virtual IRectangle
  66.   visibleRectangle   ( ) const;
  67.  
  68. #ifndef IC_WIN_FLAGNOP
  69. /*----------------------------- Color Functions ------------------------------*/
  70. virtual IColor
  71.   foregroundColor () const;
  72. #endif
  73.  
  74. /*-------------------------- Text Processing ---------------------------------*/
  75. virtual IGroupBox
  76.  &setText  ( const char*        text ),
  77.  &setText  ( const IResourceId& text );
  78.  
  79.  
  80. protected:
  81. /*------------------------------- Layout -------------------------------------*/
  82. virtual ISize
  83.   calcMinimumSize() const;
  84.  
  85. private:
  86. /*--------------------------------- Private ----------------------------------*/
  87.  
  88. static Style
  89.   currentDefaultStyle;
  90.  
  91. IGroupBoxData
  92.  *fGroupBoxData;
  93.  
  94. /*---------------------------- Hidden Functions ------------------------------*/
  95.   IGroupBox ( const IGroupBox& );
  96. IGroupBox
  97.  &operator= ( const IGroupBox& );
  98.  
  99. }; // class IGroupBox
  100.  
  101. INESTEDBITFLAGCLASSFUNCS(Style, IGroupBox);
  102.  
  103. #pragma pack()
  104.  
  105. #endif  /* _IGROUPBX_ */
  106.