20 #ifndef HEADER_RIBBON_HPP
21 #define HEADER_RIBBON_HPP
23 #include <irrString.h>
25 #include "guiengine/widget.hpp"
26 #include "guiengine/widgets/icon_button_widget.hpp"
27 #include "utils/cpp2011.hpp"
28 #include "utils/leak_check.hpp"
29 #include "utils/ptr_vector.hpp"
35 namespace gui {
class IGUIButton;
class IGUIStaticText; }
72 virtual void onRibbonWidgetScroll(
const int delta_x) = 0;
74 const int playerID) = 0;
75 virtual void onSelectionChange() = 0;
82 int m_selection[MAX_PLAYER_COUNT];
96 virtual EventPropagation
rightPressed(
const int playerID=0) OVERRIDE;
97 virtual EventPropagation
leftPressed (const
int playerID=0) OVERRIDE;
98 virtual EventPropagation
upPressed (const
int playerID=0) OVERRIDE;
99 virtual EventPropagation
downPressed (const
int playerID=0) OVERRIDE;
100 EventPropagation moveToNextItem(const
bool horizontally, const
bool reverse, const
int playerID);
101 EventPropagation propagationType(const
bool horizontally);
103 const
int playerID, const
int old_selection);
105 const
int playerID) OVERRIDE;
107 const std::
string& originator,
108 const
int playerID=0) OVERRIDE;
109 virtual EventPropagation
focused(const
int playerID) OVERRIDE;
110 virtual
void unfocused(const
int playerID,
Widget* new_focus) OVERRIDE;
112 virtual EventPropagation
onClick() OVERRIDE;
114 PtrVector<irr::gui::IGUIStaticText, REF> m_labels;
118 std::map<
int, std::pair<irr::gui::IGUIStaticText*, irr::gui::IGUIButton*> > m_child_data;
138 virtual
void add() OVERRIDE;
155 {
return m_active_children.size(); }
159 {
return m_selection[playerID]; }
167 const int selection = m_selection[playerID];
168 if (selection < 0 || selection >=
int(
m_children.size()))
return "";
185 void select(std::string item,
const int playerID);
194 void setLabel(
const unsigned int id, irr::core::stringw new_name);
196 void setItemVisible(
const unsigned int id,
bool visible);
212 void addTextChild(
const core::stringw& text,
const std::string &
id);
220 void addIconChild(
const core::stringw& text,
const std::string &
id,
221 const int w,
const int h,
const std::string &icon,
239 virtual EventPropagation onActivationInput(
const int playerID) OVERRIDE;
241 virtual void resize() OVERRIDE;
Class to handle irrLicht events (GUI and input as well)
Definition: event_handler.hpp:66
Definition: ptr_vector.hpp:44
Contains all GUI engine related classes and functions.
Definition: abstract_state_manager.hpp:33
RibbonFlip
Filp directions of ribbons.
Definition: ribbon_widget.hpp:52
RibbonType
Types of ribbons.
Definition: ribbon_widget.hpp:43
@ RIBBON_VERTICAL_TABS
a vertical tab bar
Definition: ribbon_widget.hpp:47
@ RIBBON_TOOLBAR
a row of individual buttons
Definition: ribbon_widget.hpp:45
@ RIBBON_TABS
a tab bar
Definition: ribbon_widget.hpp:46
@ RIBBON_COMBO
select one item out of many, like in a combo box
Definition: ribbon_widget.hpp:44