gcn::RadioButton Class Reference

#include <radiobutton.hpp>

Inheritance diagram for gcn::RadioButton:

gcn::Widget gcn::MouseListener gcn::KeyListener List of all members.

Detailed Description

A RadioButton which can be grouped into RadioButtons groups.

In a RadioButton group, only one of the RadioButtons can be selected.

Definition at line 74 of file radiobutton.hpp.

Public Member Functions

 RadioButton ()
 Constructor.
 RadioButton (const std::string &caption, const std::string &group, bool marked=false)
 Constructor.
virtual ~RadioButton ()
 Destructor.
virtual void drawBox (Graphics *graphics)
 Draws the box i.a not the caption.
virtual bool isMarked () const
 Checks if the RadioButton is marked.
virtual void setMarked (bool marked)
 Sets the RadioButton to be marked.
virtual const std::string & getCaption () const
 Gets the RadioButton caption.
virtual void setCaption (const std::string caption)
 Sets the RadioButton caption.
virtual void setGroup (const std::string &group)
 Sets the group the RadioButton should belong to.
virtual const std::string & getGroup () const
 Gets the group the RadioButton belongs to.
virtual void adjustSize ()
 Adjusts the RadioButtons size to fit the font size.
virtual void draw (Graphics *graphics)
 Draws the Widget.
virtual void drawBorder (Graphics *graphics)
 Draws the Widget border.
virtual void keyPress (const Key &key)
 Called if a key is pressed when the widget has keyboard focus.
virtual void mouseClick (int x, int y, int button, int count)
 Called when a mouse button is pressed and released (clicked) when the mouse is in the Widget area or if the Widget has focus.

Protected Types

typedef std::multimap< std::string,
RadioButton * > 
GroupMap
typedef GroupMap::iterator GroupIterator

Protected Attributes

bool mMarked
std::string mCaption
std::string mGroup

Static Protected Attributes

static GroupMap mGroupMap


Constructor & Destructor Documentation

gcn::RadioButton::RadioButton ( const std::string &  caption,
const std::string &  group,
bool  marked = false 
)

Constructor.

Parameters:
caption the Radiobutton caption.
group the group the RadioButton belongs to.
marked true if the RadioButton should be marked.

Definition at line 81 of file radiobutton.cpp.

References gcn::Widget::addKeyListener(), gcn::Widget::addMouseListener(), adjustSize(), setCaption(), gcn::Widget::setFocusable(), setGroup(), and setMarked().


Member Function Documentation

void gcn::RadioButton::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:
graphics a Graphics object to draw with.

Implements gcn::Widget.

Definition at line 102 of file radiobutton.cpp.

References drawBox(), gcn::Graphics::drawRectangle(), gcn::Graphics::drawText(), getCaption(), gcn::Widget::getFont(), gcn::Widget::getForegroundColor(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), gcn::Widget::isFocused(), gcn::Graphics::setColor(), and gcn::Graphics::setFont().

void gcn::RadioButton::drawBorder ( Graphics graphics  )  [virtual]

Draws 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:
graphics a Graphics object to draw with.

Reimplemented from gcn::Widget.

Definition at line 119 of file radiobutton.cpp.

References gcn::Color::a, gcn::Graphics::drawLine(), gcn::Widget::getBaseColor(), gcn::Widget::getBorderSize(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), and gcn::Graphics::setColor().

void gcn::RadioButton::drawBox ( Graphics graphics  )  [virtual]

Draws the box i.a not the caption.

Parameters:
graphics a Graphics object to draw with.

Definition at line 143 of file radiobutton.cpp.

References gcn::Color::a, gcn::Graphics::drawLine(), gcn::Widget::getBackgroundColor(), gcn::Widget::getBaseColor(), gcn::Widget::getForegroundColor(), gcn::Widget::getHeight(), isMarked(), and gcn::Graphics::setColor().

Referenced by draw().

const std::string & gcn::RadioButton::getCaption (  )  const [virtual]

Gets the RadioButton caption.

Returns:
the RadioButton caption.

Definition at line 236 of file radiobutton.cpp.

References mCaption.

Referenced by adjustSize(), and draw().

const std::string & gcn::RadioButton::getGroup (  )  const [virtual]

Gets the group the RadioButton belongs to.

Returns:
the group the RadioButton belongs to.

Definition at line 293 of file radiobutton.cpp.

References mGroup.

bool gcn::RadioButton::isMarked (  )  const [virtual]

Checks if the RadioButton is marked.

Returns:
true if the RadioButton is marked.

Definition at line 210 of file radiobutton.cpp.

References mMarked.

Referenced by drawBox().

void gcn::RadioButton::keyPress ( const Key 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:
key the key pressed.

Reimplemented from gcn::KeyListener.

Definition at line 246 of file radiobutton.cpp.

References gcn::Widget::generateAction(), gcn::Key::getValue(), and setMarked().

void gcn::RadioButton::mouseClick ( int  x,
int  y,
int  button,
int  count 
) [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:
x the x coordinate of the mouse relative to the Widget itself.
y the y coordinate of the mouse relative to the Widget itself.
button the button clicked.
count the number of clicks.

Reimplemented from gcn::MouseListener.

Definition at line 256 of file radiobutton.cpp.

References gcn::Widget::generateAction(), and setMarked().

void gcn::RadioButton::setCaption ( const std::string  caption  )  [virtual]

Sets the RadioButton caption.

Parameters:
caption the RadioButton caption.

Definition at line 241 of file radiobutton.cpp.

References mCaption.

Referenced by RadioButton().

void gcn::RadioButton::setGroup ( const std::string &  group  )  [virtual]

Sets the group the RadioButton should belong to.

Parameters:
group the name of the group.

Definition at line 265 of file radiobutton.cpp.

References mGroup, and mGroupMap.

Referenced by RadioButton(), and ~RadioButton().

void gcn::RadioButton::setMarked ( bool  marked  )  [virtual]

Sets the RadioButton to be marked.

Parameters:
marked true if the RadioButton should be marked.

Definition at line 215 of file radiobutton.cpp.

References mGroup, mGroupMap, and mMarked.

Referenced by keyPress(), mouseClick(), and RadioButton().


The documentation for this class was generated from the following files:
Generated on Sat Jul 29 19:38:49 2006 for Guichan by  doxygen 1.4.7