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

CascadeSpinnerWidget.h

Go to the documentation of this file.
00001 //
00002 // CascadeSpinnerWidget.h - interface of class CascadeSpinnerWidget
00003 //
00004 // Copyright (c) 2003, Roku, LLC.  All rights reserved.
00005 //
00008 #ifndef _ROKU_INCLUDE_CASCADE_WIDGETS_CASCADESPINNERWIDGET_H
00009 #define _ROKU_INCLUDE_CASCADE_WIDGETS_CASCADESPINNERWIDGET_H
00010 
00011 #include <cascade/widgets/CascadeWidget.h>
00012 #include <cascade/util/CascadeString.h>
00013 
00025 class CascadeSpinnerWidget : public CascadeWidget
00026 {
00027 public:
00028     CascadeSpinnerWidget();
00032     virtual ~CascadeSpinnerWidget();
00036 public:
00037 
00038     void SetBitmapHighlight(CascadeBitmap * pBitmap);
00046                 
00047     void SetBitmapNormal(CascadeBitmap * pBitmap);
00055 
00056     void SetTextOptions(const CascadeString* inStringList, u32 nCount);
00064 
00065     typedef void (ChoiceChangeCallback)(const CascadeSpinnerWidget * pSpinner,const u32 & newChoice, void * pClientData);
00074                 
00075     void RegisterChoiceChangeCallback(ChoiceChangeCallback * pCallback, void * pClientData);
00083 
00084     void SetSpinOnSelect(bool bSpinOnSelect) { m_bSpinOnSelect = bSpinOnSelect; }
00092     
00093     bool GetSpinOnSelect() { return m_bSpinOnSelect; }
00100     
00101     u32 GetCurrentChoiceIndex() const { return m_nCurrentChoice; }
00108                 
00109     bool SetCurrentChoiceIndex(u32 inNewChoiceIndex);
00117                 
00118     bool SetCurrentChoiceString(const CascadeString& inNewChoiceString);
00127     
00128 protected: // virtual functions overridden from base classes
00129     virtual bool OnKeyDown(u32 nKey);
00137 
00138     virtual void OnPaint(CascadeBitmap & bitmap);
00145 
00146     virtual bool OnNavKey(u32 nKey, CascadeWindow * & pProposedNewFocusWnd);
00155         
00156                 
00157 protected:
00158     const CascadeString*   m_textChoices;
00162     u32              m_nNumChoices;
00166     u32              m_nCurrentChoice;
00171     CascadeBitmap*  m_pBitmapHighlight;
00176     CascadeBitmap*  m_pBitmapNormal;
00181     ChoiceChangeCallback * m_pCallback;
00186     void * m_pClientData;
00190     bool m_bSpinOnSelect;
00194 };
00195 
00196 #endif // #ifndef _ROKU_INCLUDE_CASCADE_WIDGETS_CASCADESPINNERWIDGET_H
00197 
00199 //  LOG
00201 //  06-Mar-03   pellis      created
00202 //  31-Jul-03   dwoodward   made GetCurrentChoiceIndex const
00203 //  31-Jul-03   dwoodward   added GetSpinOnSelect and SetSpinOnSelect

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