TGUI  0.7.4

Child window widget. More...

#include <ChildWindow.hpp>

Inheritance diagram for tgui::ChildWindow:
tgui::Container tgui::Widget tgui::Transformable tgui::SignalWidgetBase tgui::MessageBox

Public Types

enum  TitleAlignment { TitleAlignment::Left, TitleAlignment::Center, TitleAlignment::Right }
 Title alignments, possible options for the setTitleAlignment function. More...
 
enum  TitleButtons { None = 0, Close = 1 << 0, Minimize = 1 << 1, Maximize = 1 << 2 }
 Title buttons (bitwise OR to combine) More...
 
typedef std::shared_ptr< ChildWindowPtr
 Shared widget pointer.
 
typedef std::shared_ptr< const ChildWindowConstPtr
 Shared constant widget pointer.
 
- Public Types inherited from tgui::Container
typedef std::shared_ptr< ContainerPtr
 Shared widget pointer.
 
typedef std::shared_ptr< const ContainerConstPtr
 Shared constant widget pointer.
 
- Public Types inherited from tgui::Widget
typedef std::shared_ptr< WidgetPtr
 Shared widget pointer.
 
typedef std::shared_ptr< const WidgetConstPtr
 Shared constant widget pointer.
 

Public Member Functions

std::shared_ptr< ChildWindowRenderergetRenderer () const
 Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
 
void setPosition (const Layout2d &position) override
 Set the position of the widget. More...
 
void setSize (const Layout2d &size) override
 Changes the size of the child window. More...
 
virtual sf::Vector2f getFullSize () const override
 Returns the size of the full child window. More...
 
void setMaximumSize (sf::Vector2f size)
 Sets the maximum size of the child window. More...
 
sf::Vector2f getMaximumSize () const
 Returns the maximum size of the child window. More...
 
void setMinimumSize (sf::Vector2f size)
 Sets the minimum size of the child window. More...
 
sf::Vector2f getMinimumSize () const
 Returns the minimum size of the child window. More...
 
virtual void setFont (const Font &font) override
 Changes the font of the text in the widget and its children. More...
 
virtual void setOpacity (float opacity) override
 Changes the opacity of the widget. More...
 
void setTitle (const sf::String &title)
 Changes the title that is displayed in the title bar of the child window. More...
 
const sf::String & getTitle () const
 Returns the title that is displayed in the title bar of the child window. More...
 
void setTitleAlignment (TitleAlignment alignment)
 Changes the title alignment. More...
 
TitleAlignment getTitleAlignment () const
 Returns the title alignment. More...
 
void setTitleButtons (TitleButtons buttons)
 Changes the title buttons. More...
 
TitleButtons getTitleButtons () const
 Returns the title bar buttons. More...
 
void setTitleButtonsText (const sf::String &closeText="x", const sf::String &minimizeText="-", const sf::String &maximizeText="+")
 Changes the text within the title bar buttons. More...
 
void setIcon (const Texture &icon)
 Changes the icon in the top left corner of the child window. More...
 
const TexturegetIcon ()
 Returns the icon in the top left corner of the child window. More...
 
void destroy ()
 Destroys the window. More...
 
void setResizable (bool resizable=true)
 Changes whether the child window can be resized by dragging its borders or not. More...
 
bool isResizable () const
 Check whether the child window can be resized by dragging its borders or not. More...
 
void keepInParent (bool enabled=true)
 Set the child window to be kept inside its parent. More...
 
bool isKeptInParent () const
 Tells whether the child window is kept inside its parent. More...
 
void setCloseButton (Button::Ptr closeButton)
 Change the close button. More...
 
Button::Ptr getCloseButton () const
 Returns the close button. More...
 
void setMinimizeButton (Button::Ptr minimizeButton)
 Change the minimize button. More...
 
Button::Ptr getMinimizeButton () const
 Returns the minimize button. More...
 
void setMaximizeButton (Button::Ptr maximizeButton)
 Change the maximize button. More...
 
Button::Ptr getMaximizeButton () const
 Returns the maximize button. More...
 
virtual sf::Vector2f getChildWidgetsOffset () const override
 Returns the distance between the position of the container and a widget that would be drawn inside this container on relative position (0,0). More...
 
- Public Member Functions inherited from tgui::Container
 Container (const Container &copy)
 Copy constructor. More...
 
Containeroperator= (const Container &right)
 Overload of assignment operator. More...
 
const std::vector< Widget::Ptr > & getWidgets ()
 Returns a list of all the widgets. More...
 
const std::vector< sf::String > & getWidgetNames ()
 Returns a list of the names of all the widgets. More...
 
