Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sf::ui::AbstractButton Class Referenceabstract

Abstract class for all component that are button-like

. More...

#include <AbstractButton.hpp>

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

Public Member Functions

 AbstractButton ()
 Creates an empty abstract button that is implemented by buttons, check box ... More...
 
 AbstractButton (sf::Texture const &texture, sf::Texture const &textureFocused)
 Creates an abstract button that is implemented by buttons, check box ... More...
 
virtual void updateEvent (sf::Event const &event)
 Update the component each time an event has been polled. 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...
 
virtual void updateFixed (sf::Time delta)=0
 Update the component with the main loop's frequency Can be useful for animation, or time's needed stuff. 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 ()=0
 Called when the button is clicked. 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...
 
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...
 
void triggerEvent (const sf::ui::ComponentEvent &event)
 Triggers the event and notify all observers. More...
 

Protected Attributes

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

Abstract class for all component that are button-like

.

Definition at line 28 of file AbstractButton.hpp.

Constructor & Destructor Documentation

sf::ui::AbstractButton::AbstractButton ( )

Creates an empty abstract button that is implemented by buttons, check box ...

sf::ui::AbstractButton::AbstractButton ( sf::Texture const &  texture,
sf::Texture const &  textureFocused 
)

Creates an abstract button that is implemented by buttons, check box ...

Parameters
texturethe basic texture of this abstract button
textureFocusedthe texture when the abstract button is focused

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
virtual void sf::ui::Component::draw ( sf::RenderTarget &  target,
sf::RenderStates  states 
) const
protectedvirtualinherited

Draw the component to the render target.

Reimplemented in sf::ui::Button, sf::ui::CheckBox, sf::ui::Label, sf::ui::TextField, and sf::ui::KeyField.

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

Called when the component gain focus.

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.

const sf::Texture* sf::ui::Component::getTexture ( ) const
inherited
Returns
the texture of the component
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::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::AbstractButton::onClick ( )
protectedpure virtual

Called when the button is clicked.

This function defines what the button does

Implemented in sf::ui::Button, and sf::ui::CheckBox.

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
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
void sf::ui::Component::setTexture ( const sf::Texture &  texture)
inherited

Set the texture of the component.

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::Component::updateCoord ( )
protectedvirtualinherited

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

Reimplemented in sf::ui::Button, sf::ui::Label, sf::ui::CheckBox, sf::ui::TextField, and sf::ui::KeyField.

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

Update the component each time an event has been polled.

Parameters
eventthe window's event polled

Implements sf::ui::Component.

Reimplemented in sf::ui::Button.

virtual void sf::ui::Component::updateFixed ( sf::Time  delta)
pure virtualinherited

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 one

Implemented in sf::ui::Button, sf::ui::TextField, sf::ui::CheckBox, sf::ui::KeyField, and sf::ui::Label.

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: