_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

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

#include <button.h>

Inheritance diagram for gcn::Button:
gcn::Widget gcn::MouseListener gcn::KeyListener ButtonWidget ImageButton

Public Member Functions

 Button ()
 
 Button (const std::string &caption)
 
virtual void setCaption (const std::string &caption)
 
virtual const std::string & getCaption () const
 
virtual void setAlignment (unsigned int alignment)
 
virtual unsigned int getAlignment () const
 
virtual void adjustSize ()
 
virtual bool isPressed () const
 
virtual void draw (Graphics *graphics)
 
virtual void drawBorder (Graphics *graphics)
 
virtual void lostFocus ()
 
virtual void hotKeyPress ()
 
virtual void hotKeyRelease ()
 
virtual void mouseClick (int x, int y, int button, int count)
 
virtual void mousePress (int x, int y, int button)
 
virtual void mouseRelease (int x, int y, int button)
 
virtual bool keyPress (const Key &key)
 
virtual bool keyRelease (const Key &key)
 
- Public Member Functions inherited from gcn::Widget
 Widget ()
 
virtual ~Widget ()
 
virtual void logic ()
 
virtual BasicContainergetParent () const
 
virtual void setWidth (int width)
 
virtual int getWidth () const
 
virtual void setHeight (int height)
 
virtual int getHeight () const
 
virtual void setSize (int width, int height)
 
virtual void setX (int x)
 
virtual int getX () const
 
virtual void setY (int y)
 
virtual int getY () const
 
virtual void setPosition (int x, int y)
 
virtual void setDimension (const Rectangle &dimension)
 
virtual void setBorderSize (unsigned int borderSize)
 
virtual unsigned int getBorderSize () const
 
virtual const RectanglegetDimension () const
 
virtual void setFocusable (bool focusable)
 
virtual bool isFocusable () const
 
virtual bool hasFocus () const
 
virtual void setEnabled (bool enabled)
 
virtual bool isEnabled () const
 
virtual void gotFocus ()
 
virtual bool hasMouse () const
 
virtual void setVisible (bool visible)
 
virtual bool isVisible () const
 
virtual void setBaseColor (const Color &color)
 
virtual const ColorgetBaseColor () const
 
virtual void setForegroundColor (const Color &color)
 
virtual const ColorgetForegroundColor () const
 
virtual void setBackgroundColor (const Color &color)
 
virtual const ColorgetBackgroundColor () const
 
virtual void setDisabledColor (const Color &color)
 
virtual const ColorgetDisabledColor () const
 
virtual void _mouseInputMessage (const MouseInput &mouseInput)
 
virtual bool _keyInputMessage (const KeyInput &keyInput)
 
virtual void _mouseInMessage ()
 
virtual void _mouseOutMessage ()
 
virtual void requestFocus ()
 
virtual void requestMoveToTop ()
 
virtual void requestMoveToBottom ()
 
virtual void _setFocusHandler (FocusHandler *focusHandler)
 
virtual FocusHandler_getFocusHandler ()
 
virtual void addActionListener (ActionListener *actionListener)
 
virtual void removeActionListener (ActionListener *actionListener)
 
virtual void addMouseListener (MouseListener *mouseListener)
 
virtual void removeMouseListener (MouseListener *mouseListener)
 
virtual void addKeyListener (KeyListener *keyListener)
 
virtual void removeKeyListener (KeyListener *keyListener)
 
virtual void setEventId (const std::string &eventId)
 
virtual const std::string & getEventId () const
 
virtual void getAbsolutePosition (int &x, int &y) const
 
virtual void _setParent (BasicContainer *parent)
 
FontgetFont () const
 
virtual void setFont (Font *font)
 
virtual void fontChanged ()
 
virtual int getHotKey () const
 
virtual void setHotKey (const int key)
 
virtual void setHotKey (const char *key)
 
virtual bool isTabInEnabled () const
 
virtual void setTabInEnabled (bool enabled)
 
virtual bool isTabOutEnabled () const
 
virtual void setTabOutEnabled (bool enabled)
 
virtual bool isDragged () const
 
virtual void requestModalFocus ()
 
virtual void releaseModalFocus ()
 
virtual bool hasModalFocus () const
 
virtual void setDirty (bool dirty)
 
virtual bool getDirty () const
 
- Public Member Functions inherited from gcn::MouseListener
virtual ~MouseListener ()
 
virtual void mouseIn ()
 
virtual void mouseOut ()
 
virtual void mouseWheelUp (int, int)
 
virtual void mouseWheelDown (int, int)
 
virtual void mouseMotion (int, int)
 
- Public Member Functions inherited from gcn::KeyListener
virtual ~KeyListener ()
 
virtual void hotKeyPress (const Key &)
 
virtual void hotKeyRelease (const Key &)
 

Protected Attributes

std::string mCaption
 
bool mMouseDown
 
bool mKeyDown
 
bool mHotKeyDown
 
unsigned int mAlignment
 
- Protected Attributes inherited from gcn::Widget
MouseListenerList mMouseListeners
 
KeyListenerList mKeyListeners
 
ActionListenerList mActionListeners
 
Color mForegroundColor
 
Color mBackgroundColor
 
Color mBaseColor
 
Color mDisabledColor
 
FocusHandlermFocusHandler
 
BasicContainermParent
 
Rectangle mDimension
 
unsigned int mBorderSize
 
std::string mEventId
 
int mClickTimeStamp
 
int mClickCount
 
int mClickButton
 
bool mHasMouse
 
bool mFocusable
 
bool mVisible
 
bool mTabIn
 
bool mTabOut
 
bool mEnabled
 
FontmCurrentFont
 
int mHotKey
 
bool mDirty
 

Additional Inherited Members

