TGUI  0.8-dev
Inheritance diagram for tgui::ChatBox:
tgui::Widget tgui::SignalWidgetBase

Classes

struct  Line
 

Public Types

typedef std::shared_ptr< ChatBoxPtr
 Shared widget pointer.
 
typedef std::shared_ptr< const ChatBoxConstPtr
 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

ChatBoxRenderergetSharedRenderer ()
 Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
 
ChatBoxRenderergetRenderer ()
 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 chat box. More...
 
void addLine (const sf::String &text)
 Adds a new line of text to the chat box. More...
 
void addLine (const sf::String &text, unsigned int textSize)
 Adds a new line of text to the chat box. More...
 
void addLine (const sf::String &text, const sf::Color &color)
 Adds a new line of text to the chat box. More...
 
void addLine (const sf::String &text, const sf::Color &color, unsigned int textSize, const Font &font=nullptr)
 Adds a new line of text to the chat box. More...
 
sf::String getLine (std::size_t lineIndex) const
 Returns the contents of the requested line. More...
 
sf::Color getLineColor (std::size_t lineIndex) const
 Returns the color of the requested line. More...
 
unsigned int getLineTextSize (std::size_t lineIndex) const
 Returns the text size of the requested line. More...
 
std::shared_ptr< sf::Font > getLineFont (std::size_t lineIndex) const
 Returns the font of the requested line. More...
 
bool removeLine (std::size_t lineIndex)
 Removes the requested line. More...
 
void removeAllLines ()
 Removes all lines from the chat box.
 
std::size_t getLineAmount ()
 Returns the amount of lines in the chat box. More...
 
void setLineLimit (std::size_t maxLines)
 Sets a maximum amount of lines in the chat box. More...
 
std::size_t getLineLimit ()
 Returns the maximum amount of lines in the chat box. More...
 
void setTextSize (unsigned int size)
 Changes the default character size of the text. More...
 
unsigned int getTextSize () const
 Returns the default character size of the text. More...
 
void setTextColor (Color color)
 Changes the default color of the text. More...
 
const sf::Color & getTextColor () const
 Returns the default color of the text. More...
 
void setLinesStartFromTop (bool startFromTop=true)
 Lets the first lines start from the top or from the bottom of the chat box. More...
 
bool getLinesStartFromTop () const
 Returns whether the first lines start from the top or from the bottom of the chat box. More...
 
void setNewLinesBelowOthers (bool newLinesBelowOthers=true)
 Sets whether new lines are added below the other lines or above them. More...
 
bool getNewLinesBelowOthers () const
 Returns whether new lines are added below the other lines or above them. More...
 
bool mouseOnWidget (sf::Vector2f pos) const override
 Returns whether the mouse position (which is relative to the parent widget) lies on top 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.
 
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...
 
WidgetRenderergetSharedRenderer ()
 Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
 
WidgetRenderergetRenderer ()
 Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
 
void setPosition (Layout x, Layout y)
 Sets the position of the widget. More...
 
sf::Vector2f getPosition () const
 Gets the position of the widget. More...
 
void setSize (Layout width, Layout height)
 Changes the size of the widget. More...
 
sf::Vector2f getSize () const
 Returns the size of the widget. More...
 
virtual sf::Vector2f getFullSize () const
 Returns the entire size that the widget is using. 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. More...
 
virtual void moveToBack ()
 Places the widget behind all other widgets. 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 FontgetInheritedFont () 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...
 
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::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 &..., 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 ChatBox::Ptr create ()
 Creates a new chat box widget. More...
 
static ChatBox::Ptr copy (ChatBox::ConstPtr chatBox)
 Makes a copy of another chat box. More...
 

Protected Member Functions

void rendererChanged (const std::string &property) override
 Function called when one of the properties of the renderer is changed. More...
 
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
SignalgetSignal (std::string signalName) override
 Retrieves a signal based on its name. More...
 
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.
 

Additional Inherited Members

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

Member Function Documentation

◆ addLine() [1/4]

void tgui::ChatBox::addLine ( const sf::String &  text)

Adds a new line of text to the chat box.

The whole text passed to this function will be considered as one line for the getLine and removeLine functions, even if it is too long and gets split over multiple lines.

The default text color and character size will be used.

Parameters
textText that will be added to the chat box

◆ addLine() [2/4]

void tgui::ChatBox::addLine ( const sf::String &  text,
unsigned int  textSize 
)

Adds a new line of text to the chat box.

The whole text passed to this function will be considered as one line for the getLine and removeLine functions, even if it is too long and gets split over multiple lines.

The default text color will be used.

Parameters
textText that will be added to the chat box
textSizeSize of the text

◆ addLine() [3/4]

void tgui::ChatBox::addLine ( const sf::String &  text,
const sf::Color &  color 
)

Adds a new line of text to the chat box.

The whole text passed to this function will be considered as one line for the getLine and removeLine functions, even if it is too long and gets split over multiple lines.

The default character size will be used.

Parameters
textText that will be added to the chat box
colorColor of the text

◆ addLine() [4/4]

void tgui::ChatBox::addLine ( const sf::String &  text,
const sf::Color &  color,
unsigned int  textSize,
const Font font = nullptr 
)

Adds a new line of text to the chat box.

The whole text passed to this function will be considered as one line for the getLine and removeLine functions, even if it is too long and gets split over multiple lines.

Parameters
textText that will be added to the chat box
colorColor of the text
textSizeSize of the text
fontFont of the text (nullptr to use default font)

◆ clone()

Widget::Ptr tgui::ChatBox::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.

◆ copy()

