gwenhywfar 5.10.1
gtk3/w_spinbox.c
Go to the documentation of this file.
1/***************************************************************************
2 begin : Sun May 16 2010
3 copyright : (C) 2010 by Martin Preuss
4 email : martin@libchipcard.de
5
6 ***************************************************************************
7 * Please see toplevel file COPYING for license details *
8 ***************************************************************************/
9
10
11
12typedef struct W_SPINBOX W_SPINBOX;
13struct W_SPINBOX {
14 GtkAdjustment *adjustment;
15};
16
17
19
20
21
22static GWENHYWFAR_CB
25 GWEN_UNUSED int index,
26 int value,
27 GWEN_UNUSED int doSignal)
28{
29 GtkWidget *g;
30 W_SPINBOX *xw;
31
32 assert(w);
34 assert(xw);
35
37 assert(g);
38
39 switch (prop) {
41 gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
42 return 0;
43
45 gtk_widget_grab_focus(GTK_WIDGET(g));
46 return 0;
47
50 /* just ignore these for now */
51 return 0;
52
54 gtk_adjustment_set_value(GTK_ADJUSTMENT(xw->adjustment), value);
55 return 0;
56
58 gtk_adjustment_set_lower(GTK_ADJUSTMENT(xw->adjustment), value);
59 return 0;
60
62 gtk_adjustment_set_upper(GTK_ADJUSTMENT(xw->adjustment), value);
63 return 0;
64
65 default:
66 break;
67 }
68
70 "Function is not appropriate for this type of widget (%s)",
72 return GWEN_ERROR_INVALID;
73}
74
75
76
77
78static GWENHYWFAR_CB
81 GWEN_UNUSED int index,
82 int defaultValue)
83{
84 GtkWidget *g;
85 W_SPINBOX *xw;
86
87 assert(w);
89 assert(xw);
90
92 assert(g);
93
94 switch (prop) {
96 return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
97
99 return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
100 return 0;
101
104 /* just ignore these for now */
105 return 0;
106
108 return gtk_adjustment_get_value(GTK_ADJUSTMENT(xw->adjustment));
109
111 return gtk_adjustment_get_lower(GTK_ADJUSTMENT(xw->adjustment));
112
114 return gtk_adjustment_get_upper(GTK_ADJUSTMENT(xw->adjustment));
115
116 default:
117 break;
118 }
119
121 "Function is not appropriate for this type of widget (%s)",
123 return defaultValue;
124}
125
126
127
128static GWENHYWFAR_CB
131 GWEN_UNUSED int index,
132 GWEN_UNUSED const char *value,
133 GWEN_UNUSED int doSignal)
134{
136 "Function is not appropriate for this type of widget (%s)",
138 return GWEN_ERROR_INVALID;
139}
140
141
142
143static GWENHYWFAR_CB
146 GWEN_UNUSED int index,
147 const char *defaultValue)
148{
150 "Function is not appropriate for this type of widget (%s)",
152 return defaultValue;
153}
154
155
156
158{
159 W_SPINBOX *xw;
160
161 xw=(W_SPINBOX *) p;
163}
164
165
166
167static void Gtk3Gui_WSpinBox_Changed_handler(GWEN_UNUSED GtkAdjustment *adjustment, gpointer data)
168{
169 GWEN_WIDGET *w;
170 int rv;
171
172 w=data;
173 assert(w);
181}
182
183
184
186{
187 GtkWidget *g;
188 GWEN_WIDGET *wParent;
189 W_SPINBOX *xw;
190
193
194 wParent=GWEN_Widget_Tree_GetParent(w);
195
196 xw->adjustment=GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 5.0, 5.0));
197 g=gtk_spin_button_new(xw->adjustment, 1.0, 0);
200
205
206 g_signal_connect(g,
207 "value-changed",
209 w);
210
211 if (wParent)
213
214 return 0;
215}
216
217
#define DBG_WARN(dbg_logger, format, args...)
Definition: debug.h:125
int GWEN_Dialog_EmitSignal(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender)
Definition: dialog.c:321
@ GWEN_DialogEvent_ResultAccept
Definition: dialog.h:122
@ GWEN_DialogEvent_ResultReject
Definition: dialog.h:123
GWEN_DIALOG_PROPERTY
Definition: dialog.h:260
@ GWEN_DialogProperty_MinValue
Definition: dialog.h:265
@ GWEN_DialogProperty_MaxValue
Definition: dialog.h:266
@ GWEN_DialogProperty_Height
Definition: dialog.h:273
@ GWEN_DialogProperty_Enabled
Definition: dialog.h:267
@ GWEN_DialogProperty_Value
Definition: dialog.h:264
@ GWEN_DialogProperty_Focus
Definition: dialog.h:276
@ GWEN_DialogProperty_Width
Definition: dialog.h:272
@ GWEN_DialogEvent_TypeValueChanged
Definition: dialog.h:101
#define GWEN_ERROR_INVALID
Definition: error.h:67
static GWENHYWFAR_CB int Gtk3Gui_WSpinBox_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, int value, GWEN_UNUSED int doSignal)
static GWENHYWFAR_CB const char * Gtk3Gui_WSpinBox_GetCharProperty(GWEN_WIDGET *w, GWEN_UNUSED GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, const char *defaultValue)
static void GWENHYWFAR_CB Gtk3Gui_WSpinBox_FreeData(GWEN_UNUSED void *bp, void *p)
static void Gtk3Gui_WSpinBox_Changed_handler(GWEN_UNUSED GtkAdjustment *adjustment, gpointer data)
static GWENHYWFAR_CB int Gtk3Gui_WSpinBox_SetCharProperty(GWEN_WIDGET *w, GWEN_UNUSED GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, GWEN_UNUSED const char *value, GWEN_UNUSED int doSignal)
static GWENHYWFAR_CB int Gtk3Gui_WSpinBox_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, int defaultValue)
int Gtk3Gui_WSpinBox_Setup(GWEN_WIDGET *w)
#define GTK3_DIALOG_WIDGET_CONTENT
#define GTK3_DIALOG_WIDGET_REAL
void Gtk3Gui_Dialog_Leave(GWEN_DIALOG *dlg, int result)
#define GWEN_UNUSED
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
Definition: inherit.h:292
#define GWEN_INHERIT(bt, t)
Definition: inherit.h:264
#define GWEN_INHERIT_GETDATA(bt, t, element)
Definition: inherit.h:271
#define GWEN_LOGDOMAIN
Definition: logger.h:35
#define GWEN_FREE_OBJECT(varname)
Definition: memory.h:61
#define GWEN_NEW_OBJECT(typ, varname)
Definition: memory.h:55
GtkAdjustment * adjustment
GWEN_WIDGET_GETCHARPROPERTY_FN GWEN_Widget_SetGetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETCHARPROPERTY_FN fn)
Definition: widget.c:732
GWEN_DIALOG * GWEN_Widget_GetTopDialog(const GWEN_WIDGET *w)
Definition: widget.c:102
const char * GWEN_Widget_GetName(const GWEN_WIDGET *w)
Definition: widget.c:320
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:702
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: widget.c:828
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition: widget.c:136
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition: widget.c:122
GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETINTPROPERTY_FN fn)
Definition: widget.c:687
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition: widget.c:452
GWEN_DIALOG * GWEN_Widget_GetDialog(const GWEN_WIDGET *w)
Definition: widget.c:92
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition: widget.c:185
GWEN_WIDGET_SETCHARPROPERTY_FN GWEN_Widget_SetSetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETCHARPROPERTY_FN fn)
Definition: widget.c:717
struct GWEN_WIDGET GWEN_WIDGET
Definition: widget_be.h:34