gwenhywfar  4.99.8beta
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 
12 typedef struct W_SPINBOX W_SPINBOX;
13 struct W_SPINBOX {
14  GtkAdjustment *adjustment;
15 };
16 
17 
19 
20 
21 
22 static GWENHYWFAR_CB
25  int index,
26  int value,
27  int doSignal) {
28  GtkWidget *g;
29  W_SPINBOX *xw;
30 
31  assert(w);
33  assert(xw);
34 
36  assert(g);
37 
38  switch(prop) {
40  gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
41  return 0;
42 
44  gtk_widget_grab_focus(GTK_WIDGET(g));
45  return 0;
46 
49  /* just ignore these for now */
50  return 0;
51 
53  gtk_adjustment_set_value(GTK_ADJUSTMENT(xw->adjustment), value);
54  return 0;
55 
57  gtk_adjustment_set_lower(GTK_ADJUSTMENT(xw->adjustment), value);
58  return 0;
59 
61  gtk_adjustment_set_upper(GTK_ADJUSTMENT(xw->adjustment), value);
62  return 0;
63 
64  default:
65  break;
66  }
67 
69  "Function is not appropriate for this type of widget (%s)",
71  return GWEN_ERROR_INVALID;
72 }
73 
74 
75 
76 
77 static GWENHYWFAR_CB
80  int index,
81  int defaultValue) {
82  GtkWidget *g;
83  W_SPINBOX *xw;
84 
85  assert(w);
87  assert(xw);
88 
90  assert(g);
91 
92  switch(prop) {
94  return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
95 
97  return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
98  return 0;
99 
102  /* just ignore these for now */
103  return 0;
104 
106  return gtk_adjustment_get_value(GTK_ADJUSTMENT(xw->adjustment));
107 
109  return gtk_adjustment_get_lower(GTK_ADJUSTMENT(xw->adjustment));
110 
112  return gtk_adjustment_get_upper(GTK_ADJUSTMENT(xw->adjustment));
113 
114  default:
115  break;
116  }
117 
119  "Function is not appropriate for this type of widget (%s)",
121  return defaultValue;
122 }
123 
124 
125 
126 static GWENHYWFAR_CB
129  int index,
130  const char *value,
131  int doSignal) {
133  "Function is not appropriate for this type of widget (%s)",
135  return GWEN_ERROR_INVALID;
136 }
137 
138 
139 
140 static GWENHYWFAR_CB
143  int index,
144  const char *defaultValue) {
146  "Function is not appropriate for this type of widget (%s)",
148  return defaultValue;
149 }
150 
151 
152 
153 static void GWENHYWFAR_CB Gtk3Gui_WSpinBox_FreeData(void *bp, void *p) {
154  W_SPINBOX *xw;
155 
156  xw=(W_SPINBOX*) p;
157  GWEN_FREE_OBJECT(xw);
158 }
159 
160 
161 
162 static void Gtk3Gui_WSpinBox_Changed_handler(GtkAdjustment *adjustment, gpointer data) {
163  GWEN_WIDGET *w;
164  int rv;
165 
166  w=data;
167  assert(w);
173  else if (rv==GWEN_DialogEvent_ResultReject)
175 }
176 
177 
178 
180  GtkWidget *g;
181  GWEN_WIDGET *wParent;
182  W_SPINBOX *xw;
183 
186 
187  wParent=GWEN_Widget_Tree_GetParent(w);
188 
189  xw->adjustment=GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 5.0, 5.0));
190  g=gtk_spin_button_new(xw->adjustment, 1.0, 0);
193 
198 
199  g_signal_connect(g,
200  "value-changed",
202  w);
203 
204  if (wParent)
205  GWEN_Widget_AddChildGuiWidget(wParent, w);
206 
207  return 0;
208 }
209 
210 
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition: widget.c:175
#define GWEN_ERROR_INVALID
Definition: error.h:67
#define GTK3_DIALOG_WIDGET_REAL
#define GTK3_DIALOG_WIDGET_CONTENT
const char * GWEN_Widget_GetName(const GWEN_WIDGET *w)
Definition: widget.c:294
int Gtk3Gui_WSpinBox_Setup(GWEN_WIDGET *w)
GWEN_WIDGET_SETCHARPROPERTY_FN GWEN_Widget_SetSetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETCHARPROPERTY_FN fn)
Definition: widget.c:663
GWEN_WIDGET_GETCHARPROPERTY_FN GWEN_Widget_SetGetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETCHARPROPERTY_FN fn)
Definition: widget.c:677
static GWENHYWFAR_CB int Gtk3Gui_WSpinBox_SetCharProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, const char *value, int doSignal)
GWEN_DIALOG_PROPERTY
Definition: dialog.h:215
#define GWEN_FREE_OBJECT(varname)
Definition: memory.h:92
#define DBG_WARN(dbg_logger, format, args...)
Definition: debug.h:118
static void GWENHYWFAR_CB Gtk3Gui_WSpinBox_FreeData(void *bp, void *p)
#define GWEN_LOGDOMAIN
Definition: logger.h:35
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition: widget.c:131
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:649
#define GWEN_NEW_OBJECT(typ, varname)
Definition: memory.h:86
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition: widget.c:118
GWEN_DIALOG * GWEN_Widget_GetDialog(const GWEN_WIDGET *w)
Definition: widget.c:90
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETINTPROPERTY_FN fn)
Definition: widget.c:635
GWEN_DIALOG * GWEN_Widget_GetTopDialog(const GWEN_WIDGET *w)
Definition: widget.c:99
static GWENHYWFAR_CB int Gtk3Gui_WSpinBox_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int value, int doSignal)
struct GWEN_WIDGET GWEN_WIDGET
Definition: widget_be.h:34
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: widget.c:767
GtkAdjustment * adjustment
int GWEN_Dialog_EmitSignal(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender)
Definition: dialog.c:258
static GWENHYWFAR_CB int Gtk3Gui_WSpinBox_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int defaultValue)
static void Gtk3Gui_WSpinBox_Changed_handler(GtkAdjustment *adjustment, gpointer data)
#define GWEN_INHERIT(bt, t)
Definition: inherit.h:264
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition: widget.c:413
void Gtk3Gui_Dialog_Leave(GWEN_DIALOG *dlg, int result)
static GWENHYWFAR_CB const char * Gtk3Gui_WSpinBox_GetCharProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, const char *defaultValue)
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
Definition: inherit.h:292
#define GWEN_INHERIT_GETDATA(bt, t, element)
Definition: inherit.h:271