virtual void add (const Widget::Ptr &widgetPtr, const sf::String &widgetName="")
 Adds a widget to the container. More...
 
Widget::Ptr get (const sf::String &widgetName, bool recursive=false) const
 Returns a pointer to an earlier created widget. More...
 
template<class T >
T::Ptr get (const sf::String &widgetName, bool recursive=false) const
 Returns a pointer to an earlier created widget. More...
 
virtual bool remove (const Widget::Ptr &widget)
 Removes a single widget that was added to the container. More...
 
virtual void removeAllWidgets ()
 Removes all widgets that were added to the container.
 
bool setWidgetName (const Widget::Ptr &widget, const std::string &name)
 Changes the name of a widget. More...
 
std::string getWidgetName (const Widget::Ptr &widget) const
 Returns the name of a widget. More...
 
void focusWidget (const Widget::Ptr &widget)
 Focuses a widget. More...
 
void focusWidget (Widget *const widget)
 Focuses a widget. More...
 
void focusNextWidget ()
 Focuses the next widget. More...
 
void focusPreviousWidget ()
 Focuses the previous widget. More...
 
void unfocusWidgets ()
 Unfocus all the widgets.
 
void uncheckRadioButtons ()
 Uncheck all the radio buttons.
 
void loadWidgetsFromFile (const std::string &filename)
 Load the child widgets from a text file. More...
 
void saveWidgetsToFile (const std::string &filename)
 Save the child widgets to a text file. More...
 
void loadWidgetsFromStream (std::stringstream &stream)
 Load the child widgets from a string stream. More...
 
void saveWidgetsToStream (std::stringstream &stream)
 Save the child widgets to a text file. More...
 
- Public Member Functions inherited from tgui::Widget
 Widget ()
 Default constructor.
 
 Widget (const Widget &copy)
 Copy constructor. More...
 
 ~Widget ()
 Destructor.
 
Widgetoperator= (const Widget &right)
 Overload of assignment operator. More...
 
std::shared_ptr< WidgetRenderergetRenderer () 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...
 
ContainergetParent () 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< BaseThemegetTheme () 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...
 
virtual sf::Vector2f getWidgetOffset () const
 Returns the distance between the position where the widget is drawn and where the widget is placed. More...
 
- Public Member Functions inherited from tgui::Transformable
virtual ~Transformable ()=default
 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...
 
- Public Member Functions inherited from tgui::SignalWidgetBase
 SignalWidgetBase ()=default
 Default constructor.
 
 SignalWidgetBase (const SignalWidgetBase &copy)
 Copy constructor. More...
 