- Static Public Member Functions inherited from gcn::Widget
static void setGlobalFont (Font *font)
 
static bool widgetExists (const Widget *widget)
 
- Protected Types inherited from gcn::Widget
typedef std::list< MouseListener * > MouseListenerList
 
typedef MouseListenerList::iterator MouseListenerIterator
 
typedef std::list< KeyListener * > KeyListenerList
 
typedef KeyListenerList::iterator KeyListenerIterator
 
typedef std::list< ActionListener * > ActionListenerList
 
typedef ActionListenerList::iterator ActionListenerIterator
 
- Protected Member Functions inherited from gcn::Widget
void generateAction ()
 
- Protected Member Functions inherited from gcn::MouseListener
 MouseListener ()
 
- Protected Member Functions inherited from gcn::KeyListener
 KeyListener ()
 
- Static Protected Attributes inherited from gcn::Widget
static DefaultFont mDefaultFont
 
static FontmGlobalFont = NULL
 
static std::list< Widget * > mWidgets
 

Detailed Description

A regular button. Add an ActionListener to it to know when it has been clicked.

NOTE: You can only have text (a caption) on the button. If you want it to handle, for instance images, you can implement an ImageButton of your own and overload member functions from Button.

Constructor & Destructor Documentation

◆ Button() [1/2]

gcn::Button::Button ( )

Constructor.

◆ Button() [2/2]

gcn::Button::Button ( const std::string &  caption)

Constructor.

Parameters
captionthe caption of the Button.

Member Function Documentation

◆ adjustSize()

void gcn::Button::adjustSize ( )
virtual

Adjusts the buttons size to fit the content.

Reimplemented in ImageButton.

◆ draw()

void gcn::Button::draw ( Graphics graphics)
virtual

Draws the Widget. It is called by the parent widget when it is time for the Widget to draw itself. The graphics object is set up so that all drawing is relative to the Widget, i.e coordinate (0,0) is the top-left corner of the Widget. It is not possible to draw outside of a Widgets dimension.

Parameters
graphicsa Graphics object to draw with.

Implements gcn::Widget.

Reimplemented in ImageButton.

◆ drawBorder()

void gcn::Button::drawBorder ( Graphics )
virtual

Draws a the Widget border. A border is drawn around a Widget. The width and height of the border is therefore the Widgets height+2*bordersize. Think of a painting that has a certain size, the border surrounds the painting.

Parameters
graphicsa Graphics object to draw with.

Reimplemented from gcn::Widget.

◆ getAlignment()

unsigned int gcn::Button::getAlignment ( ) const
virtual

Gets the alignment for the caption.

Returns
alignment of caption.

◆ getCaption()

const std::string & gcn::Button::getCaption ( ) const
virtual

Gets the Button caption.

Returns
the Button caption.

◆ hotKeyPress()

void gcn::Button::hotKeyPress ( )
virtual

Called when a Widget's hot key is pressed

Reimplemented from gcn::Widget.

◆ hotKeyRelease()

void gcn::Button::hotKeyRelease ( )
virtual

Called when a Widget's hot key is released

Reimplemented from gcn::Widget.

◆ isPressed()

bool gcn::Button::isPressed ( ) const
virtual

Checks if the button is pressed down. Useful when drawing.

Returns
true if the button is pressed down.

◆ keyPress()

bool gcn::Button::keyPress ( const Key )
virtual

Called if a key is pressed when the widget has keyboard focus. If a key is held down the widget will generate multiple key presses.

Parameters
keythe key pressed.

Reimplemented from gcn::KeyListener.

◆ keyRelease()

bool gcn::Button::keyRelease ( const Key )
virtual

Called if a key is released when the widget has keyboard focus.

Parameters
keythe key released.

Reimplemented from gcn::KeyListener.

◆ lostFocus()

void gcn::Button::lostFocus ( )
virtual

Called if the Widget loses focus.

Reimplemented from gcn::Widget.

◆ mouseClick()

void gcn::Button::mouseClick ( int  ,
int  ,
int  ,
int   
)
virtual

Called when a mouse button is pressed and released (clicked) when the mouse is in the Widget area or if the Widget has focus.

Parameters
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.
buttonthe button clicked.
countthe number of clicks.

Reimplemented from gcn::MouseListener.

◆ mousePress()

void gcn::Button::mousePress ( int  ,
int  ,
int   
)
virtual

Called when a mouse button is pressed when the mouse is in the Widget area or if the Widget has focus.

NOTE: A mouse press is NOT equal to a mouse click. Use mouseClickMessage to check for mouse clicks.

Parameters
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.
buttonthe button pressed.

Reimplemented from gcn::MouseListener.

◆ mouseRelease()

void gcn::Button::mouseRelease ( int  ,
int  ,
int   
)
virtual

Called when a mouse button is released when the mouse is in the Widget area or if the Widget has focus.

Parameters
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.
buttonthe button released.

Reimplemented from gcn::MouseListener.

◆ setAlignment()

void gcn::Button::setAlignment ( unsigned int  alignment)
virtual

Sets the alignment for the caption.

Parameters
alignmentGraphics::LEFT, Graphics::CENTER or Graphics::RIGHT
See also
Graphics

◆ setCaption()

void gcn::Button::setCaption ( const std::string &  caption)
virtual

Sets the Button caption.

Parameters
captionthe Button caption.

Member Data Documentation

◆ mAlignment

unsigned int gcn::Button::mAlignment
protected

◆ mCaption

std::string gcn::Button::mCaption
protected

◆ mHotKeyDown

bool gcn::Button::mHotKeyDown
protected

◆ mKeyDown

bool gcn::Button::mKeyDown
protected

◆ mMouseDown

bool gcn::Button::mMouseDown
protected

The documentation for this class was generated from the following files:
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.