|
IrrlichtEngine
|
00001 // Copyright (C) 2002-2011 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 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 00061 virtual s32 getItemAt(s32 xpos, s32 ypos) const = 0; 00062 00064 virtual s32 getIcon(u32 index) const = 0; 00065 00067 00071 virtual void setSpriteBank(IGUISpriteBank* bank) = 0; 00072 00074 virtual void clear() = 0; 00075 00077 virtual s32 getSelected() const = 0; 00078 00080 virtual void setSelected(s32 index) = 0; 00081 00083 virtual void setSelected(const wchar_t *item) = 0; 00084 00086 virtual void setAutoScrollEnabled(bool scroll) = 0; 00087 00089 virtual bool isAutoScrollEnabled() const = 0; 00090 00092 virtual void setItemOverrideColor(u32 index, video::SColor color) = 0; 00093 00095 virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, video::SColor color) = 0; 00096 00098 virtual void clearItemOverrideColor(u32 index) = 0; 00099 00101 virtual void clearItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) = 0; 00102 00104 virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0; 00105 00107 virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0; 00108 00110 virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const = 0; 00111 00113 virtual void setItem(u32 index, const wchar_t* text, s32 icon) = 0; 00114 00116 00117 virtual s32 insertItem(u32 index, const wchar_t* text, s32 icon) = 0; 00118 00120 virtual void swapItems(u32 index1, u32 index2) = 0; 00121 00123 virtual void setItemHeight( s32 height ) = 0; 00124 00126 virtual void setDrawBackground(bool draw) = 0; 00127 }; 00128 00129 00130 } // end namespace gui 00131 } // end namespace irr 00132 00133 #endif 00134