gwenhywfar  4.99.8beta
gtk3/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 
23 static GWENHYWFAR_CB
26  int index,
27  int value,
28  int doSignal) {
29  GtkWidget *g;
30 
32  assert(g);
33 
34  switch(prop) {
36  gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
37  return 0;
38 
40  gtk_widget_grab_focus(GTK_WIDGET(g));
41  return 0;
42 
44  gtk_notebook_set_current_page(GTK_NOTEBOOK(g), value);
45  return 0;
46 
47  default:
48  break;
49  }
50 
52  "Function is not appropriate for this type of widget (%s)",
54  return GWEN_ERROR_INVALID;
55 }
56 
57 
58 
59 
60 static GWENHYWFAR_CB
63  int index,
64  int defaultValue) {
65  GtkWidget *g;
66 
68  assert(g);
69 
70  switch(prop) {
72  return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
73 
75  return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
76  return 0;
77 
79  return gtk_notebook_get_current_page(GTK_NOTEBOOK(g));
80 
81  default:
82  break;
83  }
84 
86  "Function is not appropriate for this type of widget (%s)",
88  return defaultValue;
89 }
90 
91 
92 
93 static GWENHYWFAR_CB
96  int index,
97  const char *value,
98  int doSignal) {
99  GtkWidget *g;
100 
102  assert(g);
103 
105  "Function is not appropriate for this type of widget (%s)",
107  return GWEN_ERROR_INVALID;
108 }
109 
110 
111 
112 static GWENHYWFAR_CB
115  int index,
116  const char *defaultValue) {
117  GtkWidget *g;
118 
120  assert(g);
121 
123  "Function is not appropriate for this type of widget (%s)",
125  return defaultValue;
126 }
127 
128 
129 
130 static GWENHYWFAR_CB
132  GtkWidget *g;
133  GtkWidget *gChild;
134 
136  assert(g);
137 
138  gChild=GTK_WIDGET(GWEN_Widget_GetImplData(wChild, GTK3_DIALOG_WIDGET_REAL));
139  assert(gChild);
140 
141  gtk_notebook_append_page(GTK_NOTEBOOK(g), gChild, NULL);
142 
143  return 0;
144 }
145 
146 
147 
149  GtkWidget *g;
150  GWEN_WIDGET *wParent;
151 
152  wParent=GWEN_Widget_Tree_GetParent(w);
153 
154  g=gtk_notebook_new();
155  gtk_notebook_set_show_tabs(GTK_NOTEBOOK(g), FALSE);
156  gtk_notebook_set_show_border(GTK_NOTEBOOK(g), FALSE);
157 
160 
166 
167  if (wParent)
168  GWEN_Widget_AddChildGuiWidget(wParent, w);
169 
170  return 0;
171 }
172 
173 
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
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
int Gtk3Gui_WStack_Setup(GWEN_WIDGET *w)
Definition: gtk3/w_stack.c:148
GWEN_DIALOG_PROPERTY
Definition: dialog.h:215
#define NULL
Definition: binreloc.c:290
#define DBG_WARN(dbg_logger, format, args...)
Definition: debug.h:118
#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
static GWENHYWFAR_CB int Gtk3Gui_WStack_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int defaultValue)
Definition: gtk3/w_stack.c:61
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:649
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition: widget.c:118
static GWENHYWFAR_CB int Gtk3Gui_WStack_SetCharProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, const char *value, int doSignal)
Definition: gtk3/w_stack.c:94
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
GWEN_WIDGET_ADDCHILDGUIWIDGET_FN GWEN_Widget_SetAddChildGuiWidgetFn(GWEN_WIDGET *w, GWEN_WIDGET_ADDCHILDGUIWIDGET_FN fn)
Definition: widget.c:691
GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETINTPROPERTY_FN fn)
Definition: widget.c:635
struct GWEN_WIDGET GWEN_WIDGET
Definition: widget_be.h:34
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: widget.c:767
static GWENHYWFAR_CB const char * Gtk3Gui_WStack_GetCharProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, const char *defaultValue)
Definition: gtk3/w_stack.c:113
static GWENHYWFAR_CB int Gtk3Gui_WStack_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: gtk3/w_stack.c:131
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition: widget.c:413
static GWENHYWFAR_CB int Gtk3Gui_WStack_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int value, int doSignal)
Definition: gtk3/w_stack.c:24