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

CUI_ListItem.h

Go to the documentation of this file.
00001 
00015 #ifndef CUI_LISTITEM_H
00016 #define CUI_LISTITEM_H
00017 
00018 #include "UI_Lib.h"
00019 #include "UI_types.h"
00020 
00021 // all this crap to use button
00022 #include "IUI_Border.h"
00023 #include "IUI_Renderer.h"
00024 #include "IUI_Font.h"
00025 #include "CUI_CoordSys.h"
00026 #include "CUI_Frame.h"
00027 #include "CUI_Widget.h"
00028 #include "CUI_Button.h"
00029 
00031 #define UI_ITEM_INACTIVE        0x0001
00032 
00033 #define UI_ITEM_DISABLED        0x0002
00034 
00035 #define UI_ITEM_BUTTON          0x1000
00036 
00037 #define UI_ITEM_TOGGLE          0x2000
00038 
00039 
00041 
00053 class GLGUI_ENTRY CUI_ListItem
00054 {
00055 public:
00057         CUI_ListItem( const char *text = NULL, unsigned int itemID = 0,
00058                                         IUI_Shader *icon = NULL, 
00059                                         unsigned short flags = UI_ITEM_BUTTON );
00060 
00062         virtual ~CUI_ListItem();
00063 
00065         virtual bool CreateElements( CUI_UI *ui, CUI_Frame *parent,
00066                                                                 IUI_Shader *itemShader, IUI_Shader *hoverShader,
00067                                                                 IUI_Border *itemBorder, IUI_Font *font );
00068 
00070         virtual bool SetText( char *text );
00071 
00073         virtual char *GetText( )
00074         { return m_text; }
00075 
00077         virtual bool SetItemID( unsigned int itemID )
00078         { m_itemID = itemID; return false; }
00079 
00081         virtual unsigned int GetItemID( )
00082         { return m_itemID; return false; }
00083 
00085         virtual bool SetIcon( IUI_Shader *icon );
00086 
00088         virtual bool SetTextFrame( CUI_Widget *frame )
00089         { m_textFrame = frame; return false; }
00090 
00091         virtual CUI_Widget *GetTextFrame( )
00092         { return m_textFrame; }
00093 
00095         virtual bool SetIconFrame( CUI_Frame *frame )
00096         { m_iconFrame = frame; return false; }
00097 
00098         virtual CUI_Frame *GetIconFrame( )
00099         { return m_iconFrame; }
00100 
00102         virtual bool SetFlag( unsigned long flag, bool set );
00103 
00105         virtual bool GetFlag( unsigned long flag );
00106 
00108 
00109         virtual bool IsSelectable();
00110 
00112         virtual CUI_Button *GetButton()
00113         { return m_button; }
00114 
00116         virtual IUI_Shader *GetIconShader()
00117         { return m_iconFrame->GetShader(); }
00118 
00120         virtual bool SetOwned( bool owned )
00121         { m_owned = owned; return false; }
00122 
00124 
00125         virtual bool ToggleState( );
00126 
00127 protected:
00128 
00130         char *m_text;
00131 
00133 
00134         unsigned int m_itemID;
00135 
00137         IUI_Shader *m_icon;
00138 
00140         unsigned short m_flags;
00141 
00143         CUI_Button *m_button;
00144 
00146         CUI_Widget *m_textFrame;
00147 
00149         CUI_Frame *m_iconFrame;
00150 
00152         bool m_state;
00153 
00154 private:
00156         bool m_owned;
00157 
00158 };
00159 
00160 #endif

Generated on Mon Sep 29 23:07:02 2003 for glGUI by doxygen 1.3.4