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

  1. #ifndef _ITEXTCTL_
  2.   #define _ITEXTCTL_
  3. /*******************************************************************************
  4. * FILE NAME: itextctl.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     ITextControl                                                             *
  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 <icontrol.hpp>
  19.  
  20. #pragma pack(4)
  21.  
  22. class IResourceId;
  23. class ISize;
  24. class IString;
  25. class ITextControlData;
  26.  
  27. class ITextControl : public IControl {
  28. typedef IControl
  29.   Inherited;
  30. public:
  31. /*------------------------------- Constructors -------------------------------*/
  32. virtual
  33.  ~ITextControl           ( );
  34.  
  35. /*-------------------------------- Accessors ---------------------------------*/
  36. virtual ITextControl
  37.  &setText                ( const char* text ),
  38.  &setText                ( const IResourceId& text );
  39.  
  40. virtual IString
  41.   text                   ( ) const;
  42.  
  43. virtual unsigned long
  44.   textLength             ( ) const;
  45.  
  46. /*--------------------------- Clipboard Operations ---------------------------*/
  47. static Boolean
  48.   clipboardHasTextFormat ( );
  49.  
  50. /*----------------------------- Window Painting ------------------------------*/
  51. virtual ISize
  52.   displaySize            ( const char* text = 0 ) const;
  53.  
  54. /*-------------------------------- Overrides ---------------------------------*/
  55. virtual ITextControl
  56.  &setLayoutDistorted     ( unsigned long layoutAttributeOn,
  57.                            unsigned long layoutAttributeOff );
  58.  
  59. /*----------------------- Notification Event Descriptions --------------------*/
  60. static INotificationId const
  61.   IC_IMPORTU textId;
  62.  
  63. protected:
  64.   ITextControl           ( );
  65.  
  66. private:
  67. /*------------------------------ Hidden Members ------------------------------*/
  68.   ITextControl           ( const ITextControl& textControl );
  69. ITextControl
  70.  &operator=              ( const ITextControl& textControl );
  71.  
  72. /*--------------------------------- Private ----------------------------------*/
  73. friend class ITextControlNotifyHandler;
  74.  
  75. Boolean
  76.   fromSetText ( ) const;
  77.  
  78. ITextControlData
  79.  *fTextControlData;
  80. }; // class ITextControl
  81.  
  82. #pragma pack()
  83.  
  84. #endif  // _ITEXTCTL_
  85.