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

  1. #ifndef _IFLYTEXT_
  2. #define _IFLYTEXT_
  3. /*******************************************************************************
  4. * FILE NAME: iflytext.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IFlyText                                                                 *
  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 <iglist.hpp>
  20. #include <irect.hpp>
  21.  
  22.  
  23. class IGPolygon;
  24. class IGPolyline;
  25. class IResourceId;
  26. class IFlyTextData;
  27.  
  28. #pragma pack(4)
  29.  
  30. class IFlyText : public ITextControl {
  31. typedef ITextControl
  32.   Inherited;
  33.  
  34. public:
  35. /*------------------------------- Constructors -------------------------------*/
  36.   IFlyText ( unsigned long identifier,
  37.              IWindow*      owner      );
  38. virtual
  39.   ~IFlyText( );
  40.  
  41. /*---------------------------------- Text ------------------------------------*/
  42. virtual IFlyText
  43.  &setText       ( const char*        text ),
  44.  &setText       ( const IResourceId& text );
  45.  
  46. /*--------------------------- Window Positioning -----------------------------*/
  47. virtual IFlyText
  48.  &setRelativeWindowRect ( const IRectangle& rect );
  49.  
  50. virtual IRectangle
  51.   relativeWindowRect    ( ) const;
  52.  
  53. /*----------------------------- Window Painting ------------------------------*/
  54. virtual IWindow
  55.  &hide ( );
  56.  
  57. private:
  58. /*--------------------------------- Private ----------------------------------*/
  59. enum ArrowPos {
  60.   upperRight,
  61.   upperLeft,
  62.   lowerRight,
  63.   lowerLeft };
  64. IFlyTextData
  65.  *fFlyTextData;
  66. IGList
  67.   fHelpArrow;
  68. IGPolygon
  69.  *fArrow;
  70. IGPolyline
  71.  *fBorderArrow;
  72. ArrowPos
  73.   fArrowPos;
  74. IRectangle
  75.   fWinrc;
  76.  
  77. /*------------------------------ Hidden Functions ----------------------------*/
  78.   IFlyText  ( const IFlyText& );
  79. IFlyText
  80.  &operator= ( const IFlyText& );
  81.  
  82. static IRectangle
  83.   fgScreen;
  84. static Boolean
  85.   fgRegistered;
  86. friend class IFlyTextPaintHandler;
  87. }; // IFlyText
  88.  
  89. #pragma pack()
  90.  
  91. #endif // _IFLYTEXT_
  92.