TGUI  0.8-dev

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  TitleButton { None = 0, Close = 1 << 0, Maximize = 1 << 1, Minimize = 1 << 2 }
 Title buttons (use 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

ChildWindowRenderergetRenderer () const
 Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
 
void setPosition (const Layout2d &position) override
 Sets 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...
 
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 (unsigned int buttons)
 Changes the title buttons. More...
 
unsigned int getTitleButtons () const
 Returns the title bar buttons. 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
 Checks whether the child window can be resized by dragging its borders or not. More...
 
void keepInParent (bool enabled=true)
 Sets the child window to be kept inside its parent. More...
 
bool isKeptInParent () const
 Tells whether the child window is kept inside its parent. 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...
 
virtual void draw (sf::RenderTarget &target, sf::RenderStates states) const override
 Draw the widget to a render target. More...
 
- Public Member Functions inherited from tgui::Container
 Container (const Container &copy)
 Copy constructor. More...
 
 ~Container ()
 Destructor.
 
Containeroperator= (const Container &right)
 Overload of assignment operator. More...
 
const std::vector< Widget::Ptr > & getWidgets () const
 Returns a list of all the widgets. More...
 
const std::vector< sf::String > & getWidgetNames () const
 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 focusNextWidget ()
 Focuses the next widget. More...
 
void focusPreviousWidget ()
 Focuses the previous widget. More...
 
void unfocusWidgets ()
 Unfocuses all the widgets.
 
void uncheckRadioButtons ()
 Unchecks all the radio buttons.
 
void loadWidgetsFromFile (const std::string &filename)
 Loads the child widgets from a text file. More...
 
void saveWidgetsToFile (const std::string &filename)
 Saves the child widgets to a text file. More...
 
void loadWidgetsFromStream (std::stringstream &stream)
 Loads the child widgets from a string stream. More...
 
void saveWidgetsToStream (std::stringstream &stream)
 Saves the child widgets to a text file. More...
 
void moveWidgetToFront (const Widget::Ptr &widget)
 Places a widget before all other widgets. More...
 
void moveWidgetToBack (const Widget::Ptr &widget)
 Places a widget behind all other widgets. More...
 
- Public Member Functions inherited from tgui::Widget
 Widget ()
 Default constructor.
 
 Widget (const Widget &)
 Copy constructor.
 
 Widget (Widget &&)
 Move constructor.
 
 ~Widget ()
 Destructor.
 
Widgetoperator= (const Widget &)
 Overload of copy assignment operator.
 
Widgetoperator= (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...
 
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 sf::Vector2f getWidgetOffset () const
 Returns the distance between the position where the widget is drawn and where the widget is placed. 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 ()
 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...
 
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...
 
- Public Member Functions inherited from tgui::Transformable
virtual ~Transformable ()=default
 Virtual destructor.
 
void setPosition (const Layout &x, const Layout &y)
 Sets the position of the widget. More...
 
sf::Vector2f getPosition () const
 Gets the position of the widget. More...
 
void move (const Layout2d &offset)
 Moves the widget by a given offset. More...
 
void move (const Layout &x, const Layout &y)
 Moves 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)
 Scales the widget. More...
 
void scale (const Layout &x, const Layout &y)
 Scales the widget. More...
 
- Public Member Functions inherited from tgui::SignalWidgetBase
virtual ~SignalWidgetBase ()
 Virtual destructor.
 
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)
 Disconnects all connections from a certain signal. More...
 
void disconnectAll ()
 Disconnects 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 rendererChanged (const std::string &property) override
 Function called when one of the properties of the renderer is changed. 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::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.
 

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.

§ TitleButton

Title buttons (use bitwise OR to combine)

Enumerator
None 

No buttons.

Close 

Include a close button.

Maximize 

Include a maximize button.

Minimize 

Include a minimize 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.

§ draw()

virtual void tgui::ChildWindow::draw ( sf::RenderTarget &  target,
sf::RenderStates  states 
) const
overridevirtual

Draw the widget to a render target.

Parameters
targetRender target to draw to
statesCurrent render states

Implements tgui::Widget.

§ 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.

§ 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.

§ 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.

§ 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()

ChildWindowRenderer* tgui::ChildWindow::getRenderer ( ) const
inline

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

Returns
Temporary pointer to the renderer

§ getTitle()

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

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

Returns the title alignment.

Returns
How the title is aligned in the title bar

§ getTitleButtons()

unsigned int tgui::ChildWindow::getTitleButtons ( ) const

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

Checks 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)

Sets 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

§ rendererChanged()

virtual void tgui::ChildWindow::rendererChanged ( const std::string &  property)
overrideprotectedvirtual

Function called when one of the properties of the renderer is changed.

Parameters
propertyLowercase name of the property that was changed

Reimplemented from tgui::Container.

Reimplemented in tgui::MessageBox.

§ 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.

§ 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.

§ setPosition()

void tgui::ChildWindow::setPosition ( const Layout2d position)
overridevirtual

Sets 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 ( unsigned int  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);

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