6 #ifndef HEADER_CGUISTKListBox_HPP
7 #define HEADER_CGUISTKListBox_HPP
9 #include "IrrCompileConfig.h"
11 #include "IGUIListBox.h"
12 #include "IGUIElement.h"
17 #include "GlyphLayout.h"
35 irr::core::stringw m_text;
38 std::vector<GlyphLayout> m_glyph_layouts;
41 ListCell(irr::core::stringw text, s32 icon = -1,
int proportion = 1,
bool center =
false)
44 m_proportion = proportion;
50 core::array< ListCell > m_contents;
53 std::string m_internal_name;
56 bool m_word_wrap =
false;
57 float m_line_height_scale = 0.0f;
72 s32
id, core::rect<s32> rectangle,
bool clip=
true,
73 bool drawBack=
false,
bool moveOverSelect=
false);
81 virtual const wchar_t* getCellText(u32 row_num, u32 col_num)
const;
83 virtual ListItem getItem(u32
id)
const;
94 virtual s32 getRowByCellText(
const wchar_t * text);
99 virtual s32 getRowByInternalName(
const std::string & text)
const;
102 virtual bool OnEvent(
const SEvent& event);
117 virtual s32
getIcon(u32 row_num, u32 col_num)
const;
123 virtual s32
getItemAt(s32 xpos, s32 ypos)
const;
144 virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, video::SColor color);
162 virtual void setCell(u32 row_num, u32 col_num,
const wchar_t* text, s32 icon);
165 virtual void swapItems(u32 index1, u32 index2);
171 int getItemHeight() {
return (
int) m_item_height; }
176 void setAlternatingDarkness(
bool val) { m_alternating_darkness = val; }
177 gui::IGUIScrollBar* getScrollBar()
const {
return ScrollBar; }
178 void setDisactivated(
bool val)
186 void recalculateItemHeight();
187 void updateDefaultItemHeight();
188 void selectNew(s32 ypos,
bool onlyHover=
false);
189 void recalculateScrollPos();
190 void updateScrollBarSize(s32 size);
193 void recalculateIconWidth();
195 core::array< ListItem > Items;
198 s32 ItemHeightOverride;
203 gui::IGUISpriteBank* IconBank;
204 gui::IGUIScrollBar* ScrollBar;
206 core::stringw KeyBuffer;
212 bool HighlightWhenNotFocused;
213 bool m_alternating_darkness;
Definition: CGUISTKListBox.hpp:27
virtual void setCell(u32 row_num, u32 col_num, const wchar_t *text, s32 icon)
set the item at the given index
Definition: CGUISTKListBox.cpp:646
virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const
return the overwrite color at given item index.
Definition: CGUISTKListBox.cpp:717
virtual void setItemHeight(s32 height)
set global itemHeight
Definition: CGUISTKListBox.cpp:748
virtual void draw()
draws the element and its children
Definition: CGUISTKListBox.cpp:413
virtual bool OnEvent(const SEvent &event)
called if an event happened.
Definition: CGUISTKListBox.cpp:261
virtual s32 getItemAt(s32 xpos, s32 ypos) const
get the the id of the item at the given absolute coordinates
Definition: CGUISTKListBox.cpp:133
virtual void setSelectedByCellText(const wchar_t *text)
sets the selected item. Set this to -1 if no item should be selected
Definition: CGUISTKListBox.cpp:242
virtual bool isAutoScrollEnabled() const
returns true if automatic scrolling is enabled, false if not.
Definition: CGUISTKListBox.cpp:619
virtual void setDrawBackground(bool draw)
Sets whether to draw the background.
Definition: CGUISTKListBox.cpp:756
virtual void swapItems(u32 index1, u32 index2)
Swap the items at the given indices.
Definition: CGUISTKListBox.cpp:659
virtual void removeItem(u32 id)
removes an item from the list
Definition: CGUISTKListBox.cpp:112
virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const
return the default color which is used for the given colorType
Definition: CGUISTKListBox.cpp:726
virtual u32 getItemCount() const
returns amount of list items
Definition: CGUISTKListBox.cpp:80
virtual void setSelected(s32 id)
sets the selected item. Set this to -1 if no item should be selected
Definition: CGUISTKListBox.cpp:212
virtual ~CGUISTKListBox()
destructor
Definition: CGUISTKListBox.cpp:66
virtual void clearItemOverrideColor(u32 index)
clear all item colors at index
Definition: CGUISTKListBox.cpp:690
virtual s32 getIcon(u32 row_num, u32 col_num) const
Returns the icon of an item.
Definition: CGUISTKListBox.cpp:103
CGUISTKListBox(IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle, bool clip=true, bool drawBack=false, bool moveOverSelect=false)
constructor
Definition: CGUISTKListBox.cpp:27
virtual void setItemOverrideColor(u32 index, video::SColor color)
set all item colors at given index to color
Definition: CGUISTKListBox.cpp:670
virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const
has the item at index its color overwritten?
Definition: CGUISTKListBox.cpp:708
virtual s32 getSelected() const
returns id of selected item. returns -1 if no item is selected.
Definition: CGUISTKListBox.cpp:205
virtual u32 addItem(const ListItem &item)
adds an list item with an icon
Definition: CGUISTKListBox.cpp:572
virtual void setSpriteBank(IGUISpriteBank *bank)
Sets the sprite bank which should be used to draw list icons.
Definition: CGUISTKListBox.cpp:581
virtual void updateAbsolutePosition()
Update the position and size of the listbox, and update the scrollbar.
Definition: CGUISTKListBox.cpp:393
virtual void clear()
clears the list
Definition: CGUISTKListBox.cpp:151
virtual void setAutoScrollEnabled(bool scroll)
set whether the listbox should scroll to newly selected items
Definition: CGUISTKListBox.cpp:613
Definition: spherical_harmonics.hpp:26
Definition: CGUISTKListBox.hpp:34
Definition: CGUISTKListBox.hpp:61
Definition: CGUISTKListBox.hpp:31