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 #ifndef ABSTRACTBUTTON_H
00028 #define ABSTRACTBUTTON_H
00029 #include <vdk/vdkobj.h>
00030
00038 class VDKAbstractButton: public VDKObject
00039 {
00040 public:
00041 VDKReadWriteValueProp<VDKAbstractButton, GtkReliefStyle> Relief;
00042
00043 VDKAbstractButton(VDKForm* owner);
00044 virtual ~VDKAbstractButton();
00045 virtual void SetForeground(VDKRgb, GtkStateType) {}
00046 virtual void SetFont(VDKFont*) {}
00047
00048 void SetRelief(GtkReliefStyle style) {
00049 gtk_button_set_relief(GTK_BUTTON(widget), style);
00050 }
00051
00052 GtkReliefStyle GetRelief() {
00053 return gtk_button_get_relief(GTK_BUTTON(widget));
00054 }
00055 #ifdef USE_SIGCPLUSPLUS
00056 public:
00061 VDKSignal0<void> OnButtonClicked;
00066 VDKSignal0<void> OnButtonPressed;
00071 VDKSignal0<void> OnButtonLeave;
00072 protected:
00073
00074
00075
00076 static void make_gtksigc_connection(VDKAbstractButton* obj,
00077 GtkWidget* wid);
00078 private:
00079 static void _handle_clicked(GtkWidget* wid, gpointer obj);
00080 static void _handle_pressed(GtkWidget* wid, gpointer obj);
00081 static void _handle_leave(GtkWidget* wid, gpointer obj);
00082 #endif
00083 };
00084
00085 #endif