Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sf::ui::Button Class Reference

A button which does a simply task when clicked

. More...

#include <Button.hpp>

Inheritance diagram for sf::ui::Button:
sf::ui::AbstractButton sf::ui::IText sf::ui::Focusable sf::ui::Component sf::ui::ComponentObservable

Public Member Functions

 Button ()
 Creates a button without textures that does nothing. More...
 
 Button (sf::Texture const &texture, sf::Texture const &textureFocused, sf::Texture const &textureFired)
 Creates a button with textures that does nothing Do not forget to set the font ! More...
 
template<typename C >
 Button (C *object, void(C::*function)())
 Creates a button without textures that call a function in a object Do not forget to set textures and font ! More...
 
template<typename C >
 Button (C *object, void(C::*function)(), sf::Texture const &texture, sf::Texture const &textureFocused, sf::Texture const &textureFired)
 Creates a button with textures that call a function in a object Do not forget to set the font ! More...
 
template<typename F >
 Button (F function)
 Creates a button without textures that call a function or a functor (struct with operator() ) Do not forget to set textures and font ! More...
 
template<typename F >
 Button (F function, sf::Texture const &texture, sf::Texture const &textureFocused, sf::Texture const &textureFired)
 Creates a button with textures that call a function or a functor (struct with operator() ) Do not forget to set the font ! More...
 
void doClick ()
 Perform a click on the button. More...
 
virtual void updateEvent (sf::Event const &event)
 Update the component each time an event has been polled. More...
 
virtual void updateFixed (sf::Time delta)
 Update the component with the main loop's frequency Can be useful for animation, or time's needed stuff. More...
 
bool isFired () const
 
sf::Texture const * getTextureFired () const
 
void setTextureFired (sf::Texture const &textureFired)
 Sets the texture fired. More...
 
virtual const sf::String & getText () const
 
virtual void setText (sf::String const &text)
 Sets the text's string of the component Don't forget to set the font. More...
 
virtual const sf::Font * getFont () const
 
virtual void setFont (sf::Font const &font)
 Sets the font of the component's text. More...
 
virtual unsigned int getFontSize () const
 
virtual void setFontSize (unsigned int size)
 Set the font's size of the component. More...
 
virtual sf::Color getFontColor () const
 
virtual void setFontColor (sf::Color color)
 Sets the color's font of the text. More...
 
bool isFocused () const
 
void setFocused (bool focused)
 Set if the component is focused. More...
 
const sf::Texture * getTextureFocused () const
 
void setTextureFocused (const sf::Texture &textureFocused)
 Set the texture that is displayed when the component is displayed. More...
 
void updateSize ()
 Update the size of the component Call it when you update your texture after it was set, to recalculate the component's size with new texture loaded. More...
 
void move (sf::Vector2f const &vector)
 Move the component. More...
 
void move (float x, float y)
 Move the component. More...
 
const sf::Texture * getTexture () const
 
void setTexture (const sf::Texture &texture)
 Set the texture of the component. More...
 
const sf::Vector2f & getPosition () const
 
void setPosition (sf::Vector2f const &position)
 Set the component's position. More...
 
void setPosition (float x, float y)
 Set the component's position. More...
 
virtual sf::Vector2f getSize () const
 
void addObserver (sf::ui::ComponentObserver *observer)
 Add an observer. More...
 
std::set
< sf::ui::ComponentObserver * >
::const_iterator 
getObserversBegin () const
 
std::set
< sf::ui::ComponentObserver * >
::const_iterator 
getObserversEnd () const
 
int countObservers ()
 
void removeObserver (sf::ui::ComponentObserver *observer)
 Remove the observer at the given index. More...
 
void removeAllObservers ()
 Remove all the observers. More...
 

Protected Member Functions

virtual void onClick ()
 Called when the button is clicked Execute the task. More...
 
virtual void draw (sf::RenderTarget &target, sf::RenderStates states) const
 Draw the component to the render target. More...
 
virtual void updateCoord ()
 Called when the component need update its geometry Inherit when you need to update some sprite. More...
 
virtual bool checkClickOn (int x, int y) const
 
virtual bool isCoordOnComponent (int x, int y) const
 
virtual void gainFocus ()
 Called when the component gain focus. More...
 
virtual void lostFocus ()
 Called when the component lost focus. More...
 
void triggerEvent (const sf::ui::ComponentEvent &event)
 Triggers the event and notify all observers. More...
 

Protected Attributes

sf::Texture const * m_textureFired
 
sf::Text m_text
 