SignalWidgetBaseoperator= (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 ChildWindow::Ptr create ()
 Creates a new child window widget. More...
 
static ChildWindow::Ptr copy (ChildWindow::ConstPtr childWindow)
 Makes a copy of another child window. 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...
 
- Protected Member Functions inherited from tgui::Container
void moveWidgetToFront (Widget *const widget)
 Places a widget before all other widgets. More...
 
void moveWidgetToBack (Widget *const widget)
 Places a widget behind all other widgets. More...
 
- Protected Member Functions inherited from tgui::Widget
void attachTheme (std::shared_ptr< BaseTheme > theme)
 Attach a theme to the widget. More...
 

Detailed Description

Child window widget.

Signals:

  • MousePressed (left mouse button went down on top of the child window and the window was in front of other widgets)
    • Optional parameter sf::Vector2f: Position of the mouse relative to the position of the child window
    • Uses Callback member 'mouse'
  • Closed (Child window was closed)
    • Optional parameter ChildWindow::Ptr: shared pointer to the closed child window
  • Minimized (Child window was minimized)
    • Optional parameter ChildWindow::Ptr: shared pointer to the minimized child window
  • Maximized (Child window was maximized)
    • Optional parameter ChildWindow::Ptr: shared pointer to the maximized child window
  • Inherited signals from Container

Member Enumeration Documentation

◆ TitleAlignment

Title alignments, possible options for the setTitleAlignment function.

Enumerator
Left 

Places the title on the left side of the title bar.

Center 

Places the title in the middle of the title bar.

Right 

Places the title on the right side of the title bar.

◆ TitleButtons

Title buttons (bitwise OR to combine)

Enumerator
None 

No buttons.

Close 

Include a close button.

Minimize 

Include a minimize button.

Maximize 

Include a maximize button.

Member Function Documentation

◆ clone()

virtual Widget::Ptr tgui::ChildWindow::clone ( ) const
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.

Returns
Copy of the widget

Implements tgui::Widget.

Reimplemented in tgui::MessageBox.

◆ copy()

static ChildWindow::Ptr tgui::ChildWindow::copy ( ChildWindow::ConstPtr  childWindow)
static

Makes a copy of another child window.

Parameters
childWindowThe other child window
Returns
The new child window

◆ create()

static ChildWindow::Ptr tgui::ChildWindow::create ( )
static

Creates a new child window widget.

Returns
The new child window

◆ destroy()

void tgui::ChildWindow::destroy ( )

Destroys the window.

When no callback is requested when closing the window, this function will be called automatically.

When you requested a callback then you get the opportunity to cancel the closing of the window. If you want to keep it open then don't do anything, if you want to close it then just call this function.

◆ getChildWidgetsOffset()

virtual sf::Vector2f tgui::ChildWindow::getChildWidgetsOffset ( ) const
overridevirtual

Returns the distance between the position of the container and a widget that would be drawn inside this container on relative position (0,0).

Returns
Offset of the widgets in the container

Reimplemented from tgui::Container.

◆ getCloseButton()

Button::Ptr tgui::ChildWindow::getCloseButton ( ) const

Returns the close button.

Returns
close button of the child window

You should not change this close button yourself.

◆ getFullSize()

virtual sf::Vector2f tgui::ChildWindow::getFullSize ( ) const
overridevirtual

Returns the size of the full child window.

Returns
Size of the child window

The size returned by this function is the size of the child window, including the title bar and the borders.

Reimplemented from tgui::Transformable.

◆ getIcon()

const Texture& tgui::ChildWindow::getIcon ( )

Returns the icon in the top left corner of the child window.

Returns
the icon image

◆ getMaximizeButton()

Button::Ptr tgui::ChildWindow::getMaximizeButton ( ) const

Returns the maximize button.

Returns
maximize button of the child window

You should not change this maximize button yourself.

◆ getMaximumSize()

sf::Vector2f tgui::ChildWindow::getMaximumSize ( ) const

Returns the maximum size of the child window.

Returns
Maximum size of the child window

The size returned by this function is the maximum size of the child window, excluding the title bar and the borders.

◆ getMinimizeButton()

Button::Ptr tgui::ChildWindow::getMinimizeButton ( ) const

Returns the minimize button.

Returns
minimize button of the child window

You should not change this minimize button yourself.

◆ getMinimumSize()

sf::Vector2f tgui::ChildWindow::getMinimumSize ( ) const

Returns the minimum size of the child window.

Returns
Minimum size of the child window

The size returned by this function is the minimum size of the child window, excluding the title bar and the borders.

◆ getRenderer()

std::shared_ptr<ChildWindowRenderer> tgui::ChildWindow::getRenderer ( ) const
inline

Returns the renderer, which gives access to functions that determine how the widget is displayed.

Returns
Reference to the renderer

◆ getTitle()

const sf::String& tgui::ChildWindow::getTitle ( ) const
inline

Returns the title that is displayed in the title bar of the child window.

Returns
Title of the child window

◆ getTitleAlignment()

TitleAlignment tgui::ChildWindow::getTitleAlignment ( ) const
inline

Returns the title alignment.

Returns
How the title is aligned in the title bar

◆ getTitleButtons()

TitleButtons tgui::ChildWindow::getTitleButtons ( ) const
inline

Returns the title bar buttons.

Returns
Which buttons are available in the title bar

◆ isKeptInParent()

bool tgui::ChildWindow::isKeptInParent ( ) const

Tells whether the child window is kept inside its parent.

Returns
When it's set to true, the child window will always be kept automatically inside its parent. It will be fully kept on left, right and top. At the bottom of the parent only the title bar will be kept inside. It's set to false by default.

◆ isResizable()

bool tgui::ChildWindow::isResizable ( ) const

Check whether the child window can be resized by dragging its borders or not.

Returns
Can the user change the size of the window by dragging one of the borders?

◆ keepInParent()

void tgui::ChildWindow::keepInParent ( bool  enabled = true)

Set the child window to be kept inside its parent.

Parameters
enabledWhen it's set to true, the child window will always be kept automatically inside its parent. It will be fully kept on left, right and top. At the bottom of the parent only the title bar will be kept inside. It's set to false by default.

◆ reload()

virtual void tgui::ChildWindow::reload ( const std::string &  primary = "",
const std::string &  secondary = "",
bool  force = false 
)
overrideprotectedvirtual

Reload the widget.

Parameters
primaryPrimary parameter for the loader
secondarySecondary parameter for the loader
forceTry to only change the looks of the widget and not alter the widget itself when false
Exceptions
Exceptionwhen 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.

Reimplemented in tgui::MessageBox.

◆ setCloseButton()

void tgui::ChildWindow::setCloseButton ( Button::Ptr  closeButton)

Change the close button.

Returns
closeButton The new close button

The close button should have no parent and you should no longer change it after calling this function. The function is meant to be used like this:

childWindow->setCloseButton(theme->load("CloseButton"));

◆ setFont()

virtual void tgui::ChildWindow::setFont ( const Font font)
overridevirtual

Changes the font of the text in the widget and its children.

Parameters
fontThe new font.

When you don't call this function then the font from the parent widget will be used.

Reimplemented from tgui::Container.

Reimplemented in tgui::MessageBox.

◆ setIcon()

void tgui::ChildWindow::setIcon ( const Texture icon)

Changes the icon in the top left corner of the child window.

Parameters
iconthe icon image

There is no icon by default. Set an empty texture to remove the icon.

◆ setMaximizeButton()

void tgui::ChildWindow::setMaximizeButton ( Button::Ptr  maximizeButton)

Change the maximize button.

Returns
maximizeButton The new maximize button

The maximize button should have no parent and you should no longer change it after calling this function. The function is meant to be used like this:

childWindow->setMaximizeButton(theme->load("MaximizeButton"));

◆ setMaximumSize()

void tgui::ChildWindow::setMaximumSize ( sf::Vector2f  size)

Sets the maximum size of the child window.

Parameters
sizeSets the new maximum size of the child window

This function sets the maximum size of the window excluding borders and titlebar. If the window is larger than the new maximum size, it will automatically be resized down.

◆ setMinimizeButton()

void tgui::ChildWindow::setMinimizeButton ( Button::Ptr  minimizeButton)

Change the minimize button.

Returns
minimizeButton The new minimize button

The minimize button should have no parent and you should no longer change it after calling this function. The function is meant to be used like this:

childWindow->setMinimizeButton(theme->load("MinimizeButton"));

◆ setMinimumSize()

void tgui::ChildWindow::setMinimumSize ( sf::Vector2f  size)

Sets the minimum size of the child window.

Parameters
sizeSets the new minimum size of the child window

This function sets the minimum size of the window excluding borders and titlebar. If the window is smaller than the new minimum size, it will automatically be resized up.

◆ setOpacity()

virtual void tgui::ChildWindow::setOpacity ( float  opacity)
overridevirtual

Changes the opacity of the widget.

Parameters
opacityThe opacity of the widget. 0 means completely transparent, while 1 (default) means fully opaque.

Reimplemented from tgui::Container.

◆ setPosition()

void tgui::ChildWindow::setPosition ( const Layout2d position)
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).

