#include <radiobutton.hpp>
Inheritance diagram for gcn::RadioButton:
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 |
gcn::RadioButton::RadioButton | ( | const std::string & | caption, | |
const std::string & | group, | |||
bool | marked = false | |||
) |
Constructor.
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().
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.
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.
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.
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.
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.
Definition at line 293 of file radiobutton.cpp.
References mGroup.
bool gcn::RadioButton::isMarked | ( | ) | const [virtual] |
Checks 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.
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.
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.
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.
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.
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().