Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

CascadeWidget.h

Go to the documentation of this file.
00001 //
00002 // CascadeWidget.h - interface of class CascadeWidget
00003 //
00004 // Copyright (c) 2003, Roku, LLC.  All rights reserved.
00005 //
00008 
00009 #ifndef _ROKU_INCLUDE_CASCADE_WIDGETS_CASCADEWIDGET_H
00010 #define _ROKU_INCLUDE_CASCADE_WIDGETS_CASCADEWIDGET_H
00011 
00012 #include <cascade/app/CascadeWindow.h>
00013 #include <cascade/graphics/CascadeBitmap.h>
00014 #include <cascade/graphics/CascadeColor.h>
00015 #include <cascade/graphics/CascadeFont.h>
00016 
00027 class CascadeWidget : public CascadeWindow
00028 {
00029 public:
00030     CascadeWidget();
00034     virtual ~CascadeWidget();
00038 public:
00039     enum Scheme {
00040         kActiveNormal = 0,              
00041         kActiveFocus = 1,               
00042         kInactiveNormal = 2,            
00043         kInactiveFocus = 3,             
00044         kDisabled = 4,                  
00045         kNumSchemes = kDisabled + 1
00046     };
00054 public:
00055     inline CascadeColor GetColorHi();      // the hilight color for 3d elements
00064     inline CascadeColor GetColorLo();      // the lolight color for 3d elements
00073     inline CascadeColor GetColorMid();     // the background or mid color for 3d elements
00082     inline CascadeColor GetColorText();    // the color text should be rendered in
00091     inline CascadeFont  GetFont();         // the font text should be rendered in
00100     void SetDisabled(bool bDisabled, bool bRedraw = true);
00109     inline bool IsDisabled() const ;
00114 
00115     Scheme GetScheme();
00123             
00124 public:
00125     static CascadeColor GetColorHi(Scheme scheme);
00133     static CascadeColor GetColorLo(Scheme scheme);
00141     static CascadeColor GetColorMid(Scheme scheme);
00149     static CascadeColor GetColorText(Scheme scheme);
00157     static CascadeFont  GetFont(Scheme scheme);
00165 
00166     static void SetColorHi(const CascadeColor & color, Scheme scheme);
00180     static void SetColorLo(const CascadeColor & color, Scheme scheme);
00194     static void SetColorMid(const CascadeColor & color, Scheme scheme);
00208     static void SetColorText(const CascadeColor & color, Scheme scheme);
00222     static void SetFont(const CascadeFont & font, Scheme scheme);
00236 
00237     static void NotifyParametersChanged();
00246 
00247 public:
00248     virtual bool WillAcceptFocus() { return (! m_bDisabled); }
00254 
00255 protected:
00256     bool m_bDisabled;
00260 private:
00261 
00262 #ifndef DOXY_SKIP
00263     friend class CascadeApp;
00264 #endif
00265 
00266     static void ReCacheSharedParameters();
00267 };
00268 
00270 // class CascadeWidget inline functions
00271 inline CascadeColor CascadeWidget::GetColorHi()     { return GetColorHi(GetScheme());   }
00272 inline CascadeColor CascadeWidget::GetColorLo()     { return GetColorLo(GetScheme());  }
00273 inline CascadeColor CascadeWidget::GetColorMid()    { return GetColorMid(GetScheme());   }
00274 inline CascadeColor CascadeWidget::GetColorText()   { return GetColorText(GetScheme()); }
00275 inline CascadeFont  CascadeWidget::GetFont()        { return GetFont(GetScheme());      }
00276 inline bool         CascadeWidget::IsDisabled() const     { return m_bDisabled;         }
00277 
00278 #endif // #ifndef _ROKU_INCLUDE_CASCADE_WIDGETS_CASCADEWIDGET_H
00279 
00281 //  LOG
00283 //  06-Mar-03   dwoodward   created
00284 //  25-Apr-03   dwoodward   changed SetFont() to take a font, not font attributes
00285 //  25-Apr-03   dwoodward   added SetDisabled(), IsDisabled(), m_bDisabled
00286 //  14-May-03   dwoodward   doxygenated
00287 //  14-May-03   dwoodward   fixed GetColorLo and GetColorMid
00288 //  22-May-03   dwoodward   renamed Initialize() to ReCacheSharedParameters()

Generated on Sun Jul 24 14:27:17 2005 for Cascade Library by  doxygen 1.4.1