bool m_clicked
 
sf::priv::ThreadFunc * m_task
 
sf::Texture const * m_textureFocused
 
bool m_focused
 
sf::Sprite m_sprite
 
sf::Texture const * m_texture
 
std::set
< sf::ui::ComponentObserver * > 
m_observers
 

Detailed Description

A button which does a simply task when clicked

.

Definition at line 29 of file Button.hpp.

Constructor & Destructor Documentation

sf::ui::Button::Button ( )
inline

Creates a button without textures that does nothing.

Definition at line 40 of file Button.hpp.

sf::ui::Button::Button ( sf::Texture const &  texture,
sf::Texture const &  textureFocused,
sf::Texture const &  textureFired 
)
inline

Creates a button with textures that does nothing Do not forget to set the font !

Parameters
texturethe texture of this button
textureFocusedthe texture when the button is focused
textureFiredthe texture when the button is fired

Definition at line 58 of file Button.hpp.

template<typename C >
sf::ui::Button::Button ( C *  object,
void(C::*)()  function 
)
inline

Creates a button without textures that call a function in a object Do not forget to set textures and font !

Parameters
objectthe object that contains the function to execute
functionthe function to execute

Definition at line 76 of file Button.hpp.

template<typename C >
sf::ui::Button::Button ( C *  object,
void(C::*)()  function,
sf::Texture const &  texture,
sf::Texture const &  textureFocused,
sf::Texture const &  textureFired 
)
inline

Creates a button with textures that call a function in a object Do not forget to set the font !

Parameters
objectthe object that contains the function to execute
functionthe function to execute
texturethe texture of this button
textureFocusedthe texture when the button is focused
textureFiredthe texture when the button is fired

Definition at line 97 of file Button.hpp.

template<typename F >
sf::ui::Button::Button ( function)
inline

Creates a button without textures that call a function or a functor (struct with operator() ) Do not forget to set textures and font !

Parameters
functionthe function/functor to execute

Definition at line 114 of file Button.hpp.

template<typename F >
sf::ui::Button::Button ( function,
sf::Texture const &  texture,
sf::Texture const &  textureFocused,
sf::Texture const &  textureFired 
)
inline

Creates a button with textures that call a function or a functor (struct with operator() ) Do not forget to set the font !

Parameters
functionthe function/functor to execute
texturethe texture of this button
textureFocusedthe texture when the button is focused
textureFiredthe texture when the button is fired

Definition at line 134 of file Button.hpp.

Member Function Documentation

void sf::ui::ComponentObservable::addObserver ( sf::ui::ComponentObserver observer)
inherited

Add an observer.

virtual bool sf::ui::Focusable::checkClickOn ( int  x,
int  y 
) const
protectedvirtualinherited
Returns
whether the click should focus the component or not
Parameters
button- the mouse's button
x- the x coord
y- the y coord
int sf::ui::ComponentObservable::countObservers ( )
inherited
Returns
the number of observers
void sf::ui::Button::doClick ( )

Perform a click on the button.

virtual void sf::ui::Button::draw ( sf::RenderTarget &  target,
sf::RenderStates  states 
) const
protectedvirtual

Draw the component to the render target.

Reimplemented from sf::ui::Component.

virtual void sf::ui::Focusable::gainFocus ( )
protectedvirtualinherited

Called when the component gain focus.

virtual const sf::Font* sf::ui::Button::getFont ( ) const
virtual
Returns
the font of the component, if any returns null

Implements sf::ui::IText.

virtual sf::Color sf::ui::Button::getFontColor ( ) const
virtual
Returns
the font's color of the text

Implements sf::ui::IText.

virtual unsigned int sf::ui::Button::getFontSize ( ) const
virtual
Returns
the font's size of the component

Implements sf::ui::IText.

std::set<sf::ui::ComponentObserver*>::const_iterator sf::ui::ComponentObservable::getObserversBegin ( ) const
inherited
Returns
the begin of the observers' iterator
std::set<sf::ui::ComponentObserver*>::const_iterator sf::ui::ComponentObservable::getObserversEnd ( ) const
inherited
Returns
the end of the observers' iterator
const sf::Vector2f& sf::ui::Component::getPosition ( ) const
inherited
Returns
the position of the component
virtual sf::Vector2f sf::ui::Component::getSize ( ) const
virtualinherited
Returns
the size of the component

Reimplemented in sf::ui::Label, and sf::ui::CheckBox.

virtual const sf::String& sf::ui::Button::getText ( ) const
virtual
Returns
the text's string

