00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef RADIOBTNGROUP_H
00029 #define RADIOBTNGROUP_H
00030 #include <vdk/widcontain.h>
00031 #include <vdk/checkbutton.h>
00032 #include <vdk/eventbox.h>
00033 #include <vdk/vdkprops.h>
00034 class VDKRadioButton;
00035
00036 typedef VDKList<VDKRadioButton> RadioButtonList;
00037 typedef VDKListiterator<VDKRadioButton> RadioButtonListIterator;
00038
00039 class VDKRadioButtonGroup;
00049 class VDKRadioButtonGroup: public VDKObjectContainer
00050 {
00051 protected:
00052 VDKEventBox *box;
00053 GSList* gs_group;
00054 public:
00055
00056
00063 VDKReadWriteValueProp<VDKRadioButtonGroup,int> Selected;
00064
00065
00076 RadioButtonList Buttons;
00080 VDKReadOnlyValueProp<VDKRadioButtonGroup, RadioButtonList*> ButtonList;
00086 VDKRadioButtonGroup(VDKForm* owner,int mode = v_box);
00090 ~VDKRadioButtonGroup(){}
00096 void SetDefault(int buttonNumber);
00097 void SetSelected(int index);
00098 int GetSelected() { return Selected; }
00099 void Add(VDKObject* obj, int j = l_justify,
00100 int e = false, int f = false, int p = false);
00105 void RemoveButton(VDKRadioButton* button);
00106 GSList* GsGroup(GSList* gs = NULL)
00107 { if(gs) gs_group = gs; return gs_group; }
00111 VDKEventBox* GBox() { return box; }
00112 static void ToggleEvent(GtkWidget *wid, gpointer bn);
00113 };
00114
00129 class VDKRadioButton: public VDKCheckButton
00130 {
00131 protected:
00132 int buttonId;
00133 VDKRadioButtonGroup *rbgroup;
00134 friend class VDKRadioButtonGroup;
00135 public:
00141 VDKRadioButton(VDKRadioButtonGroup* group, char* label = NULL);
00145 VDKRadioButton(VDKForm* owner,char* label);
00149 virtual ~VDKRadioButton() {}
00153 VDKRadioButtonGroup* Group(VDKRadioButtonGroup* g = NULL)
00154 { if(g) rbgroup = g; return rbgroup; }
00155
00156 };
00157
00158 #endif
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168