26#ifndef TGUI_COMBO_BOX_HPP 
   27#define TGUI_COMBO_BOX_HPP 
   30#include <TGUI/Widgets/ListBox.hpp> 
   31#include <TGUI/Renderers/ComboBoxRenderer.hpp> 
   54        typedef std::shared_ptr<ComboBox> 
Ptr; 
 
   55        typedef std::shared_ptr<const ComboBox> 
ConstPtr; 
 
   65        ComboBox(
const char* typeName = 
"ComboBox", 
bool initRenderer = 
true);
 
  134        using Widget::setSize;
 
  532        void setParent(
Container* parent) 
override;
 
  546        void leftMousePressed(
Vector2f pos) 
override;
 
  551        bool mouseWheelScrolled(
float delta, 
Vector2f pos) 
override;
 
  591        std::unique_ptr<DataIO::Node> 
save(SavingRenderersMap& renderers) 
const override;
 
  597        void load(
const std::unique_ptr<DataIO::Node>& node, 
const LoadingRenderersMap& renderers) 
override;
 
  609        void updateListBoxHeight();
 
  635            return std::make_shared<ComboBox>(*
this);
 
 
  650        std::size_t m_nrOfItemsToDisplay = 0;
 
  658        int m_previousSelectedItemIndex = -1;
 
  659        bool m_changeItemOnScroll = 
false;
 
  661        ExpandDirection m_expandDirection = ExpandDirection::Automatic;
 
  663        Sprite m_spriteBackground;
 
  664        Sprite m_spriteBackgroundDisabled;
 
  666        Sprite m_spriteArrowHover;
 
  667        Sprite m_spriteArrowDisabled;
 
  672        Color   m_borderColorCached;
 
  673        Color   m_backgroundColorCached;
 
  674        Color   m_backgroundColorDisabledCached;
 
  675        Color   m_arrowColorCached;
 
  676        Color   m_arrowColorHoverCached;
 
  677        Color   m_arrowColorDisabledCached;
 
  678        Color   m_arrowBackgroundColorCached;
 
  679        Color   m_arrowBackgroundColorHoverCached;
 
  680        Color   m_arrowBackgroundColorDisabledCached;
 
  681        Color   m_textColorCached;
 
  682        Color   m_textColorDisabledCached;
 
 
Base class for render targets.
Definition BackendRenderTarget.hpp:48
 
Wrapper for colors.
Definition Color.hpp:63
 
Definition ComboBoxRenderer.hpp:37
 
Combo box widget.
Definition ComboBox.hpp:41
 
static ComboBox::Ptr create()
Creates a new combo box widget.
 
bool removeItemById(const String &id)
Removes the item that were added with the given id.
 
Signal & getSignal(String signalName) override
Retrieves a signal based on its name.
 
bool contains(const String &item) const
Returns whether the combo box contains the given item.
 
void setSize(const Layout2d &size) override
Changes the size of the combo box.
 
std::size_t getItemCount() const
Returns the amount of items in the combo box.
 
bool setSelectedItemByIndex(std::size_t index)
Selects an item in the list.
 
String getSelectedItemId() const
Gets the id of the selected item.
 
std::vector< String > getItemIds() const
Returns a copy of the item ids in the combo box.
 
ComboBoxRenderer * getSharedRenderer()
Returns the renderer, which gives access to functions that determine how the widget is displayed.
 
String getSelectedItem() const
Returns the currently selected item.
 
bool getChangeItemOnScroll() const
Returns whether the mouse wheel can be used to change the selected item while the list is closed.
 
bool setSelectedItem(const String &itemName)
Selects an item from the list.
 
bool changeItemByIndex(std::size_t index, const String &newValue)
Changes the name of an item at the given index to newValue.
 
ExpandDirection
The side where the list will be displayed.
Definition ComboBox.hpp:46
 
void setTextSize(unsigned int textSize) override
Changes the text size of the items.
 
void setDefaultText(const String &defaultText)
Changes the default text of the combo box. This is the text drawn when no item is selected.
 
bool changeItem(const String &originalValue, const String &newValue)
Changes an item with name originalValue to newValue.
 
void setChangeItemOnScroll(bool changeOnScroll)
Changes whether the mouse wheel can be used to change the selected item while the list is closed.
 
bool removeItem(const String &itemName)
Removes the item from the list with the given name.
 
const String & getDefaultText() const
Returns the default text of the combo box. This is the text drawn when no item is selected.
 
std::shared_ptr< ComboBox > Ptr
Shared widget pointer.
Definition ComboBox.hpp:54
 
Widget::Ptr clone() const override
Makes a copy of the widget if you don't know its exact type.
Definition ComboBox.hpp:633
 
bool containsId(const String &id) const
Returns whether the combo box contains an item with the given id.
 
int getSelectedItemIndex() const
Gets the index of the selected item.
 
void removeAllItems()
Removes all items from the list.
 
void setExpandDirection(ExpandDirection direction)
Changes the side where the list is displayed.
 
void deselectItem()
Deselects the selected item.
 
void setItemsToDisplay(std::size_t nrOfItemsInListToDisplay)
Changes the number of items that are displayed in the list.
 
unsigned int getTextSize() const override
Returns the text size of the items.
 
std::size_t getMaximumItems() const
Returns the maximum items that the combo box can contain.
 
void load(const std::unique_ptr< DataIO::Node > &node, const LoadingRenderersMap &renderers) override
Loads the widget from a tree of nodes.
 
ComboBoxRenderer * getRenderer()
Returns the renderer, which gives access to functions that determine how the widget is displayed.
 
void setEnabled(bool enabled) override
Enables or disables the widget.
 
std::size_t addItem(const String &itemName, const String &id="")
Adds an item to the list, so that it can be selected later.
 
void rendererChanged(const String &property) override
Function called when one of the properties of the renderer is changed.
 
bool isMouseOnWidget(Vector2f pos) const override
Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget...
 
static ComboBox::Ptr copy(ComboBox::ConstPtr comboBox)
Makes a copy of another combo box.
 
void setMaximumItems(std::size_t maximumItems=0)
Changes the maximum items that the combo box can contain.
 
std::size_t getItemsToDisplay() const
Returns the number of items that are displayed in the list.
 
bool setSelectedItemById(const String &id)
Selects an item from the list.
 
String getItemById(const String &id) const
Returns the item name of the item with the given id.
 
std::shared_ptr< const ComboBox > ConstPtr
Shared constant widget pointer.
Definition ComboBox.hpp:55
 
ExpandDirection getExpandDirection() const
Returns the side where the list is displayed.
 
void draw(BackendRenderTargetBase &target, RenderStates states) const override
Draw the widget to a render target.
 
bool removeItemByIndex(std::size_t index)
Removes the item from the list.
 
bool changeItemById(const String &id, const String &newValue)
Changes the name of an item with the given id to newValue.
 
std::vector< String > getItems() const
Returns a copy of the items in the combo box.
 
std::unique_ptr< DataIO::Node > save(SavingRenderersMap &renderers) const override
Saves the widget as a tree node in order to save it to a file.
 
Container widget.
Definition Container.hpp:47
 
Class to store the position or size of a widget.
Definition Layout.hpp:262
 
std::shared_ptr< ListBox > Ptr
Shared widget pointer.
Definition ListBox.hpp:46
 
Definition Outline.hpp:39
 
Signal to which the user can subscribe to get callbacks from.
Definition Signal.hpp:556
 
Signal to which the user can subscribe to get callbacks from.
Definition Signal.hpp:58
 
Wrapper class to store strings.
Definition String.hpp:79
 
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:36
 
States used for drawing.
Definition RenderStates.hpp:39