static ChatBox::Ptr tgui::ChatBox::copy ( ChatBox::ConstPtr  chatBox)
static

Makes a copy of another chat box.

Parameters
chatBoxThe other chat box
Returns
The new chat box

◆ create()

static ChatBox::Ptr tgui::ChatBox::create ( )
static

Creates a new chat box widget.

Returns
The new chat box

◆ getLine()

sf::String tgui::ChatBox::getLine ( std::size_t  lineIndex) const

Returns the contents of the requested line.

Parameters
lineIndexThe index of the line of which you request the contents The first line has index 0
Returns
The contents of the requested line An empty string will be returned when the index is too high

◆ getLineAmount()

std::size_t tgui::ChatBox::getLineAmount ( )

Returns the amount of lines in the chat box.

Returns
Number of lines in the chat box

◆ getLineColor()

sf::Color tgui::ChatBox::getLineColor ( std::size_t  lineIndex) const

Returns the color of the requested line.

Parameters
lineIndexThe index of the line of which you request the color. The first line has index 0
Returns
The color of the requested line. The default color (set with setTextColor) when the index is too high

◆ getLineFont()

std::shared_ptr<sf::Font> tgui::ChatBox::getLineFont ( std::size_t  lineIndex) const

Returns the font of the requested line.

Parameters
lineIndexThe index of the line of which you request the font. The first line has index 0
Returns
The font of the requested line. When the index is too high then the default font is returned.

◆ getLineLimit()

std::size_t tgui::ChatBox::getLineLimit ( )

Returns the maximum amount of lines in the chat box.

Only the last maxLines lines will be kept. Lines above those will be removed. Disabled when set to 0 (default).

Returns
The maximum amount of lines that the chat box can contain

◆ getLinesStartFromTop()

bool tgui::ChatBox::getLinesStartFromTop ( ) const

Returns whether the first lines start from the top or from the bottom of the chat box.

Note that this only makes a difference when the lines don't fill the entire chat box. This does not change the order of the lines, new lines will always be below older lines.

Returns
Are the first lines displayed at the top of the chat box?

◆ getLineTextSize()

unsigned int tgui::ChatBox::getLineTextSize ( std::size_t  lineIndex) const

Returns the text size of the requested line.

Parameters
lineIndexThe index of the line of which you request the text size. The first line has index 0
Returns
The text size of the requested line. The default text size (set with setTextSize) when the index is too high

◆ getNewLinesBelowOthers()

bool tgui::ChatBox::getNewLinesBelowOthers ( ) const

Returns whether new lines are added below the other lines or above them.

Returns
Does the addLine function insert the line below the existing lines?

◆ getRenderer()

ChatBoxRenderer* tgui::ChatBox::getRenderer ( )

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

Returns
Temporary pointer to the renderer
Warning
After calling this function, the widget has its own copy of the renderer and it will no longer be shared.

◆ getSharedRenderer()

ChatBoxRenderer* tgui::ChatBox::getSharedRenderer ( )

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

Returns
Temporary pointer to the renderer that may be shared with other widgets using the same renderer

◆ getTextColor()

const sf::Color& tgui::ChatBox::getTextColor ( ) const

Returns the default color of the text.

Returns
The currently used default text color

◆ getTextSize()

unsigned int tgui::ChatBox::getTextSize ( ) const

Returns the default character size of the text.

Returns
The currently used default text size

◆ mouseOnWidget()

bool tgui::ChatBox::mouseOnWidget ( sf::Vector2f  pos) const
overridevirtual

Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget.

Returns
Is the mouse on top of the widget?

Implements tgui::Widget.

◆ removeLine()

bool tgui::ChatBox::removeLine ( std::size_t  lineIndex)

Removes the requested line.

Parameters
lineIndexThe index of the line that should be removed The first line has index 0
Returns
True if the line was removed, false if no such line existed (index too high)

◆ rendererChanged()

void tgui::ChatBox::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::Widget.

◆ setLineLimit()

void tgui::ChatBox::setLineLimit ( std::size_t  maxLines)

Sets a maximum amount of lines in the chat box.

Only the last maxLines lines will be kept. Lines above those will be removed. Set to 0 to disable the line limit (default).

Parameters
maxLinesThe maximum amount of lines that the chat box can contain

◆ setLinesStartFromTop()

void tgui::ChatBox::setLinesStartFromTop ( bool  startFromTop = true)

Lets the first lines start from the top or from the bottom of the chat box.

Note that this only makes a difference when the lines don't fill the entire chat box. This does not change the order of the lines, new lines will always be below older lines.

Parameters
startFromTopLet the first lines be placed at the top of the chat box, or remain at the bottom?

By default the first lines will be placed at the bottom of the chat box.

◆ setNewLinesBelowOthers()

void tgui::ChatBox::setNewLinesBelowOthers ( bool  newLinesBelowOthers = true)

Sets whether new lines are added below the other lines or above them.

Parameters
newLinesBelowOthersShould the addLine function insert the line below the existing lines?

By default the new lines are always added below the others.

◆ setPosition()

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

Sets the position of the widget.

Parameters
positionNew position

Reimplemented from tgui::Widget.

◆ setSize()

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

Changes the size of the chat box.

This size does not include the borders.

Parameters
sizeThe new size of the chat box

Reimplemented from tgui::Widget.

◆ setTextColor()

void tgui::ChatBox::setTextColor ( Color  color)

Changes the default color of the text.

Parameters
colorThe new default text color

◆ setTextSize()

void tgui::ChatBox::setTextSize ( unsigned int  size)

Changes the default character size of the text.

Parameters
sizeThe new default text size The minimum text size is 8

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