TGUI  0.7.8
Inheritance diagram for tgui::ChatBox:
tgui::Widget tgui::Transformable 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

 ChatBox (const ChatBox &copy)
 Copy constructor. More...
 
ChatBoxoperator= (const ChatBox &right)
 Overload of assignment operator. More...
 
std::shared_ptr< ChatBoxRenderergetRenderer () const
 Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
 
void setSize (const Layout2d &size) override
 Changes the size of the chat box. More...
 
virtual sf::Vector2f getFullSize () const override
 Returns the full size of the chat box. More...
 
void addLine (const sf::String &text)
 Add a new line of text to the chat box. More...
 
void addLine (const sf::String &text, unsigned int textSize)
 Add a new line of text to the chat box. More...
 
void addLine (const sf::String &text, const sf::Color &color)
 Add 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)
 Add 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)
 Set 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...
 
virtual void setFont (const Font &font) override
 Changes the default font of the text. 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 (const Color &color)
 Changes the default color of the text. More...
 
const sf::Color & getTextColor () const
 Returns the default color of the text. More...
 
void setScrollbar (Scrollbar::Ptr scrollbar)
 Changes the scrollbar of the chat box. More...
 
Scrollbar::Ptr getScrollbar () const
 Access the scrollbar of the chat box. More...
 
void setLinesStartFromTop (bool startFromTop=true)
 Let 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)
 Set 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...
 
virtual void setOpacity (float opacity) override
 Changes the opacity of the widget. More...
 
virtual sf::Vector2f getWidgetOffset () const override
 Returns the distance between the position where the widget is drawn and where the widget is placed. More...
 
virtual void setSize (const Layout2d &size)
 Changes the size of the widget. More...
 
void setSize (const Layout &width, const Layout &height)
 Changes the size of the widget. 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 void setPosition (const Layout2d &position) override
 set the position of the widget 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 void setPosition (const Layout2d &position)
 set the position of the widget More...
 
void setPosition (const Layout &x, const Layout &y)
 set the position of the widget More...
 
void setSize (const Layout &width, const Layout &height)
 Changes the size of the widget. More...
 
- Public Member Functions inherited from tgui::Transformable
virtual ~Transformable ()
 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 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

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::Widget
void attachTheme (std::shared_ptr< BaseTheme > theme)
 Attach a theme to the widget. More...
 

Constructor & Destructor Documentation

◆ ChatBox()

tgui::ChatBox::ChatBox ( const ChatBox copy)

Copy constructor.

Parameters
copyInstance to copy

Member Function Documentation

◆ addLine() [1/4]

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

Add 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,
const sf::Color &  color 
)

Add 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() [3/4]

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

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

◆ addLine() [4/4]

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

Add 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

◆ clone()

virtual 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

◆ getFullSize()

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

Returns the full size of the chat box.

This is the size including the borders.

Returns
Full size of the chat box

Reimplemented from tgui::Transformable.

◆ 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. The default font (set with setFont) when the index is too high.

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

std::shared_ptr< ChatBoxRenderer > tgui::ChatBox::getRenderer ( ) const
inline

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

Returns
Reference to the renderer

◆ getScrollbar()

Scrollbar::Ptr tgui::ChatBox::getScrollbar ( ) const

Access the scrollbar of the chat box.

Returns
scrollbar in the chat box

You should not change the scrollbar yourself

◆ getTextColor()

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

Returns the default color of the text.

Returns
The currently used default text color.

◆ getTextSize()

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

Returns the default character size of the text.

Returns
The currently used default text size.

◆ getWidgetOffset()

virtual sf::Vector2f tgui::ChatBox::getWidgetOffset ( ) const
overridevirtual

Returns the distance between the position where the widget is drawn and where the widget is placed.

This is basically the width and height of the optional borders drawn around widgets.

Returns
Offset of the widget

Reimplemented from tgui::Widget.

◆ operator=()

ChatBox & tgui::ChatBox::operator= ( const ChatBox right)

Overload of assignment operator.

Parameters
rightInstance to assign
Returns
Reference to itself

◆ reload()

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

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

◆ setFont()

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

Changes the default font of the text.

Parameters
fontThe new font.

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

Reimplemented from tgui::Widget.

◆ setLineLimit()

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

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

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

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

◆ setOpacity()

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

◆ setScrollbar()

void tgui::ChatBox::setScrollbar ( Scrollbar::Ptr  scrollbar)

Changes the scrollbar of the chat box.

Parameters
scrollbarThe new scrollbar to use in the chat box

Pass a nullptr to remove the scrollbar. Note that when removing the scrollbar while there are too many lines to fit in the chat box then the oldest lines will be removed.

The scrollbar should have no parent and you should not change it yourself. The function is meant to be used like this:

chatBox->setScrollbar(theme->load("scrollbar"));

◆ setSize() [1/3]

void tgui::Transformable::setSize ( const Layout width,
const Layout height 
)
inline

Changes the size of the widget.

Parameters
widthWidth of the widget
heightHeight of the widget

Usage examples:

// Give the widget an exact size
widget->setSize(40, 30);
// Make the widget 50 pixels higher than some other widget
widget->setSize(otherWidget->getSize().x, otherWidget->getSize().y + 50);
// Make the widget 50 pixels higher than some other widget and automatically resize it when the other widget resizes
widget->setSize(tgui::bindWidth(otherWidget), tgui::bindHeight(otherWidget) + 50);
TGUI_API Layout bindWidth(std::shared_ptr< Widget > widget)
Bind to the width of the widget.
TGUI_API Layout bindHeight(std::shared_ptr< Widget > widget)
Bind to the height of the widget.

◆ setSize() [2/3]

virtual void tgui::Transformable::setSize ( const Layout2d size)
virtual

Changes the size of the widget.

Parameters
sizeSize of the widget

Usage examples:

// Give the widget an exact size
widget->setSize({40, 30});
// Make the widget 50 pixels higher than some other widget
widget->setSize(otherWidget->getSize() + sf::Vector2f{0, 50});
// Make the widget 50 pixels higher than some other widget and automatically resize it when the other widget resizes
widget->setSize(tgui::bindSize(otherWidget) + sf::Vector2f{0, 50});
TGUI_API Layout2d bindSize(std::shared_ptr< Widget > widget)
Bind to the size of the widget.

Reimplemented from tgui::Widget.

◆ setSize() [3/3]

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 ( const 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: