gwenhywfar 5.10.1
gtk2/w_stack.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/*
13 * Note: This is a special use case for gtk_notebook.
14 * To use it as a WidgetStack we have to disable drawing od tabs
15 * and borders by calling:
16 * - gtk_notebook_set_show_tabs(GTK_NOTEBOOK(g), FALSE);
17 * - gtk_notebook_set_show_border(GTK_NOTEBOOK(g), FALSE);
18 *
19 */
20
21
22
23static GWENHYWFAR_CB
26 GWEN_UNUSED int index,
27 int value,
28 GWEN_UNUSED int doSignal)
29{
30 GtkWidget *g;
31
33 assert(g);
34
35 switch (prop) {
37 gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
38 return 0;
39
41 gtk_widget_grab_focus(GTK_WIDGET(g));
42 return 0;
43
45 gtk_notebook_set_current_page(GTK_NOTEBOOK(g), value);
46 return 0;
47
48 default:
49 break;
50 }
51
53 "Function is not appropriate for this type of widget (%s)",
55 return GWEN_ERROR_INVALID;
56}
57
58
59
60
61static GWENHYWFAR_CB
64 GWEN_UNUSED int index,
65 int defaultValue)
66{
67 GtkWidget *g;
68
70 assert(g);
71
72 switch (prop) {
74 return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
75
77 return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
78 return 0;
79
81 return gtk_notebook_get_current_page(GTK_NOTEBOOK(g));
82
83 default:
84 break;
85 }
86
88 "Function is not appropriate for this type of widget (%s)",
90 return defaultValue;
91}
92
93
94
95static GWENHYWFAR_CB
98 GWEN_UNUSED int index,
99 GWEN_UNUSED const char *value,
100 GWEN_UNUSED int doSignal)
101{
102 GtkWidget *g;
103
105 assert(g);
106
108 "Function is not appropriate for this type of widget (%s)",
110 return GWEN_ERROR_INVALID;
111}
112
113
114
115static GWENHYWFAR_CB
118 GWEN_UNUSED int index,
119 const char *defaultValue)
120{
121 GtkWidget *g;
122
124 assert(g);
125
127 "Function is not appropriate for this type of widget (%s)",
129 return defaultValue;
130}
131
132
133
134static GWENHYWFAR_CB
136{
137 GtkWidget *g;
138 GtkWidget *gChild;
139
141 assert(g);
142
143 gChild=GTK_WIDGET(GWEN_Widget_GetImplData(wChild, GTK2_DIALOG_WIDGET_REAL));
144 assert(gChild);
145
146 gtk_notebook_append_page(GTK_NOTEBOOK(g), gChild, NULL);
147
148 return 0;
149}
150
151
152
154{
155 GtkWidget *g;
156 /*uint32_t flags;*/
157 GWEN_WIDGET *wParent;
158
159 /*flags=GWEN_Widget_GetFlags(w);*/
160 wParent=GWEN_Widget_Tree_GetParent(w);
161
162 g=gtk_notebook_new();
163 gtk_notebook_set_show_tabs(GTK_NOTEBOOK(g), FALSE);
164 gtk_notebook_set_show_border(GTK_NOTEBOOK(g), FALSE);
165
168
174
175 if (wParent)
177
178 return 0;
179}
180
181
#define NULL
Definition: binreloc.c:300
#define DBG_WARN(dbg_logger, format, args...)
Definition: debug.h:125
GWEN_DIALOG_PROPERTY
Definition: dialog.h:260
@ GWEN_DialogProperty_Enabled
Definition: dialog.h:267
@ GWEN_DialogProperty_Value
Definition: dialog.h:264
@ GWEN_DialogProperty_Focus
Definition: dialog.h:276
#define GWEN_ERROR_INVALID
Definition: error.h:67
int Gtk2Gui_WStack_Setup(GWEN_WIDGET *w)
Definition: gtk2/w_stack.c:153
static GWENHYWFAR_CB int Gtk2Gui_WStack_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: gtk2/w_stack.c:135
static GWENHYWFAR_CB const char * Gtk2Gui_WStack_GetCharProperty(GWEN_WIDGET *w, GWEN_UNUSED GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, const char *defaultValue)
Definition: gtk2/w_stack.c:116
static GWENHYWFAR_CB int Gtk2Gui_WStack_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, int defaultValue)
Definition: gtk2/w_stack.c:62
static GWENHYWFAR_CB int Gtk2Gui_WStack_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, int value, GWEN_UNUSED int doSignal)
Definition: gtk2/w_stack.c:24
static GWENHYWFAR_CB int Gtk2Gui_WStack_SetCharProperty(GWEN_WIDGET *w, GWEN_UNUSED GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, GWEN_UNUSED const char *value, GWEN_UNUSED int doSignal)
Definition: gtk2/w_stack.c:96
#define GTK2_DIALOG_WIDGET_REAL
#define GTK2_DIALOG_WIDGET_CONTENT
#define GWEN_UNUSED
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
#define GWEN_LOGDOMAIN
Definition: logger.h:35
GWEN_WIDGET_GETCHARPROPERTY_FN GWEN_Widget_SetGetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETCHARPROPERTY_FN fn)
Definition: widget.c:732
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:702
GWEN_WIDGET_ADDCHILDGUIWIDGET_FN GWEN_Widget_SetAddChildGuiWidgetFn(GWEN_WIDGET *w, GWEN_WIDGET_ADDCHILDGUIWIDGET_FN fn)
Definition: widget.c:747
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_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