00001 #ifndef _RADIO_BUTTON_GROUP_H_ 00002 #define _RADIO_BUTTON_GROUP_H_ 00003 00004 #include <nds.h> 00005 #include "gadget.h" 00006 00007 namespace WoopsiUI { 00008 00009 class RadioButton; 00010 00017 class RadioButtonGroup : public Gadget { 00018 00019 public: 00020 00028 RadioButtonGroup(s16 x, s16 y, FontBase* font = NULL); 00029 00039 RadioButton* newRadioButton(s16 x, s16 y, u16 width, u16 height); 00040 00045 virtual const RadioButton* getSelectedGadget() const; 00046 00051 virtual const s32 getSelectedIndex() const; 00052 00057 virtual void setSelectedGadget(RadioButton* gadget); 00058 00063 virtual void setSelectedIndex(s32 index); 00064 00071 virtual bool resize(u16 width, u16 height); 00072 00079 virtual void draw(Rect clipRect); 00080 00088 virtual void getPreferredDimensions(Rect& rect) const; 00089 00090 protected: 00091 RadioButton* _selectedGadget; 00096 virtual ~RadioButtonGroup() { }; 00097 00101 inline RadioButtonGroup(const RadioButtonGroup& radioButtonGroup) : Gadget(radioButtonGroup) { }; 00102 }; 00103 } 00104 00105 #endif