gwenhywfar
4.6.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
gui
gtk2
w_label.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
15
int
Gtk2Gui_WLabel_SetIntProperty
(
GWEN_WIDGET
*w,
16
GWEN_DIALOG_PROPERTY
prop,
17
int
index,
18
int
value,
19
int
doSignal) {
20
GtkLabel *g;
21
22
g=GTK_LABEL(
GWEN_Widget_GetImplData
(w,
GTK2_DIALOG_WIDGET_REAL
));
23
assert(g);
24
25
switch
(prop) {
26
case
GWEN_DialogProperty_Enabled
:
27
gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
28
return
0;
29
30
case
GWEN_DialogProperty_Focus
:
31
gtk_widget_grab_focus(GTK_WIDGET(g));
32
return
0;
33
34
case
GWEN_DialogProperty_Width
:
35
case
GWEN_DialogProperty_Height
:
36
/* just ignore these for now */
37
return
0;
38
39
default
:
40
break
;
41
}
42
43
DBG_WARN
(
GWEN_LOGDOMAIN
,
44
"Function is not appropriate for this type of widget (%s)"
,
45
GWEN_Widget_Type_toString
(
GWEN_Widget_GetType
(w)));
46
return
GWEN_ERROR_INVALID
;
47
}
48
49
50
51
52
static
GWENHYWFAR_CB
53
int
Gtk2Gui_WLabel_GetIntProperty
(
GWEN_WIDGET
*w,
54
GWEN_DIALOG_PROPERTY
prop,
55
int
index,
56
int
defaultValue) {
57
GtkLabel *g;
58
59
g=GTK_LABEL(
GWEN_Widget_GetImplData
(w,
GTK2_DIALOG_WIDGET_REAL
));
60
assert(g);
61
62
switch
(prop) {
63
case
GWEN_DialogProperty_Enabled
:
64
return
(gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
65
66
case
GWEN_DialogProperty_Focus
:
67
return
(gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
68
return
0;
69
70
case
GWEN_DialogProperty_Width
:
71
case
GWEN_DialogProperty_Height
:
72
/* just ignore these for now */
73
return
0;
74
75
default
:
76
break
;
77
}
78
79
DBG_WARN
(
GWEN_LOGDOMAIN
,
80
"Function is not appropriate for this type of widget (%s)"
,
81
GWEN_Widget_Type_toString
(
GWEN_Widget_GetType
(w)));
82
return
defaultValue;
83
}
84
85
86
87
static
GWENHYWFAR_CB
88
int
Gtk2Gui_WLabel_SetCharProperty
(
GWEN_WIDGET
*w,
89
GWEN_DIALOG_PROPERTY
prop,
90
int
index,
91
const
char
*value,
92
int
doSignal) {
93
GtkLabel *g;
94
GWEN_BUFFER
*tbuf;
95
96
g=GTK_LABEL(
GWEN_Widget_GetImplData
(w,
GTK2_DIALOG_WIDGET_REAL
));
97
assert(g);
98
99
tbuf=
GWEN_Buffer_new
(0, 128, 0, 1);
100
if
(value && *value)
101
Gtk2Gui_GetRawText
(value, tbuf);
102
103
switch
(prop) {
104
case
GWEN_DialogProperty_Title
:
105
gtk_label_set_text(g,
GWEN_Buffer_GetStart
(tbuf));
106
GWEN_Buffer_free
(tbuf);
107
return
0;
108
default
:
109
break
;
110
}
111
112
DBG_WARN
(
GWEN_LOGDOMAIN
,
113
"Function is not appropriate for this type of widget (%s)"
,
114
GWEN_Widget_Type_toString
(
GWEN_Widget_GetType
(w)));
115
GWEN_Buffer_free
(tbuf);
116
return
GWEN_ERROR_INVALID
;
117
}
118
119
120
121
static
GWENHYWFAR_CB
122
const
char
*
Gtk2Gui_WLabel_GetCharProperty
(
GWEN_WIDGET
*w,
123
GWEN_DIALOG_PROPERTY
prop,
124
int
index,
125
const
char
*defaultValue) {
126
GtkLabel *g;
127
128
g=GTK_LABEL(
GWEN_Widget_GetImplData
(w,
GTK2_DIALOG_WIDGET_REAL
));
129
assert(g);
130
131
switch
(prop) {
132
case
GWEN_DialogProperty_Title
:
133
return
gtk_label_get_label(g);
134
default
:
135
break
;
136
}
137
138
DBG_WARN
(
GWEN_LOGDOMAIN
,
139
"Function is not appropriate for this type of widget (%s)"
,
140
GWEN_Widget_Type_toString
(
GWEN_Widget_GetType
(w)));
141
return
defaultValue;
142
}
143
144
145
146
int
Gtk2Gui_WLabel_Setup
(
GWEN_WIDGET
*w) {
147
GtkWidget *g;
148
const
char
*s;
149
uint32_t flags;
150
GWEN_WIDGET
*wParent;
151
GWEN_BUFFER
*tbuf;
152
153
flags=
GWEN_Widget_GetFlags
(w);
154
wParent=GWEN_Widget_Tree_GetParent(w);
155
s=
GWEN_Widget_GetText
(w, 0);
156
157
tbuf=
GWEN_Buffer_new
(0, 128, 0, 1);
158
if
(s && *s)
159
Gtk2Gui_GetRawText
(s, tbuf);
160
161
g=gtk_label_new(
GWEN_Buffer_GetStart
(tbuf));
162
GWEN_Buffer_free
(tbuf);
163
GWEN_Widget_SetImplData
(w,
GTK2_DIALOG_WIDGET_REAL
, (
void
*) g);
164
GWEN_Widget_SetImplData
(w,
GTK2_DIALOG_WIDGET_CONTENT
, (
void
*) g);
165
166
GWEN_Widget_SetSetIntPropertyFn
(w,
Gtk2Gui_WLabel_SetIntProperty
);
167
GWEN_Widget_SetGetIntPropertyFn
(w,
Gtk2Gui_WLabel_GetIntProperty
);
168
GWEN_Widget_SetSetCharPropertyFn
(w,
Gtk2Gui_WLabel_SetCharProperty
);
169
GWEN_Widget_SetGetCharPropertyFn
(w,
Gtk2Gui_WLabel_GetCharProperty
);
170
171
if
(wParent)
172
GWEN_Widget_AddChildGuiWidget
(wParent, w);
173
174
return
0;
175
}
176
177
Generated on Sun May 26 2013 16:42:55 for gwenhywfar by
1.8.1.2