20 #ifndef HEADER_LISTWIDGET_HPP
21 #define HEADER_LISTWIDGET_HPP
23 #include <irrString.h>
25 #include "guiengine/widgets/CGUISTKListBox.hpp"
26 #include "guiengine/widget.hpp"
27 #include "utils/leak_check.hpp"
28 #include "utils/ptr_vector.hpp"
29 #include "IGUIElement.h"
32 namespace irr {
namespace gui {
class STKModifiedSpriteBank; } }
41 virtual void onColumnClicked(
int column_id,
bool sort_desc,
bool sort_default) = 0;
72 bool m_choosing_header;
76 irr::core::stringw m_text;
78 irr::video::ITexture* m_texture;
79 Column(irr::core::stringw text,
int proportion)
82 m_proportion = proportion;
85 Column(irr::video::ITexture* texture,
int proportion)
87 m_proportion = proportion;
99 bool m_header_created;
106 int max_size = (int)m_header_elements.size() - 1;
114 void updateIconScale();
115 int getHeaderHeight()
const;
116 irr::core::rect<s32> getListBoxSize()
const;
120 typedef ListItem::ListCell ListCell;
146 void setIcons(irr::gui::STKModifiedSpriteBank* icons,
float scale = -1.0f);
157 void addItem( const std::
string& internal_name,
158 const irr::core::stringw &name,
160 bool center = false);
162 void addItem( const std::
string& internal_name,
163 const std::vector<ListCell>& contents);
201 irr::core::stringw getSelectionLabel(const
int cell = 0) const;
203 void selectItemWithLabel(const irr::core::stringw& name);
208 int getItemID(const std::
string &internalName) const;
221 void renameCell(const
int row_num, const
int col_num,
222 const irr::core::stringw &newName, const
int icon=-1);
228 const irr::core::stringw &newName, const
int icon=-1);
229 void renameItem(const std::
string & internal_name,
230 const irr::core::stringw &newName, const
int icon=-1);
236 void renameCell(const std::
string internalName, const
int col_num,
237 const irr::core::stringw &newName, const
int icon=-1)
249 void markItemBlue(
const int id,
bool blue=
true);
250 void emphasisItem(
const int id,
bool enable=
true);
263 void markItemBlue(
const std::string &internalName,
bool blue=
true)
267 markItemBlue(
id, blue );
270 void emphasisItem(
const std::string &internalName,
bool enable=
true)
274 emphasisItem(
id, enable);
279 const std::string& originator,
283 virtual EventPropagation
upPressed(
const int playerID);
286 virtual EventPropagation
downPressed(
const int playerID);
289 virtual EventPropagation
leftPressed(
const int playerID);
292 virtual EventPropagation
rightPressed(
const int playerID);
298 void pageMove(
bool up);
302 void setColumnListener(IListWidgetHeaderListener* listener)
304 if (m_listener)
delete m_listener;
305 m_listener = listener;
312 void addColumn(irr::video::ITexture* tex,
int proportion=1) {
m_header.push_back( Column(tex, proportion) ); }
314 void setSortable(
bool sortable) { m_sortable = sortable; }
315 void focusHeader(
const NavigationDirection nav);
316 virtual void setActive(
bool active=
true);
Object used to render the GUI widgets see Overview of GUI skin for more information about skinning in...
Definition: skin.hpp:280
Definition: ptr_vector.hpp:44
Contains all GUI engine related classes and functions.
Definition: abstract_state_manager.hpp:33
Definition: CGUISTKListBox.hpp:31