IrrlichtEngine
IGUIListBox.h
Go to the documentation of this file.
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