gwenhywfar  4.3.3
w_textedit.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 
14 static GWENHYWFAR_CB
17  int index,
18  int value,
19  int doSignal) {
20  GtkWidget *g;
21 
23  assert(g);
24 
25  switch(prop) {
27  gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
28  return 0;
29 
31  gtk_widget_grab_focus(GTK_WIDGET(g));
32  return 0;
33 
36  /* just ignore these for now */
37  return 0;
38 
39  default:
40  break;
41  }
42 
44  "Function is not appropriate for this type of widget (%s)",
46  return GWEN_ERROR_INVALID;
47 }
48 
49 
50 
51 
52 static GWENHYWFAR_CB
55  int index,
56  int defaultValue) {
57  GtkWidget *g;
58 
60  assert(g);
61 
62  switch(prop) {
64  return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
65 
67  return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
68  return 0;
69 
72  /* just ignore these for now */
73  return 0;
74 
75  default:
76  break;
77  }
78 
80  "Function is not appropriate for this type of widget (%s)",
82  return defaultValue;
83 }
84 
85 
86 
87 static GWENHYWFAR_CB
90  int index,
91  const char *value,
92  int doSignal) {
93  GtkWidget *g;
94 
96  assert(g);
97 
98  switch(prop) {
100  GtkTextBuffer *tb;
101  GtkTextIter endIter;
102 
103  tb=gtk_text_view_get_buffer(GTK_TEXT_VIEW(g));
104  assert(tb);
105  if (value && *value)
106  gtk_text_buffer_set_text(tb, value, -1);
107  else
108  gtk_text_buffer_set_text(tb, "", -1);
109 
110  gtk_text_buffer_get_end_iter(tb, &endIter);
111  gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(g), &endIter, 0.5, FALSE, 0.0, 0.0);
112  return 0;
113  }
114  default:
115  break;
116  }
117 
119  "Function is not appropriate for this type of widget (%s)",
121  return GWEN_ERROR_INVALID;
122 }
123 
124 
125 
126 static GWENHYWFAR_CB
129  int index,
130  const char *defaultValue) {
131  GtkWidget *g;
132 
134  assert(g);
135 
136  switch(prop) {
138  GtkTextBuffer *tb;
139  GtkTextIter startIter;
140  GtkTextIter endIter;
141  gchar *s;
142 
143  tb=gtk_text_view_get_buffer(GTK_TEXT_VIEW(g));
144  assert(tb);
145 
146  gtk_text_buffer_get_start_iter(tb, &startIter);
147  gtk_text_buffer_get_end_iter(tb, &endIter);
148 
149  s=gtk_text_buffer_get_text(tb, &startIter, &endIter, FALSE);
150  if (s) {
152  g_free(s);
154  }
155  return defaultValue;
156  }
157 
158  default:
159  break;
160  }
161 
163  "Function is not appropriate for this type of widget (%s)",
165  return defaultValue;
166 }
167 
168 
169 
170 static void Gtk2Gui_WTextEdit_Changed_handler(GtkTextBuffer *buffer, gpointer data) {
171  GWEN_WIDGET *w;
172  int rv;
173 
174  w=data;
175  assert(w);
181  else if (rv==GWEN_DialogEvent_ResultReject)
183 }
184 
185 
186 
188  GtkWidget *g;
189  const char *s;
190  uint32_t flags;
191  GWEN_WIDGET *wParent;
192  gulong changed_handler_id;
193 
194  flags=GWEN_Widget_GetFlags(w);
195  wParent=GWEN_Widget_Tree_GetParent(w);
196  s=GWEN_Widget_GetText(w, 0);
197 
198  /* create widget */
199  g=gtk_text_view_new();
200  if (s && *s)
201  gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(g)), s, -1);
202 
205 
210 
211  changed_handler_id=g_signal_connect(gtk_text_view_get_buffer(GTK_TEXT_VIEW(g)),
212  "changed",
214  w);
215 
216  if (wParent)
217  GWEN_Widget_AddChildGuiWidget(wParent, w);
218 
219  return 0;
220 }
221 
222