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