Implements sf::ui::IText.

const sf::Texture* sf::ui::Component::getTexture ( ) const
inherited
Returns
the texture of the component
sf::Texture const* sf::ui::Button::getTextureFired ( ) const
Returns
the texture when the button is fired
const sf::Texture* sf::ui::Focusable::getTextureFocused ( ) const
inherited
Returns
the texture when the component is focused
virtual bool sf::ui::Focusable::isCoordOnComponent ( int  x,
int  y 
) const
protectedvirtualinherited
Returns
whether the given coordinate is on the component or out
Parameters
x- the x coord
y- the y coord
bool sf::ui::Button::isFired ( ) const
Returns
if the button is fired (or clicked)
bool sf::ui::Focusable::isFocused ( ) const
inherited
Returns
whether the component is focused or not
virtual void sf::ui::Focusable::lostFocus ( )
protectedvirtualinherited

Called when the component lost focus.

Reimplemented in sf::ui::FormattedTextField.

void sf::ui::Component::move ( sf::Vector2f const &  vector)
inherited

Move the component.

Parameters
vectorthe move's vector
void sf::ui::Component::move ( float  x,
float  y 
)
inherited

Move the component.

Parameters
xthe x movement
ythe y movement
virtual void sf::ui::Button::onClick ( )
protectedvirtual

Called when the button is clicked Execute the task.

Implements sf::ui::AbstractButton.

void sf::ui::ComponentObservable::removeAllObservers ( )
inherited

Remove all the observers.

void sf::ui::ComponentObservable::removeObserver ( sf::ui::ComponentObserver observer)
inherited

Remove the observer at the given index.

Parameters
observerthe observer to remove
void sf::ui::Focusable::setFocused ( bool  focused)
inherited

Set if the component is focused.

Parameters
focused- is focused
virtual void sf::ui::Button::setFont ( sf::Font const &  font)
virtual

Sets the font of the component's text.

Implements sf::ui::IText.

virtual void sf::ui::Button::setFontColor ( sf::Color  color)
virtual

Sets the color's font of the text.

Parameters
colorthe text's color

Implements sf::ui::IText.

virtual void sf::ui::Button::setFontSize ( unsigned int  size)
virtual

Set the font's size of the component.

Parameters
sizethe font's size

Implements sf::ui::IText.

void sf::ui::Component::setPosition ( sf::Vector2f const &  position)
inherited

Set the component's position.

Parameters
position- the position vector
void sf::ui::Component::setPosition ( float  x,
float  y 
)
inherited

Set the component's position.

Parameters
x- the x coordinate
y- the y coordinate
virtual void sf::ui::Button::setText ( sf::String const &  text)
virtual

Sets the text's string of the component Don't forget to set the font.

Parameters
textthe new string of the component

Implements sf::ui::IText.

void sf::ui::Component::setTexture ( const sf::Texture &  texture)
inherited

Set the texture of the component.

void sf::ui::Button::setTextureFired ( sf::Texture const &  textureFired)

Sets the texture fired.

Parameters
textureFiredthe texture when the button is fired
void sf::ui::Focusable::setTextureFocused ( const sf::Texture &  textureFocused)
inherited

Set the texture that is displayed when the component is displayed.

Parameters
textureFocused- the texture when the component is focused
void sf::ui::ComponentObservable::triggerEvent ( const sf::ui::ComponentEvent event)
protectedinherited

Triggers the event and notify all observers.

Parameters
event- the event to push
virtual void sf::ui::Button::updateCoord ( )
protectedvirtual

Called when the component need update its geometry Inherit when you need to update some sprite.

Reimplemented from sf::ui::Component.

virtual void sf::ui::Button::updateEvent ( sf::Event const &  event)
virtual

Update the component each time an event has been polled.

Parameters
eventthe window's event polled

Reimplemented from sf::ui::AbstractButton.

virtual void sf::ui::Button::updateFixed ( sf::Time  delta)
virtual

Update the component with the main loop's frequency Can be useful for animation, or time's needed stuff.

Parameters
deltathe time between this update and the last

Implements sf::ui::Component.

void sf::ui::Component::updateSize ( )
inherited

Update the size of the component Call it when you update your texture after it was set, to recalculate the component's size with new texture loaded.

Example:

sf::Texture texture;
sf::Label label(texture); // Now label has a pointer to texture, moreover its size is (0;0)
texture.loadFromFile("texture.png"); // New texture loaded, and so its size has changed
label.updateSize(); // Tell label that it have to change its size, and calculate it with the updated texture's size

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