Irrlicht 3D Engine
 
Loading...
Searching...
No Matches
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
11namespace irr
12{
13namespace gui
14{
15 class IGUISpriteBank;
16
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
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
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.h:22
Base class of all GUI elements.
Definition IGUIElement.h:26
virtual void draw()
Draws the element and its children.
GUI Environment. Used as factory and manager of all other GUI elements.
Default list box GUI element.
Definition IGUIListBox.h:39
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
virtual s32 insertItem(u32 index, const wchar_t *text, s32 icon)=0
Insert the item at the given index.
virtual u32 addItem(const wchar_t *text)=0
adds an list item, returns id of item
virtual u32 addItem(const wchar_t *text, s32 icon)=0
adds an list item with an icon
virtual s32 getSelected() const =0
returns id of selected item. returns -1 if no item is selected.
virtual void setAutoScrollEnabled(bool scroll)=0
set whether the listbox should scroll to newly selected items
virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const =0
return the overwrite color at given item index.
virtual void setItem(u32 index, const wchar_t *text, s32 icon)=0
set the item at the given index
virtual void removeItem(u32 index)=0
Removes an item from the list.
IGUIListBox(IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
constructor
Definition IGUIListBox.h:42
virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const =0
has the item at index its color overwritten?
virtual void setItemHeight(s32 height)=0
set global itemHeight
virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, video::SColor color)=0
set all item colors of specified type at given index to color
virtual s32 getItemAt(s32 xpos, s32 ypos) const =0
get the the id of the item at the given absolute coordinates
virtual s32 getIcon(u32 index) const =0
Returns the icon of an item.
virtual u32 getItemCount() const =0
returns amount of list items
virtual void clearItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType)=0
clear item color at index for given colortype
virtual void setSelected(const wchar_t *item)=0
sets the selected item. Set this to 0 if no item should be selected
virtual void clear()=0
clears the list, deletes all items in the listbox
virtual void setSelected(s32 index)=0
sets the selected item. Set this to -1 if no item should be selected
virtual void clearItemOverrideColor(u32 index)=0
clear all item colors at index
virtual void swapItems(u32 index1, u32 index2)=0
Swap the items at the given indices.
virtual void setSpriteBank(IGUISpriteBank *bank)=0
Sets the sprite bank which should be used to draw list icons.
virtual void setDrawBackground(bool draw)=0
Sets whether to draw the background.
virtual void setItemOverrideColor(u32 index, video::SColor color)=0
set all item colors at given index to color
virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const =0
return the default color which is used for the given colorType
virtual bool isAutoScrollEnabled() const =0
returns true if automatic scrolling is enabled, false if not.
Sprite bank interface.
Class representing a 32 bit ARGB color.
Definition SColor.h:202
EGUI_LISTBOX_COLOR
Enumeration for listbox colors.
Definition IGUIListBox.h:19
@ EGUI_LBC_TEXT
Color of text.
Definition IGUIListBox.h:21
@ EGUI_LBC_COUNT
Not used, just counts the number of available colors.
Definition IGUIListBox.h:29
@ EGUI_LBC_TEXT_HIGHLIGHT
Color of selected text.
Definition IGUIListBox.h:23
@ EGUI_LBC_ICON
Color of icon.
Definition IGUIListBox.h:25
@ EGUI_LBC_ICON_HIGHLIGHT
Color of selected icon.
Definition IGUIListBox.h:27
@ EGUIET_LIST_BOX
A list box (IGUIListBox)
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
signed int s32
32 bit signed variable.
Definition irrTypes.h:66