TGUI
0.8.9
|
#include <TGUI/Widgets/Tabs.hpp>
Classes | |
struct | Tab |
Public Types | |
typedef std::shared_ptr< Tabs > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const Tabs > | ConstPtr |
Shared constant widget pointer. | |
Public Types inherited from tgui::Widget | |
typedef std::shared_ptr< Widget > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const Widget > | ConstPtr |
Shared constant widget pointer. | |
Public Member Functions | |
TabsRenderer * | getSharedRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
TabsRenderer * | getRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
void | setSize (const Layout2d &size) override |
Changes the area used by the tabs. More... | |
void | setEnabled (bool enabled) override |
Enables or disables the widget. More... | |
void | setAutoSize (bool autoSize) |
Changes whether the tabs are auto-sized or not. More... | |
bool | getAutoSize () const |
Returns whether the tabs are auto-sized or not. More... | |
std::size_t | add (const sf::String &text, bool select=true) |
Adds a new tab. More... | |
void | insert (std::size_t index, const sf::String &text, bool select=true) |
Inserts a new tab somewhere between the other tabs. More... | |
sf::String | getText (std::size_t index) const |
Gets the text of one of the tabs. More... | |
bool | changeText (std::size_t index, const sf::String &text) |
Changes the text of one of the tabs. More... | |
bool | select (const sf::String &text) |
Selects the tab with a given text. More... | |
bool | select (std::size_t index) |
Selects the tab with a given index. More... | |
void | deselect () |
Deselects the selected tab. | |
bool | remove (const sf::String &text) |
Removes a tab with a given text. More... | |
bool | remove (std::size_t index) |
Removes a tab with a given index. More... | |
void | removeAll () |
Removes all tabs. | |
sf::String | getSelected () const |
Gets the text that is drawn on the currently selected tab. More... | |
int | getSelectedIndex () const |
Gets the index of the currently selected tab. More... | |
void | setTabVisible (std::size_t index, bool visible) |
Changes whether a tab is visible. More... | |
bool | getTabVisible (std::size_t index) const |
Returns whether the tab is shown or hidden. More... | |
void | setTabEnabled (std::size_t index, bool enabled) |
Changes whether a tab is enabled. More... | |
bool | getTabEnabled (std::size_t index) const |
Returns whether the tab is enabled or disabled. More... | |
void | setTextSize (unsigned int size) override |
Changes the character size of the text. More... | |
void | setTabHeight (float height) |
Changes the height of the tabs. More... | |
void | setMaximumTabWidth (float maximumWidth) |
Changes the maximum tab width of the tabs. More... | |
float | getMaximumTabWidth () const |
Returns the maximum tab width of the tabs. More... | |
void | setMinimumTabWidth (float minimumWidth) |
Changes the minimum tab width of the tabs. More... | |
float | getMinimumTabWidth () const |
Returns the minimum tab width of the tabs. More... | |
std::size_t | getTabsCount () const |
Returns the amount of tabs. More... | |
bool | mouseOnWidget (Vector2f pos) const override |
Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget. More... | |
void | draw (sf::RenderTarget &target, sf::RenderStates states) const override |
Draw the widget to a render target. More... | |
virtual void | setSize (const Layout2d &size) |
Changes the size of the widget. More... | |
void | setSize (Layout width, Layout height) |
Changes the size of the widget. More... | |
Public Member Functions inherited from tgui::Widget | |
Widget () | |
Default constructor. | |
Widget (const Widget &) | |
Copy constructor. | |
Widget (Widget &&) | |
Move constructor. | |
~Widget () | |
Destructor. | |
Widget & | operator= (const Widget &) |
Overload of copy assignment operator. | |
Widget & | operator= (Widget &&) |
Move assignment. | |
void | setRenderer (std::shared_ptr< RendererData > rendererData) |
Sets a new renderer for the widget. The renderer determines how the widget looks. More... | |
WidgetRenderer * | getSharedRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
WidgetRenderer * | getRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
virtual void | setPosition (const Layout2d &position) |
sets the position of the widget More... | |
void | setPosition (Layout x, Layout y) |
Sets the position of the widget. More... | |
Vector2f | getPosition () const |
Gets the position of the widget. More... | |
void | setSize (Layout width, Layout height) |
Changes the size of the widget. More... | |
Vector2f | getSize () const |
Returns the size of the widget. More... | |
virtual Vector2f | getFullSize () const |
Returns the entire size that the widget is using. More... | |
virtual Vector2f | getAbsolutePosition () const |
Get the absolute position of the widget instead of the relative position to its parent. More... | |
virtual Vector2f | getWidgetOffset () const |
Returns the distance between the position where the widget is drawn and where the widget is placed. More... | |
virtual void | showWithEffect (ShowAnimationType type, sf::Time duration) |
Shows the widget by introducing it with an animation. More... | |
virtual void | hideWithEffect (ShowAnimationType type, sf::Time duration) |
Hides the widget by making it leave with an animation. More... | |
virtual void | setVisible (bool visible) |
Shows or hides a widget. More... | |
bool | isVisible () const |
Returns true when the widget is visible. More... | |
bool | isEnabled () const |
Returns true when the widget is enabled. More... | |
virtual void | setFocused (bool focused) |
Focus or 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... | |
bool | isAnimationPlaying () const |
Returns whether there is an active animation (started with showWithEffect or hideWithEffect) More... | |
virtual void | moveToFront () |
Places the widget before all other widgets. More... | |
virtual void | moveToBack () |
Places the widget behind all other widgets. More... | |
void | setUserData (std::any userData) |
Stores some data into the widget. More... | |
template<typename T > | |
T | getUserData () const |
Returns data stored in the widget. More... | |
void | setInheritedFont (const Font &font) |
Sets the font of the widget that is used when no font is set in the renderer. More... | |
const Font & | getInheritedFont () const |
Returns the font of the widget that is used when no font is set in the renderer. More... | |
void | setInheritedOpacity (float opacity) |
Sets the opacity of the widget that will be multiplied with the opacity set in the renderer. More... | |
float | getInheritedOpacity () const |
Returns the opacity of the widget that is multiplied with the opacity set in the renderer. More... | |
virtual unsigned int | getTextSize () const |
Returns the character size of text in this widget. More... | |
void | setToolTip (Widget::Ptr toolTip) |
Sets the tool tip that should be displayed when hovering over the widget. More... | |
Widget::Ptr | getToolTip () const |
Returns the tool tip that is displayed when hovering over the widget. More... | |
void | setWidgetName (const sf::String &name) |
Changes the name of a widget. More... | |
sf::String | getWidgetName () const |
Returns the name of a widget. More... | |
void | setFocusable (bool focusable) |
Changes whether a widget could be focused. More... | |
bool | isFocusable () const |
Returns whether a widget could be focused. More... | |
virtual bool | canGainFocus () const |
Returns whether the widget can currently gain focus. More... | |
bool | isContainer () const |
Returns whether the widget is a container widget or not. More... | |
template<typename WidgetType > | |
std::shared_ptr< const WidgetType > | cast () const |
Downcast const widget. | |
template<typename WidgetType > | |
std::shared_ptr< WidgetType > | cast () |
Downcast widget. | |
Public Member Functions inherited from tgui::SignalWidgetBase | |
template<typename Func , typename... Args, typename std::enable_if< std::is_convertible< Func, std::function< void(const Args &...)> >::value >::type * = nullptr> | |
unsigned int | connect (std::string signalName, Func &&handler, const Args &... args) |
Connects a signal handler that will be called when this signal is emitted. More... | |
template<typename Func , typename... BoundArgs, typename std::enable_if<!std::is_convertible< Func, std::function< void(const BoundArgs &...)> >::value &&std::is_convertible< Func, std::function< void(const BoundArgs &..., std::shared_ptr< Widget >, const std::string &)> >::value , ::type * = nullptr> | |
unsigned int | connect (std::string signalName, Func &&handler, BoundArgs &&... args) |
Connects a signal handler that will be called when this signal is emitted. More... | |
template<typename Func , typename... BoundArgs, typename std::enable_if<!std::is_convertible< Func, std::function< void(const BoundArgs &...)> >::value &&!std::is_convertible< Func, std::function< void(const BoundArgs &..., std::shared_ptr< Widget >, const std::string &)> >::value , ::type * = nullptr> | |
unsigned int | connect (std::string signalName, Func &&handler, BoundArgs &&... args) |
Connects a signal handler that will be called when this signal is emitted. More... | |
template<typename Func , typename... BoundArgs> | |
unsigned int | connect (std::initializer_list< std::string > signalNames, Func &&handler, BoundArgs &&... args) |
Connect a signal handler to multiple signals. More... | |
bool | disconnect (unsigned int id) |
Disconnects a signal handler. More... | |
void | disconnectAll (std::string signalName) |
Disconnects all signal handler from a certain signal. More... | |
void | disconnectAll () |
Disconnects all signal handlers from signals. | |
Static Public Member Functions | |
static Tabs::Ptr | create () |
Creates a new tabs widget. More... | |
static Tabs::Ptr | copy (Tabs::ConstPtr tab) |
Makes a copy of another tab. More... | |
Public Attributes | |
SignalString | onTabSelect = {"TabSelected"} |
A tab that was selected. Optional parameter: selected item. | |
Public Attributes inherited from tgui::Widget | |
SignalVector2f | onPositionChange = {"PositionChanged"} |
The position of the widget changed. Optional parameter: new position. | |
SignalVector2f | onSizeChange = {"SizeChanged"} |
The size of the widget changed. Optional parameter: new size. | |
Signal | onFocus = {"Focused"} |
The widget was focused. | |
Signal | onUnfocus = {"Unfocused"} |
The widget was unfocused. | |
Signal | onMouseEnter = {"MouseEntered"} |
The mouse entered the widget. | |
Signal | onMouseLeave = {"MouseLeft"} |
The mouse left the widget. | |
SignalAnimation | onAnimationFinished = {"AnimationFinished"} |
A show or hide animation finished. Optional parameters: animation type, new widget visibility or both. | |
Protected Member Functions | |
Signal & | getSignal (std::string signalName) override |
Retrieves a signal based on its name. More... | |
void | rendererChanged (const std::string &property) override |
Function called when one of the properties of the renderer is changed. More... | |
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. | |
void | load (const std::unique_ptr< DataIO::Node > &node, const LoadingRenderersMap &renderers) override |
Loads the widget from a tree of nodes. | |
Widget::Ptr | clone () const override |
Makes a copy of the widget if you don't know its exact type. More... | |
Protected Member Functions inherited from tgui::Widget | |
virtual void | mouseEnteredWidget () |
This function is called when the mouse enters the widget. | |
virtual void | mouseLeftWidget () |
This function is called when the mouse leaves the widget. | |
Tabs widget.
std::size_t tgui::Tabs::add | ( | const sf::String & | text, |
bool | select = true |
||
) |
Adds a new tab.
text | The text of the tab that will be drawn on top of it |
select | Do you want the new tab to be selected immediately? |
bool tgui::Tabs::changeText | ( | std::size_t | index, |
const sf::String & | text | ||
) |
Changes the text of one of the tabs.
index | The index of the tab to be changed. The first tab has index 0 |
text | The new text of the tab that will be drawn on top of it |
|
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 tab.
tab | The other tab |
|
static |
Creates a new tabs widget.
|
overridevirtual |
Draw the widget to a render target.
target | Render target to draw to |
states | Current render states |
Implements tgui::Widget.
bool tgui::Tabs::getAutoSize | ( | ) | const |
Returns whether the tabs are auto-sized or not.
float tgui::Tabs::getMaximumTabWidth | ( | ) | const |
Returns the maximum tab width of the tabs.
This property only has effect when the tabs are auto-sizing.
If the text on the tab is longer than this width then it will be cropped to fit inside the tab. By default, the maximum width is 0 which means that there is no limitation.
float tgui::Tabs::getMinimumTabWidth | ( | ) | const |
Returns the minimum tab width of the tabs.
This property only has effect when the tabs are auto-sizing.
Every tab is at least as wide as this minimum or twice the distance to side.
TabsRenderer * tgui::Tabs::getRenderer | ( | ) |
Returns the renderer, which gives access to functions that determine how the widget is displayed.
sf::String tgui::Tabs::getSelected | ( | ) | const |
Gets the text that is drawn on the currently selected tab.
int tgui::Tabs::getSelectedIndex | ( | ) | const |
Gets the index of the currently selected tab.
TabsRenderer * tgui::Tabs::getSharedRenderer | ( | ) |
Returns the renderer, which gives access to functions that determine how the widget is displayed.
|
overrideprotectedvirtual |
Retrieves a signal based on its name.
signalName | Name of the signal |
Exception | when the name does not match any signal |
Reimplemented from tgui::Widget.
bool tgui::Tabs::getTabEnabled | ( | std::size_t | index | ) | const |
Returns whether the tab is enabled or disabled.
index | The index of the tab |
std::size_t tgui::Tabs::getTabsCount | ( | ) | const |
Returns the amount of tabs.
bool tgui::Tabs::getTabVisible | ( | std::size_t | index | ) | const |
Returns whether the tab is shown or hidden.
index | The index of the tab |
sf::String tgui::Tabs::getText | ( | std::size_t | index | ) | const |
Gets the text of one of the tabs.
index | The index of the tab. The first tab has index 0 |
void tgui::Tabs::insert | ( | std::size_t | index, |
const sf::String & | text, | ||
bool | select = true |
||
) |
Inserts a new tab somewhere between the other tabs.
index | The index where the tab gets inserted. 0 means before the first tab, 1 means behind the first tab |
text | The text of the tab that will be drawn on top of it |
select | Do you want the new tab to be selected immediately? |
|
overridevirtual |
Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget.
Implements tgui::Widget.
bool tgui::Tabs::remove | ( | const sf::String & | text | ) |
Removes a tab with a given text.
text | The text on the tab to remove |
bool tgui::Tabs::remove | ( | std::size_t | index | ) |
Removes a tab with a given index.
index | The index of the tab to remove |
|
overrideprotectedvirtual |
Function called when one of the properties of the renderer is changed.
property | Lowercase name of the property that was changed |
Reimplemented from tgui::Widget.
bool tgui::Tabs::select | ( | const sf::String & | text | ) |
Selects the tab with a given text.
text | The text of the tab to select |
If there are multiple tabs with the same text then the first one will be selected. When false is returned, the selected tab will still be deselected.
bool tgui::Tabs::select | ( | std::size_t | index | ) |
Selects the tab with a given index.
index | The index of the tab to select |
When false is returned, the selected tab will still be deselected.
void tgui::Tabs::setAutoSize | ( | bool | autoSize | ) |
Changes whether the tabs are auto-sized or not.
autoSize | Should the size of the tabs depend on their content? |
When the tabs are in auto-size mode, the width of the tabs will be depend on the text which they contain. Otherwise, all tabs have an equal width to fill the size of the widget.
The tabs are auto-sized by default.
|
overridevirtual |
Enables or disables the widget.
enabled | Is the widget enabled? |
The disabled widget will no longer receive events and thus no longer send callbacks. All widgets are enabled by default.
Reimplemented from tgui::Widget.
void tgui::Tabs::setMaximumTabWidth | ( | float | maximumWidth | ) |
Changes the maximum tab width of the tabs.
maximumWidth | Maximum width of a single tab |
This property only has effect when the tabs are auto-sizing.
If the text on the tab is longer than this width then it will be cropped to fit inside the tab. By default, the maximum width is 0 which means that there is no limitation.
void tgui::Tabs::setMinimumTabWidth | ( | float | minimumWidth | ) |
Changes the minimum tab width of the tabs.
minimumWidth | Minimum width of a single tab |
This property only has effect when the tabs are auto-sizing.
Every tab is at least as wide as this minimum or twice the distance to side.
|
virtual |
Changes the size of the widget.
size | Size of the widget |
Usage examples:
Reimplemented from tgui::Widget.
|
overridevirtual |
Changes the area used by the tabs.
size | Total size of the tabs |
When this function is called, the tabs will no longer be auto-sizing, but each tab will get an equal width such that the total width corresponds to the size passed to this function.
Reimplemented from tgui::Widget.
Changes the size of the widget.
width | Width of the widget |
height | Height of the widget |
void tgui::Tabs::setTabEnabled | ( | std::size_t | index, |
bool | enabled | ||
) |
Changes whether a tab is enabled.
index | The index of the tab to enable or disable |
enabled | Is the tab enabled? |
void tgui::Tabs::setTabHeight | ( | float | height | ) |
Changes the height of the tabs.
height | Height of the tabs |
When the tabs are auto-sizing, this function allows changing the width of the tabs without setting a fixed width like calling setSize would do.
void tgui::Tabs::setTabVisible | ( | std::size_t | index, |
bool | visible | ||
) |
Changes whether a tab is visible.
index | The index of the tab to show or hide |
visible | Is the tab shown? |
|
overridevirtual |
Changes the character size of the text.
size | The new size of the text If the size is 0 then the text will be scaled to fit in the tab. |
Reimplemented from tgui::Widget.