Irrlicht 3D Engine
IGUIListBox.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_GUI_LIST_BOX_H_INCLUDED__
6 #define __I_GUI_LIST_BOX_H_INCLUDED__
7 
8 #include "IGUIElement.h"
9 #include "SColor.h"
10 
11 namespace irr
12 {
13 namespace gui
14 {
15  class IGUISpriteBank;
16 
19  {
30  };
31 
32 
34 
38  class IGUIListBox : public IGUIElement
39  {
40  public:
42  IGUIListBox(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
43  : IGUIElement(EGUIET_LIST_BOX, environment, parent, id, rectangle) {}
44 
46  virtual u32 getItemCount() const = 0;
47 
49  virtual const wchar_t* getListItem(u32 id) const = 0;
50 
52  virtual u32 addItem(const wchar_t* text) = 0;
53 
55 
58  virtual u32 addItem(const wchar_t* text, s32 icon) = 0;
59 
61  virtual void removeItem(u32 index) = 0;
62 
64 
65  virtual s32 getItemAt(s32 xpos, s32 ypos) const = 0;
66 
68  virtual s32 getIcon(u32 index) const = 0;
69 
71 
75  virtual void setSpriteBank(IGUISpriteBank* bank) = 0;
76 
78  virtual void clear() = 0;
79 
81  virtual s32 getSelected() const = 0;
82 
84  virtual void setSelected(s32 index) = 0;
85 
87  virtual void setSelected(const wchar_t *item) = 0;
88 
90  virtual void setAutoScrollEnabled(bool scroll) = 0;
91 
93  virtual bool isAutoScrollEnabled() const = 0;
94 
96  virtual void setItemOverrideColor(u32 index, video::SColor color) = 0;
97 
99  virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, video::SColor color) = 0;
100 
102  virtual void clearItemOverrideColor(u32 index) = 0;
103 
105  virtual void clearItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) = 0;
106 
108  virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
109 
111  virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
112 
114  virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const = 0;
115 
117  virtual void setItem(u32 index, const wchar_t* text, s32 icon) = 0;
118 
120 
121  virtual s32 insertItem(u32 index, const wchar_t* text, s32 icon) = 0;
122 
124  virtual void swapItems(u32 index1, u32 index2) = 0;
125 
127  virtual void setItemHeight( s32 height ) = 0;
128 
130  virtual void setDrawBackground(bool draw) = 0;
131 };
132 
133 
134 } // end namespace gui
135 } // end namespace irr
136 
137 #endif
138 
virtual void setAutoScrollEnabled(bool scroll)=0
set whether the listbox should scroll to newly selected items
virtual s32 getItemAt(s32 xpos, s32 ypos) const =0
get the the id of the item at the given absolute coordinates
Color of selected text.
Definition: IGUIListBox.h:23
virtual void clear()=0
clears the list, deletes all items in the listbox
virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const =0
return the default color which is used for the given colorType
virtual void swapItems(u32 index1, u32 index2)=0
Swap the items at the given indices.
virtual void setSelected(s32 index)=0
sets the selected item. Set this to -1 if no item should be selected
virtual u32 addItem(const wchar_t *text)=0
adds an list item, returns id of item
Sprite bank interface.
virtual s32 insertItem(u32 index, const wchar_t *text, s32 icon)=0
Insert the item at the given index.
virtual void setDrawBackground(bool draw)=0
Sets whether to draw the background.
EGUI_LISTBOX_COLOR
Enumeration for listbox colors.
Definition: IGUIListBox.h:18
virtual void setItem(u32 index, const wchar_t *text, s32 icon)=0
set the item at the given index
virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const =0
has the item at index its color overwritten?
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
GUI Environment. Used as factory and manager of all other GUI elements.
Color of text.
Definition: IGUIListBox.h:21
virtual s32 getIcon(u32 index) const =0
Returns the icon of an item.
Default list box GUI element.
Definition: IGUIListBox.h:38
virtual void setItemHeight(s32 height)=0
set global itemHeight
virtual void clearItemOverrideColor(u32 index)=0
clear all item colors at index
signed int s32
32 bit signed variable.
Definition: irrTypes.h:66
virtual u32 getItemCount() const =0
returns amount of list items
virtual void draw()
Draws the element and its children.
Definition: IGUIElement.h:312
virtual const wchar_t * getListItem(u32 id) const =0
returns string of a list item. the may id be a value from 0 to itemCount-1
A list box (IGUIListBox)
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:58
Color of selected icon.
Definition: IGUIListBox.h:27
virtual s32 getSelected() const =0
returns id of selected item. returns -1 if no item is selected.
virtual void removeItem(u32 index)=0
Removes an item from the list.
virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const =0
return the overwrite color at given item index.
Class representing a 32 bit ARGB color.
Definition: SColor.h:201
Base class of all GUI elements.
Definition: IGUIElement.h:25
virtual void setItemOverrideColor(u32 index, video::SColor color)=0
set all item colors at given index to color
IGUIListBox(IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
constructor
Definition: IGUIListBox.h:42
Color of icon.
Definition: IGUIListBox.h:25
virtual bool isAutoScrollEnabled() const =0
returns true if automatic scrolling is enabled, false if not.
virtual void setSpriteBank(IGUISpriteBank *bank)=0
Sets the sprite bank which should be used to draw list icons.
Not used, just counts the number of available colors.
Definition: IGUIListBox.h:29