TGUI
0.7.8
|
Combo box widget. More...
#include <TGUI/Widgets/ComboBox.hpp>
Public Types | |
typedef std::shared_ptr< ComboBox > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const ComboBox > | ConstPtr |
Shared constant widget pointer. | |
![]() | |
typedef std::shared_ptr< Widget > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const Widget > | ConstPtr |
Shared constant widget pointer. | |
Public Member Functions | |
ComboBox (const ComboBox ©) | |
Copy constructor. More... | |
ComboBox & | operator= (const ComboBox &right) |
Overload of assignment operator. More... | |
std::shared_ptr< ComboBoxRenderer > | getRenderer () const |
Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
virtual void | setPosition (const Layout2d &position) override |
Set the position of the widget. More... | |
void | setSize (const Layout2d &size) override |
Changes the size of the combo box. More... | |
virtual sf::Vector2f | getFullSize () const override |
Returns the full size of the combo box. More... | |
virtual void | setFont (const Font &font) override |
Changes the font of the text in the widget. More... | |
void | setItemsToDisplay (std::size_t nrOfItemsInListToDisplay) |
Changes the number of items that are displayed in the list. More... | |
std::size_t | getItemsToDisplay () const |
Returns the number of items that are displayed in the list. More... | |
bool | addItem (const sf::String &itemName, const sf::String &id="") |
Adds an item to the list, so that it can be selected later. More... | |
bool | setSelectedItem (const sf::String &itemName) |
Selects an item from the list. More... | |
bool | setSelectedItemById (const sf::String &id) |
Selects an item from the list. More... | |
bool | setSelectedItemByIndex (std::size_t index) |
Selects an item in the list. More... | |
void | deselectItem () |
Deselects the selected item. More... | |
bool | removeItem (const sf::String &itemName) |
Removes the item from the list with the given name. More... | |
bool | removeItemById (const sf::String &id) |
Removes the item that were added with the given id. More... | |
bool | removeItemByIndex (std::size_t index) |
Removes the item from the list. More... | |
void | removeAllItems () |
Removes all items from the list. | |
sf::String | getItemById (const sf::String &id) const |
Returns the item name of the item with the given id. More... | |
sf::String | getSelectedItem () const |
Returns the currently selected item. More... | |
sf::String | getSelectedItemId () const |
Get the id of the selected item. More... | |
int | getSelectedItemIndex () const |
Get the index of the selected item. More... | |
bool | changeItem (const sf::String &originalValue, const sf::String &newValue) |
Changes an item with name originalValue to newValue. More... | |
bool | changeItemById (const sf::String &id, const sf::String &newValue) |
Changes the name of an item with the given id to newValue. More... | |
bool | changeItemByIndex (std::size_t index, const sf::String &newValue) |
Changes the name of an item at the given index to newValue. More... | |
std::size_t | getItemCount () |
Returns the amount of items in the combo box. More... | |
std::vector< sf::String > | getItems () |
Return a copy of the items in the combo box. More... | |
const std::vector< sf::String > & | getItemIds () |
Return a copy of the item ids in the combo box. More... | |
void | setScrollbar (Scrollbar::Ptr scrollbar) |
Changes the scrollbar. More... | |
Scrollbar::Ptr | getScrollbar () const |
Access the scrollbar. More... | |
void | setListBox (ListBox::Ptr listBox) |
Change the internal list box. More... | |
ListBox::Ptr | getListBox () const |
Returns the internal list box. More... | |
void | setMaximumItems (std::size_t maximumItems=0) |
Changes the maximum items that the combo box can contain. More... | |
std::size_t | getMaximumItems () const |
Returns the maximum items that the combo box can contain. More... | |
void | setTextSize (unsigned int textSize) |
Changes the text size of the items. More... | |
unsigned int | getTextSize () const |
Returns the text size of the items. More... | |
virtual void | setOpacity (float opacity) override |
Changes the opacity of the widget. More... | |
virtual sf::Vector2f | getWidgetOffset () const override |
Returns the distance between the position where the widget is drawn and where the widget is placed. More... | |
virtual void | setPosition (const Layout2d &position) |
set the position of the widget More... | |
void | setPosition (const Layout &x, const Layout &y) |
set the position of the widget More... | |
virtual void | setSize (const Layout2d &size) |
Changes the size of the widget. More... | |
void | setSize (const Layout &width, const Layout &height) |
Changes the size of the widget. More... | |
![]() | |
Widget () | |
Default constructor. | |
Widget (const Widget ©) | |
Copy constructor. More... | |
~Widget () | |
Destructor. | |
Widget & | operator= (const Widget &right) |
Overload of assignment operator. More... | |
std::shared_ptr< WidgetRenderer > | getRenderer () const |
Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
virtual sf::Vector2f | getAbsolutePosition () const |
Get the absolute position of the widget instead of the relative position to its parent. More... | |
virtual void | show () |
Shows the widget. More... | |
virtual void | showWithEffect (ShowAnimationType type, sf::Time duration) |
Shows the widget by introducing it with an animation. More... | |
virtual void | hide () |
Hides the widget. More... | |
virtual void | hideWithEffect (ShowAnimationType type, sf::Time duration) |
Hides the widget by making it leave with an animation. More... | |
bool | isVisible () const |
Returns true when the widget is visible. More... | |
virtual void | enable () |
Enables the widget. More... | |
virtual void | disable (bool blockMouseEvents=true) |
Disables the widget. More... | |
bool | isEnabled () const |
Returns true when the widget is enabled. More... | |
virtual void | focus () |
Focus the widget. More... | |
virtual void | unfocus () |
Unfocus the widget. More... | |
bool | isFocused () const |
Returns true when the widget is focused and false otherwise. More... | |
const std::string & | getWidgetType () const |
Returns the type of the widget. More... | |
Container * | getParent () const |
Returns a pointer to the parent widget. More... | |
float | getOpacity () const |
Returns the opacity of the widget. More... | |
virtual void | moveToFront () |
Places the widget before all other widgets. | |
virtual void | moveToBack () |
Places the widget behind all other widgets. | |
void | setToolTip (Widget::Ptr toolTip) |
Sets the tool tip that should be displayed when hovering over the widget. More... | |
Widget::Ptr | getToolTip () |
Returns the tool tip that is displayed when hovering over the widget. More... | |
std::shared_ptr< sf::Font > | getFont () const |
Returns the font associated with the widget (if any) More... | |
void | detachTheme () |
Detach the theme from the widget. More... | |
std::shared_ptr< BaseTheme > | getTheme () const |
Returns the theme to which the widget is currently connected. More... | |
std::string | getPrimaryLoadingParameter () const |
Returns the primary parameter that was passed to the loader to load this widget. More... | |
std::string | getSecondaryLoadingParameter () const |
Returns the secondary parameter that was passed to the loader to load this widget. More... | |
void | setPosition (const Layout &x, const Layout &y) |
set the position of the widget More... | |
void | setSize (const Layout &width, const Layout &height) |
Changes the size of the widget. More... | |
![]() | |
virtual | ~Transformable () |
Virtual destructor. | |
void | setPosition (const Layout &x, const Layout &y) |
set the position of the widget More... | |
sf::Vector2f | getPosition () const |
get the position of the widget More... | |
void | move (const Layout2d &offset) |
Move the widget by a given offset. More... | |
void | move (const Layout &x, const Layout &y) |
Move the widget by a given offset. More... | |
void | setSize (const Layout &width, const Layout &height) |
Changes the size of the widget. More... | |
virtual sf::Vector2f | getSize () const |
Returns the size of the widget. More... | |
void | scale (const Layout2d &factors) |
Scale the widget. More... | |
void | scale (const Layout &x, const Layout &y) |
Scale the widget. More... | |
![]() | |
SignalWidgetBase ()=default | |
Default constructor. | |
SignalWidgetBase (const SignalWidgetBase ©) | |
Copy constructor. More... | |
SignalWidgetBase & | operator= (const SignalWidgetBase &right) |
Overload of assignment operator. More... | |
template<typename Func , typename... Args> | |
unsigned int | connect (const std::string &signalNames, Func func, Args... args) |
Connects a signal handler function to one or more signals. More... | |
template<typename Func , typename... Args> | |
unsigned int | connectEx (const std::string &signalName, Func func, Args... args) |
Connects a signal handler function to one or more signals. More... | |
void | disconnect (unsigned int id) |
Disconnects a connection. More... | |
void | disconnectAll (const std::string &signalName) |
Disconnect all connections from a certain signal. More... | |
void | disconnectAll () |
Disconnect all connections from a all signals. | |
Static Public Member Functions | |
static ComboBox::Ptr | create () |
Creates a new combo box widget. More... | |
static ComboBox::Ptr | copy (ComboBox::ConstPtr comboBox) |
Makes a copy of another combo box. More... | |
Protected Member Functions | |
virtual void | reload (const std::string &primary="", const std::string &secondary="", bool force=false) override |
Reload the widget. More... | |
virtual Widget::Ptr | clone () const override |
Makes a copy of the widget if you don't know its exact type. More... | |
![]() | |
void | attachTheme (std::shared_ptr< BaseTheme > theme) |
Attach a theme to the widget. More... | |
Combo box widget.
Signals:
tgui::ComboBox::ComboBox | ( | const ComboBox & | copy | ) |
Copy constructor.
copy | Instance to copy |
bool tgui::ComboBox::addItem | ( | const sf::String & | itemName, |
const sf::String & | id = "" |
||
) |
Adds an item to the list, so that it can be selected later.
itemName | The name of the item you want to add (this is the text that will be displayed inside the combo box) |
id | Optional unique id given to this item for the purpose to later identifying this item. |
bool tgui::ComboBox::changeItem | ( | const sf::String & | originalValue, |
const sf::String & | newValue | ||
) |
Changes an item with name originalValue to newValue.
originalValue | The name of the item which you want to change |
newValue | The new name for that item |
In case the names are not unique, only the first item with that name will be changed.
bool tgui::ComboBox::changeItemById | ( | const sf::String & | id, |
const sf::String & | newValue | ||
) |
Changes the name of an item with the given id to newValue.
id | The unique id of the item which you want to change |
newValue | The new name for that item |
In case the id is not unique, only the first item with that id will be changed.
bool tgui::ComboBox::changeItemByIndex | ( | std::size_t | index, |
const sf::String & | newValue | ||
) |
Changes the name of an item at the given index to newValue.
index | The index of the item which you want to change |
newValue | The new name for that item |
|
inlineoverrideprotectedvirtual |
Makes a copy of the widget if you don't know its exact type.
This function should only be used when you don't know the type of the widget. If you know what kind of widget you are copying, you should use the copy function.
Implements tgui::Widget.
|
static |
Makes a copy of another combo box.
comboBox | The other combo box |
|
static |
Creates a new combo box widget.
void tgui::ComboBox::deselectItem | ( | ) |
Deselects the selected item.
The combo box will be empty after this function is called.
|
overridevirtual |
Returns the full size of the combo box.
The size returned by this function includes the borders.
Reimplemented from tgui::Transformable.
|
inline |
Returns the item name of the item with the given id.
id | The id of the item that was given to it when it was added |
In case the id is not unique, the first item with that id will be returned.
|
inline |
Returns the amount of items in the combo box.
const std::vector< sf::String > & tgui::ComboBox::getItemIds | ( | ) |
Return a copy of the item ids in the combo box.
Items that were not given an id simply have an empty string as id.
std::vector< sf::String > tgui::ComboBox::getItems | ( | ) |
Return a copy of the items in the combo box.
|
inline |
Returns the number of items that are displayed in the list.
When there is no scrollbar then this is the maximum number of items. If there is one, then it will only become visible when there are more items than this number.
When set to zero then all items are shown (then there will never be a scrollbar).
ListBox::Ptr tgui::ComboBox::getListBox | ( | ) | const |
Returns the internal list box.
You should not change this list box yourself.
std::size_t tgui::ComboBox::getMaximumItems | ( | ) | const |
Returns the maximum items that the combo box can contain.
|
inline |
Returns the renderer, which gives access to functions that determine how the widget is displayed.
Scrollbar::Ptr tgui::ComboBox::getScrollbar | ( | ) | const |
Access the scrollbar.
You should not change the scrollbar yourself.
|
inline |
Returns the currently selected item.
|
inline |
Get the id of the selected item.
|
inline |
Get the index of the selected item.
unsigned int tgui::ComboBox::getTextSize | ( | ) | const |
Returns the text size of the items.
|
overridevirtual |
Returns the distance between the position where the widget is drawn and where the widget is placed.
This is basically the width and height of the optional borders drawn around widgets.
Reimplemented from tgui::Widget.
Overload of assignment operator.
right | Instance to assign |
|
overrideprotectedvirtual |
Reload the widget.
primary | Primary parameter for the loader |
secondary | Secondary parameter for the loader |
force | Try to only change the looks of the widget and not alter the widget itself when false |
Exception | when the connected theme could not create the widget |
When primary is an empty string the built-in white theme will be used.
Reimplemented from tgui::Widget.
bool tgui::ComboBox::removeItem | ( | const sf::String & | itemName | ) |
Removes the item from the list with the given name.
itemName | The item to remove |
In case the names are not unique, only the first item with that name will be removed.
bool tgui::ComboBox::removeItemById | ( | const sf::String & | id | ) |
Removes the item that were added with the given id.
id | Id that was given to the addItem function. |
In case the id is not unique, only the first item with that id will be removed.
bool tgui::ComboBox::removeItemByIndex | ( | std::size_t | index | ) |
Removes the item from the list.
index | Index of the item in the list |
|
overridevirtual |
Changes the font of the text in the widget.
font | The new font. |
When you don't call this function then the font from the parent widget will be used.
Reimplemented from tgui::Widget.
void tgui::ComboBox::setItemsToDisplay | ( | std::size_t | nrOfItemsInListToDisplay | ) |
Changes the number of items that are displayed in the list.
nrOfItemsInListToDisplay | The maximum number of items to display when the list of items is shown. |
When there is no scrollbar then this is the maximum number of items. If there is one, then it will only become visible when there are more items than this number.
When set to zero then all items are shown (then there will never be a scrollbar).
void tgui::ComboBox::setListBox | ( | ListBox::Ptr | listBox | ) |
Change the internal list box.
The list box should have no parent and you should not longer change it after calling this function. The function is meant to be used like this:
void tgui::ComboBox::setMaximumItems | ( | std::size_t | maximumItems = 0 | ) |
Changes the maximum items that the combo box can contain.
maximumItems | The maximum items inside the combo box. When the maximum is set to 0 then the limit will be disabled. |
If no scrollbar was loaded then there is always a limitation because there will be a limited space for the items.
|
overridevirtual |
Changes the opacity of the widget.
opacity | The opacity of the widget. 0 means completely transparent, while 1 (default) means fully opaque. |
Reimplemented from tgui::Widget.
set the position of the widget
This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable widget is (0, 0).
x | New x coordinate |
y | New y coordinate |
Usage examples:
|
virtual |
set the position of the widget
This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable widget is (0, 0).
position | New position |
Usage examples:
Reimplemented from tgui::Widget.
|
overridevirtual |
Set the position of the widget.
This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable widget is (0, 0).
position | New position |
Reimplemented from tgui::Widget.
void tgui::ComboBox::setScrollbar | ( | Scrollbar::Ptr | scrollbar | ) |
Changes the scrollbar.
scrollbar | The new scrollbar to use |
Pass a nullptr to remove the scrollbar. Note that when removing the scrollbar while there are too many items to fit in the list then the excess items will be removed.
The scrollbar should have no parent and you should not change it yourself. The function is meant to be used like this:
bool tgui::ComboBox::setSelectedItem | ( | const sf::String & | itemName | ) |
Selects an item from the list.
When adding items to the combo box with the addItem function, none of them will be selected. If you don't want the combo box to stay empty until the user selects something, but you want a default item instead, then you can use this function to select an item.
itemName | The item you want to select |
In case the names are not unique, the first item with that name will be selected.
bool tgui::ComboBox::setSelectedItemById | ( | const sf::String & | id | ) |
Selects an item from the list.
When adding items to the combo box with the addItem function, none of them will be selected. If you don't want the combo box to stay empty until the user selects something, but you want a default item instead, then you can use this function to select an item.
id | Unique id passed to addItem |
In case the id would not be unique, the first item with that id will be selected.
bool tgui::ComboBox::setSelectedItemByIndex | ( | std::size_t | index | ) |
Selects an item in the list.
index | Index of the item in the list |
Changes the size of the widget.
width | Width of the widget |
height | Height of the widget |
Usage examples:
|
virtual |
Changes the size of the widget.
size | Size of the widget |
Usage examples:
Reimplemented from tgui::Widget.
|
overridevirtual |
Changes the size of the combo box.
This size does not include the borders.
size | The new size of the combo box |
Reimplemented from tgui::Widget.
void tgui::ComboBox::setTextSize | ( | unsigned int | textSize | ) |
Changes the text size of the items.
textSize | The size size of the text |
By default (or when passing 0 to this function) the text will be auto-sized to nicely fit inside the combo box.