IMS2  Pre-Alpha
An Orbiter add-on to allow on-runtime construction of spacecraft from predefined modules
GUI_RadioButton Class Reference

RadioButtons are checkboxes that can be grouped together and make sure that only one member of the group is checked at any time. More...

Inheritance diagram for GUI_RadioButton:
GUI_CheckBox GUI_BaseElement

Public Member Functions

 GUI_RadioButton (string _text, RECT _rect, int _id, GUI_ElementStyle *_style)
 
virtual bool ToggleChecked ()
 If this button is checked, toggling does nothing. If it isn't, toggling will set it to checked and uncheck the currently checked button in the group. More...
 
virtual void SetChecked (bool _checked=true)
 Sets the checked state of the radiobutton to true if it isn't already, and unchecks all other members of the group. Does nothing if this is the checked button! More...
 
GUI_RadioButtonGetCheckedButton ()
 
- Public Member Functions inherited from GUI_CheckBox
 GUI_CheckBox (string _text, RECT _rect, int _id, GUI_ElementStyle *_style)
 
bool Checked ()
 
- Public Member Functions inherited from GUI_BaseElement
 GUI_BaseElement (RECT _rect, int _id, GUI_ElementStyle *_style)
 
virtual void Draw (SURFHANDLE _tgt, RECT &drawablerect, int xoffset=0, int yoffset=0)
 Draws the element and its children to a SURFHANDLE. More...
 
virtual bool Update ()
 Checks if this element or any of its children need to be redrawn. More...
 
int ProcessMouse (GUI_MOUSE_EVENT _event, int _x, int _y)
 Checks if the element or any of its children have been clicked. More...
 
virtual void AddChild (GUI_BaseElement *child)
 Adds a child to this element. More...
 
void GetRect (RECT &mRect)
 Copies the elements rect to the passed reference. More...
 
GUI_ElementStyleGetStyle ()
 
int GetWidth ()
 
int GetHeight ()
 
int GetId ()
 
GUI_ELEMENT_TYPE GetType ()
 
virtual void SetVisible (bool _visible)
 Sets if the elements and its children are drawn or not. More...
 
bool GetVisible ()
 
virtual void SetFixed (bool fixed)
 
bool GetFixed ()
 
virtual void SetNoBlit (bool noblit)
 
bool GetNoBlit ()
 
SURFHANDLE GetSurface ()
 
void AddPlugin (GUIplugin *plugin)
 Adds a GUIplugin as a child of this element. More...
 
void RemovePlugin (GUIplugin *plugin)
 Unplugs a plugin from this element. More...
 

Static Public Member Functions

static void CreateGroup (vector< GUI_RadioButton * > buttonsingroup)
 groups all buttons in the passed list together. More...
 

Protected Member Functions

virtual bool ProcessMe (GUI_MOUSE_EVENT _event, int _x, int _y)
 Processes events for this element. More...
 
- Protected Member Functions inherited from GUI_CheckBox
void DrawMe (SURFHANDLE _tgt, int xoffset, int yoffset, RECT &drawablerect)
 Draws this element. More...
 
void createCheckBox ()
 Draws the checkbox to its source surface.
 
- Protected Member Functions inherited from GUI_BaseElement
virtual void DrawChildren (SURFHANDLE _tgt, RECT &drawablerect, int xoffset=0, int yoffset=0)
 Draws all direct children of this element, and tells them to draw theirs. More...
 
virtual int ProcessChildren (GUI_MOUSE_EVENT _event, int _x, int _y)
 Forwards event to its children. More...
 
virtual bool updateMe ()
 used for checking whether this element needs a redraw although it didn't have any user input More...
 
virtual bool updateChildren ()
 checks if any of the children need a redraw More...
 
void calculateBlitData (int xoffset, int yoffset, RECT &drawablerect, BLITDATA &OUT_blitdata)
 Calculates the positional and dimensional data needed for blitting, both for source as well as target surface. More...
 
void calculateMyDrawableRect (RECT &drawablerect_parent, int xoffset, int yoffset, RECT &OUT_mydrawablerect)
 calculates the real drawable rect of this element considering the drawable rect of the parent. More...
 

Protected Attributes

vector< GUI_RadioButton * > groupedbuttons
 contains pointers to all buttons grouped with this
 
- Protected Attributes inherited from GUI_CheckBox
string text
 Stores the text of the checkbox.
 
bool checked
 Stores the state of the Checkbox.
 
- Protected Attributes inherited from GUI_BaseElement
GUI_ELEMENT_TYPE type
 The type of this element.
 
RECT rect
 Rect the element should draw on, relative to parent.
 
int width
 The width of the element.
 
int height
 The height of the element.
 
int id
 The locally unique identifier of the element.
 
SURFHANDLE src = NULL
 Source surface to draw the element on. When the element is drawn on the panel, it will be blitted from this surface.
 
bool noBlitting = false
 Some elements might not have to blit themselves because they are static part of the background. This is not the same as !visible, as the element still processes events and still draws children, it just doesn't draw itself.
 
vector< GUI_BaseElement * > children
 List containing all direct children of this element.
 
vector< GUIplugin * > plugins
 List containing all GUIplugins currently pluged into this element.
 
GUI_fontfont
 The font used by this element.
 
GUI_ElementStylestyle
 The style used by this element.
 
bool visible
 Whether the element is visible or not (if false, element and any of its children will neither draw nor process events)
 
bool isfixed = false
 Whether the element retains a fixed position in a scrolling frame.
 

Private Member Functions

void uncheck ()
 This method is only called internally among members of a group to set their state.
 

Detailed Description

RadioButtons are checkboxes that can be grouped together and make sure that only one member of the group is checked at any time.

Member Function Documentation

void GUI_RadioButton::CreateGroup ( vector< GUI_RadioButton * >  buttonsingroup)
static

groups all buttons in the passed list together.

Parameters
buttonsingroupA list of all buttons belonging to the new group
Note
Creating a group will fail if any of the buttons in the group is already a member of another group!
The first button in the list will always be checked by default after grouping.
GUI_RadioButton * GUI_RadioButton::GetCheckedButton ( )

Returns the checke button in the group of this button

bool GUI_RadioButton::ProcessMe ( GUI_MOUSE_EVENT  _event,
int  _x,
int  _y 
)
protectedvirtual

Processes events for this element.

Separated from ProcessChildren() so either can be freely overloaded without the other

Parameters
_eventThe mouse event that triggered the call
_xthe x coordinate of the click, relative to the panel
_ythe y coordinate of the click, relative to the panel
Returns
True if this element has consumed the event

Reimplemented from GUI_CheckBox.

void GUI_RadioButton::SetChecked ( bool  _checked = true)
virtual

Sets the checked state of the radiobutton to true if it isn't already, and unchecks all other members of the group. Does nothing if this is the checked button!

Note
passing false doesn't do anything. It's somewhat uggly, but I had to put it in to preserve the signature of the overriden method.
In a radio button, the result of this method is equivalent to calling ToggleChecked().

Reimplemented from GUI_CheckBox.

bool GUI_RadioButton::ToggleChecked ( )
virtual

If this button is checked, toggling does nothing. If it isn't, toggling will set it to checked and uncheck the currently checked button in the group.

Note
In a radio button, the result of this method is equivalent to calling SetChecked().
Returns
False if the button was already checked, true otherwise

Reimplemented from GUI_CheckBox.


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