____                _       __
    / __ )____  _____   | |     / /___ ___________
   / __  / __ \/ ___/   | | /| / / __ `/ ___/ ___/
  / /_/ / /_/ (__  )    | |/ |/ / /_/ / /  (__  )
 /_____/\____/____/     |__/|__/\__,_/_/  /____/

       A futuristic real-time strategy game.
          This file is part of Bos Wars.
(C) Copyright 2001-2007 by the Bos Wars and Stratagus Project. Distributed under the "GNU General Public License"

gcn::RadioButton Class Reference

#include <radiobutton.h>

Inheritance diagram for gcn::RadioButton:

gcn::Widget gcn::MouseListener gcn::KeyListener ImageRadioButton

List of all members.

Public Member Functions

 RadioButton ()
 RadioButton (const std::string &caption, const std::string &group, bool marked=false)
virtual ~RadioButton ()
virtual void drawBox (Graphics *graphics)
virtual bool isMarked () const
virtual void setMarked (bool marked)
virtual const std::string & getCaption () const
virtual void setCaption (const std::string &caption)
virtual void setGroup (const std::string &group)
virtual const std::string & getGroup () const
virtual void adjustSize ()
virtual void draw (Graphics *graphics)
virtual void drawBorder (Graphics *graphics)
virtual bool keyPress (const Key &key)
virtual void mouseClick (int x, int y, int button, int count)

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


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 72 of file radiobutton.h.


Member Typedef Documentation

typedef std::multimap<std::string, RadioButton *> gcn::RadioButton::GroupMap [protected]

Definition at line 176 of file radiobutton.h.

typedef GroupMap::iterator gcn::RadioButton::GroupIterator [protected]

Definition at line 177 of file radiobutton.h.


Constructor & Destructor Documentation

gcn::RadioButton::RadioButton (  ) 

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 74 of file radiobutton.cpp.

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

gcn::RadioButton::~RadioButton (  )  [virtual]

Destructor.

Definition at line 89 of file radiobutton.cpp.

References setGroup().


Member Function Documentation

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

Draws the box i.a not the caption.

Parameters:
graphics a Graphics object to draw with.

Reimplemented in ImageRadioButton.

Definition at line 136 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().

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

Checks if the RadioButton is marked.

Returns:
true if the RadioButton is marked.

Definition at line 203 of file radiobutton.cpp.

References mMarked.

Referenced by ImageRadioButton::drawBox(), and drawBox().

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 208 of file radiobutton.cpp.

References mGroup, mGroupMap, and mMarked.

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

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

Gets the RadioButton caption.

Returns:
the RadioButton caption.

Definition at line 229 of file radiobutton.cpp.

References mCaption.

Referenced by adjustSize(), ImageRadioButton::draw(), and draw().

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

Sets the RadioButton caption.

Parameters:
caption the RadioButton caption.

Definition at line 234 of file radiobutton.cpp.

References mCaption, and gcn::Widget::setDirty().

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 261 of file radiobutton.cpp.

References mGroup, and mGroupMap.

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

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 289 of file radiobutton.cpp.

References mGroup.

void gcn::RadioButton::adjustSize (  )  [virtual]

Adjusts the RadioButtons size to fit the font size.

Reimplemented in ImageRadioButton.

Definition at line 294 of file radiobutton.cpp.

References getCaption(), gcn::Widget::getFont(), gcn::Font::getHeight(), gcn::Widget::getWidth(), gcn::Widget::setHeight(), and gcn::Widget::setWidth().

Referenced by RadioButton().

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.

Reimplemented in ImageRadioButton.

Definition at line 95 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::hasFocus(), gcn::Graphics::setColor(), and gcn::Graphics::setFont().

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

Reimplemented from gcn::Widget.

Definition at line 112 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().

bool 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 240 of file radiobutton.cpp.

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

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.

Reimplemented in ImageRadioButton.

Definition at line 252 of file radiobutton.cpp.

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


Member Data Documentation

bool gcn::RadioButton::mMarked [protected]

Definition at line 172 of file radiobutton.h.

Referenced by isMarked(), and setMarked().

std::string gcn::RadioButton::mCaption [protected]

Definition at line 173 of file radiobutton.h.

Referenced by ImageRadioButton::adjustSize(), getCaption(), and setCaption().

std::string gcn::RadioButton::mGroup [protected]

Definition at line 174 of file radiobutton.h.

Referenced by getGroup(), setGroup(), and setMarked().

Definition at line 179 of file radiobutton.h.

Referenced by setGroup(), and setMarked().


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

Generated on Sat Feb 21 00:28:27 2009 for Bos Wars by  doxygen 1.5.6