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 class IGUIListBox : public IGUIElement
00035 {
00036 public:
00038 IGUIListBox(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
00039 : IGUIElement(EGUIET_LIST_BOX, environment, parent, id, rectangle) {}
00040
00042 virtual u32 getItemCount() const = 0;
00043
00045 virtual const wchar_t* getListItem(u32 id) const = 0;
00046
00048 virtual u32 addItem(const wchar_t* text) = 0;
00049
00051
00054 virtual u32 addItem(const wchar_t* text, s32 icon) = 0;
00055
00057 virtual void removeItem(u32 index) = 0;
00058
00060 virtual s32 getIcon(u32 index) const = 0;
00061
00063
00067 virtual void setSpriteBank(IGUISpriteBank* bank) = 0;
00068
00070 virtual void clear() = 0;
00071
00073 virtual s32 getSelected() const = 0;
00074
00076 virtual void setSelected(s32 index) = 0;
00077
00079 virtual void setSelected(const wchar_t *item) = 0;
00080
00082 virtual void setAutoScrollEnabled(bool scroll) = 0;
00083
00085 virtual bool isAutoScrollEnabled() const = 0;
00086
00088 virtual void setItemOverrideColor(u32 index, const video::SColor &color) = 0;
00089
00091 virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, const video::SColor &color) = 0;
00092
00094 virtual void clearItemOverrideColor(u32 index) = 0;
00095
00097 virtual void clearItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) = 0;
00098
00100 virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
00101
00103 virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
00104
00106 virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const = 0;
00107
00109 virtual void setItem(u32 index, const wchar_t* text, s32 icon) = 0;
00110
00112
00113 virtual s32 insertItem(u32 index, const wchar_t* text, s32 icon) = 0;
00114
00116 virtual void swapItems(u32 index1, u32 index2) = 0;
00117
00119 virtual void setItemHeight( s32 height ) = 0;
00120
00122 virtual void setDrawBackground(bool draw) = 0;
00123 };
00124
00125
00126 }
00127 }
00128
00129 #endif
00130