00001
00015 #ifndef CUI_MENUITEM_H
00016 #define CUI_MENUITEM_H
00017
00018 #include "UI_Lib.h"
00019 #include "UI_types.h"
00020
00021
00022 #include "IUI_Font.h"
00023 #include "CUI_CoordSys.h"
00024 #include "CUI_Widget.h"
00025 #include "CUI_Button.h"
00026 #include "CUI_ListItem.h"
00027
00029 #define UI_ITEM_SUBMENU 0x4000
00030
00032
00042 class GLGUI_ENTRY CUI_MenuItem : public CUI_ListItem
00043 {
00044 public:
00046 CUI_MenuItem( const char *text = NULL, unsigned int itemID = 0,
00047 IUI_Shader *icon = NULL, unsigned short flags = UI_ITEM_BUTTON,
00048 IUI_Shader *submenuicon = NULL, void *submenu = NULL );
00049
00051 virtual ~CUI_MenuItem();
00052
00054 virtual bool CreateElements( CUI_UI *ui, CUI_Frame *parent,
00055 IUI_Shader *itemShader, IUI_Shader *hoverShader,
00056 IUI_Border *itemBorder, IUI_Font *font );
00057
00059 virtual bool SetSubMenu( void *submenu )
00060 { m_submenu = submenu; return false; }
00061
00063 virtual void *GetSubMenu( )
00064 { return m_submenu; }
00065
00067 virtual bool SetSubMenuIcon( IUI_Shader *icon )
00068 { m_subMenuIcon = icon; return false; }
00069
00071 virtual IUI_Shader *GetSubMenuIcon( )
00072 { return m_subMenuIcon; }
00073
00075
00076
00078 virtual CUI_Frame *GetSubMenuIconFrame( )
00079 { return m_subMenuIconFrame; }
00080
00081 protected:
00082
00084 void *m_submenu;
00085
00087 IUI_Shader *m_subMenuIcon;
00088
00090 CUI_Frame *m_subMenuIconFrame;
00091
00092 };
00093
00094
00095 #endif