27 #ifndef _vdkcustombutton_h 28 #define _vdkcustombutton_h 29 #include <vdk/vdkobj.h> 30 #include <vdk/boxes.h> 31 #include <vdk/label.h> 32 #include <vdk/image.h> 50 void ConnectButtonSignals();
51 static void ToggleEvent(GtkWidget *wid, gpointer gp);
59 VDKReadOnlyValueProp<VDKCustomButton, VDKBox*>
ButtonBox;
72 VDKReadOnlyValueProp<VDKCustomButton, VDKLabel*>
Label;
77 VDKReadOnlyValueProp<VDKCustomButton, VDKImage*>
Pixmap;
81 VDKReadWriteValueProp<VDKCustomButton, const char*>
Caption;
91 VDKReadWriteValueProp<VDKCustomButton, bool> Checked;
97 VDKReadWriteValueProp<VDKCustomButton, GtkReliefStyle> Relief;
124 VDK_CBUTTON_UNTOGGLED | VDK_CBUTTON_NORMAL);
136 VDK_CBUTTON_UNTOGGLED | VDK_CBUTTON_NORMAL,
137 GtkPositionType position = GTK_POS_RIGHT);
142 const char** pixdata,
145 VDK_CBUTTON_UNTOGGLED | VDK_CBUTTON_NORMAL,
146 GtkPositionType position = GTK_POS_RIGHT);
159 GtkStateType state = GTK_STATE_NORMAL)
163 _setForeground_(label->
Widget(),
175 _setFont_(label->
Widget(),font);
179 void SetCaption(
const char* str)
187 const char* GetCaption ()
193 return (
const char*) NULL;
197 void SetCaptionWrap (
bool flag)
201 gtk_label_set_line_wrap (GTK_LABEL (label->
Widget()), flag);
205 bool GetCaptionWrap ()
209 return GTK_LABEL (label->
Widget())->wrap;
215 void SetRelief(GtkReliefStyle style)
218 gtk_button_set_relief(GTK_BUTTON(
widget), style);
222 GtkReliefStyle GetRelief()
225 return gtk_button_get_relief(GTK_BUTTON(
widget));
227 return GTK_RELIEF_NORMAL;
232 if(GTK_IS_TOGGLE_BUTTON(
widget))
233 Checked = Checked ? false :
true;
237 void SetChecked(
bool flag)
239 if(GTK_IS_TOGGLE_BUTTON(
widget))
240 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(
widget),flag);
246 if(GTK_IS_TOGGLE_BUTTON(
widget))
247 return GTK_TOGGLE_BUTTON(
widget)->active ? true :
false;
253 virtual void Enable(
bool flag =
true);
254 #ifdef USE_SIGCPLUSPLUS 261 VDKSignal1<void, bool> OnButtonToggled;
266 VDKSignal0<void> OnButtonClicked;
271 VDKSignal0<void> OnButtonPressed;
276 VDKSignal0<void> OnButtonLeave;
278 static void _handle_clicked(GtkWidget*, gpointer);
279 static void _handle_pressed(GtkWidget*, gpointer);
280 static void _handle_leave(GtkWidget*, gpointer);
VDKReadWriteValueProp< VDKLabel, const char * > Caption
Definition: label.h:51
Provides a simple RGB color structure.
Definition: vdkutils.h:37
GtkWidget * widget
Definition: vdkobj.h:241
virtual GtkWidget * Widget()
Definition: vdkobj.cc:49
Provides a gtklabel wrapper.
Definition: label.h:40
Provides a raw font.
Definition: vdkfont.h:37