Parameters
positionNew position
See also
move, getPosition

Reimplemented from tgui::Widget.

◆ setResizable()

void tgui::ChildWindow::setResizable ( bool  resizable = true)

Changes whether the child window can be resized by dragging its borders or not.

Parameters
resizableCan the user change the size of the window by dragging one of the borders?

◆ setSize()

void tgui::ChildWindow::setSize ( const Layout2d size)
overridevirtual

Changes the size of the child window.

Parameters
sizeSets the new size of the child window

This is the size of the child window, without the title bar nor the borders.

Reimplemented from tgui::Widget.

◆ setTitle()

void tgui::ChildWindow::setTitle ( const sf::String &  title)

Changes the title that is displayed in the title bar of the child window.

Parameters
titleNew title for the child window

◆ setTitleAlignment()

void tgui::ChildWindow::setTitleAlignment ( TitleAlignment  alignment)

Changes the title alignment.

Parameters
alignmentHow should the title be aligned in the title bar?

◆ setTitleButtons()

void tgui::ChildWindow::setTitleButtons ( TitleButtons  buttons)

Changes the title buttons.

Parameters
buttonsWhich buttons should be available in the title bar?

By default ChildWindows only display a close button. You may set the window to show a combination of buttons. For example, the following will set the ChildWindow to have both a minimize and close button.

childWindow->setTitleButtons(ChildWindow::TitleButtons::Minimize | ChildWindow::TitleButtons::Close);

◆ setTitleButtonsText()

void tgui::ChildWindow::setTitleButtonsText ( const sf::String &  closeText = "x",
const sf::String &  minimizeText = "-",
const sf::String &  maximizeText = "+" 
)

Changes the text within the title bar buttons.

Parameters
closeTextNew text for the close button (default is "x")
minimizeTextNew text for the minimize button (default is "-")
maximizeTextNew text for the maximize button (default is "+")

The documentation for this class was generated from the following file: