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