home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / owlinc.pak / TEXTGADG.H < prev    next >
C/C++ Source or Header  |  1997-07-23  |  2KB  |  64 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows
  3. // (C) Copyright 1992, 1994 by Borland International, All Rights Reserved
  4. //
  5. //   Definition of text gadget class TGadget.
  6. //----------------------------------------------------------------------------
  7. #if !defined(OWL_TEXTGADG_H)
  8. #define OWL_TEXTGADG_H
  9.  
  10. #if !defined(OWL_GADGET_H)
  11. # include <owl/gadget.h>
  12. #endif
  13.  
  14. //
  15. //  class TTextGadget
  16. //  ----- -----------
  17. //
  18. //  when constructing the text gadget specify how many characters you want
  19. //  room for and how the text should be aligned horizontally
  20. //
  21. //  the inner bounds are computed by multiplying the number of characters by
  22. //  the maximum character width
  23. //
  24. class _OWLCLASS TTextGadget : public TGadget {
  25.   public:
  26.     enum TAlign {Left, Center, Right};
  27.  
  28.     TTextGadget(int id = 0, TBorderStyle = Recessed, TAlign = Left, uint numChars = 10, const char* text = 0);
  29.    ~TTextGadget();
  30.  
  31.     const char*   GetText() const {return Text;}
  32.  
  33.     //
  34.     // makes a copy of the text
  35.     //
  36.     void    SetText(const char *text);
  37.  
  38.   protected:
  39.     //
  40.     // override virtual methods defined in TGadget
  41.     //
  42.     void    Paint(TDC& dc);
  43.     void    GetDesiredSize(TSize &size);
  44.     void    Invalidate();
  45.  
  46.   private:
  47.     uint    GetMaxCharWidth();
  48.  
  49.   protected:
  50.     char*    Text;
  51.     uint     TextLen;
  52.     TAlign   Align;
  53.     uint     NumChars;
  54.  
  55.   private:
  56.     //
  57.     // hidden to prevent accidental copying or assignment
  58.     //
  59.     TTextGadget(const TTextGadget&);
  60.     TTextGadget& operator =(const TTextGadget&);
  61. };
  62.  
  63. #endif  // OWL_TEXTGADG_H
  64.