Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef __I_GUI_LIST_BOX_H_INCLUDED__
00006 #define __I_GUI_LIST_BOX_H_INCLUDED__
00007
00008 #include "IGUIElement.h"
00009 #include "SColor.h"
00010
00011 namespace irr
00012 {
00013 namespace gui
00014 {
00015 class IGUISpriteBank;
00016
00018 enum EGUI_LISTBOX_COLOR
00019 {
00021 EGUI_LBC_TEXT=0,
00023 EGUI_LBC_TEXT_HIGHLIGHT,
00025 EGUI_LBC_ICON,
00027 EGUI_LBC_ICON_HIGHLIGHT,
00029 EGUI_LBC_COUNT
00030 };
00031
00032
00034
00038 class IGUIListBox : public IGUIElement
00039 {
00040 public:
00042 IGUIListBox(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
00043 : IGUIElement(EGUIET_LIST_BOX, environment, parent, id, rectangle) {}
00044
00046 virtual u32 getItemCount() const = 0;
00047
00049 virtual const wchar_t* getListItem(u32 id) const = 0;
00050
00052 virtual u32 addItem(const wchar_t* text) = 0;
00053
00055
00058 virtual u32 addItem(const wchar_t* text, s32 icon) = 0;
00059
00061 virtual void removeItem(u32 index) = 0;
00062
00064
00065 virtual s32 getItemAt(s32 xpos, s32 ypos) const = 0;
00066
00068 virtual s32 getIcon(u32 index) const = 0;
00069
00071
00075 virtual void setSpriteBank(IGUISpriteBank* bank) = 0;
00076
00078 virtual void clear() = 0;
00079
00081 virtual s32 getSelected() const = 0;
00082
00084 virtual void setSelected(s32 index) = 0;
00085
00087 virtual void setSelected(const wchar_t *item) = 0;
00088
00090 virtual void setAutoScrollEnabled(bool scroll) = 0;
00091
00093 virtual bool isAutoScrollEnabled() const = 0;
00094
00096 virtual void setItemOverrideColor(u32 index, video::SColor color) = 0;
00097
00099 virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, video::SColor color) = 0;
00100
00102 virtual void clearItemOverrideColor(u32 index) = 0;
00103
00105 virtual void clearItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) = 0;
00106
00108 virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
00109
00111 virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
00112
00114 virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const = 0;
00115
00117 virtual void setItem(u32 index, const wchar_t* text, s32 icon) = 0;
00118
00120
00121 virtual s32 insertItem(u32 index, const wchar_t* text, s32 icon) = 0;
00122
00124 virtual void swapItems(u32 index1, u32 index2) = 0;
00125
00127 virtual void setItemHeight( s32 height ) = 0;
00128
00130 virtual void setDrawBackground(bool draw) = 0;
00131 };
00132
00133
00134 }
00135 }
00136
00137 #endif
00138