1
/* tab-bar-widgets.c generated by valac 0.12.0, the Vala compiler
2
* generated from tab-bar-widgets.vala, do not modify */
5
* Copyright (C) 2011 Canonical Ltd.
7
* This program is free software: you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License version 3, as published
9
* by the Free Software Foundation.
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranties of
13
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
14
* PURPOSE. See the GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License along
17
* with this program. If not, see <http://www.gnu.org/licenses/>.
19
* Authored by Neil Jagdish Patel <njpatel@gmail.com>
23
#include <glib-object.h>
33
#define TAB_WIDGETS_TYPE_ENTRY (tab_widgets_entry_get_type ())
34
#define TAB_WIDGETS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAB_WIDGETS_TYPE_ENTRY, TabWidgetsEntry))
35
#define TAB_WIDGETS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAB_WIDGETS_TYPE_ENTRY, TabWidgetsEntryClass))
36
#define TAB_WIDGETS_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAB_WIDGETS_TYPE_ENTRY))
37
#define TAB_WIDGETS_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAB_WIDGETS_TYPE_ENTRY))
38
#define TAB_WIDGETS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAB_WIDGETS_TYPE_ENTRY, TabWidgetsEntryClass))
40
typedef struct _TabWidgetsEntry TabWidgetsEntry;
41
typedef struct _TabWidgetsEntryClass TabWidgetsEntryClass;
42
typedef struct _TabWidgetsEntryPrivate TabWidgetsEntryPrivate;
44
#define TAB_WIDGETS_TYPE_TOGGLE_BUTTON (tab_widgets_toggle_button_get_type ())
45
#define TAB_WIDGETS_TOGGLE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAB_WIDGETS_TYPE_TOGGLE_BUTTON, TabWidgetsToggleButton))
46
#define TAB_WIDGETS_TOGGLE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAB_WIDGETS_TYPE_TOGGLE_BUTTON, TabWidgetsToggleButtonClass))
47
#define TAB_WIDGETS_IS_TOGGLE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAB_WIDGETS_TYPE_TOGGLE_BUTTON))
48
#define TAB_WIDGETS_IS_TOGGLE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAB_WIDGETS_TYPE_TOGGLE_BUTTON))
49
#define TAB_WIDGETS_TOGGLE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAB_WIDGETS_TYPE_TOGGLE_BUTTON, TabWidgetsToggleButtonClass))
51
typedef struct _TabWidgetsToggleButton TabWidgetsToggleButton;
52
typedef struct _TabWidgetsToggleButtonClass TabWidgetsToggleButtonClass;
53
typedef struct _TabWidgetsToggleButtonPrivate TabWidgetsToggleButtonPrivate;
54
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
55
#define _g_free0(var) (var = (g_free (var), NULL))
57
#define TAB_WIDGETS_TYPE_RADIO_BUTTON (tab_widgets_radio_button_get_type ())
58
#define TAB_WIDGETS_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAB_WIDGETS_TYPE_RADIO_BUTTON, TabWidgetsRadioButton))
59
#define TAB_WIDGETS_RADIO_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAB_WIDGETS_TYPE_RADIO_BUTTON, TabWidgetsRadioButtonClass))
60
#define TAB_WIDGETS_IS_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAB_WIDGETS_TYPE_RADIO_BUTTON))
61
#define TAB_WIDGETS_IS_RADIO_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAB_WIDGETS_TYPE_RADIO_BUTTON))
62
#define TAB_WIDGETS_RADIO_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAB_WIDGETS_TYPE_RADIO_BUTTON, TabWidgetsRadioButtonClass))
64
typedef struct _TabWidgetsRadioButton TabWidgetsRadioButton;
65
typedef struct _TabWidgetsRadioButtonClass TabWidgetsRadioButtonClass;
66
typedef struct _TabWidgetsRadioButtonPrivate TabWidgetsRadioButtonPrivate;
67
#define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL)))
69
struct _TabWidgetsEntry {
70
GtkEntry parent_instance;
71
TabWidgetsEntryPrivate * priv;
74
struct _TabWidgetsEntryClass {
75
GtkEntryClass parent_class;
78
struct _TabWidgetsToggleButton {
79
GtkButton parent_instance;
80
TabWidgetsToggleButtonPrivate * priv;
83
struct _TabWidgetsToggleButtonClass {
84
GtkButtonClass parent_class;
87
struct _TabWidgetsToggleButtonPrivate {
93
struct _TabWidgetsRadioButton {
94
GtkRadioButton parent_instance;
95
TabWidgetsRadioButtonPrivate * priv;
98
struct _TabWidgetsRadioButtonClass {
99
GtkRadioButtonClass parent_class;
102
struct _TabWidgetsRadioButtonPrivate {
108
static gpointer tab_widgets_entry_parent_class = NULL;
109
static gpointer tab_widgets_toggle_button_parent_class = NULL;
110
static gpointer tab_widgets_radio_button_parent_class = NULL;
112
GType tab_widgets_entry_get_type (void) G_GNUC_CONST;
114
TAB_WIDGETS_ENTRY_DUMMY_PROPERTY
116
TabWidgetsEntry* tab_widgets_entry_new (void);
117
TabWidgetsEntry* tab_widgets_entry_construct (GType object_type);
118
static GObject * tab_widgets_entry_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
119
GType tab_widgets_toggle_button_get_type (void) G_GNUC_CONST;
120
#define TAB_WIDGETS_TOGGLE_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TAB_WIDGETS_TYPE_TOGGLE_BUTTON, TabWidgetsToggleButtonPrivate))
122
TAB_WIDGETS_TOGGLE_BUTTON_DUMMY_PROPERTY,
123
TAB_WIDGETS_TOGGLE_BUTTON_TEXT,
124
TAB_WIDGETS_TOGGLE_BUTTON_ACTIVE
126
TabWidgetsToggleButton* tab_widgets_toggle_button_new (const gchar* text);
127
TabWidgetsToggleButton* tab_widgets_toggle_button_construct (GType object_type, const gchar* text);
128
static gboolean tab_widgets_toggle_button_real_draw (GtkWidget* base, cairo_t* cr);
129
const gchar* tab_widgets_toggle_button_get_text (TabWidgetsToggleButton* self);
130
void tab_widgets_toggle_button_set_text (TabWidgetsToggleButton* self, const gchar* value);
131
gboolean tab_widgets_toggle_button_get_active (TabWidgetsToggleButton* self);
132
void tab_widgets_toggle_button_set_active (TabWidgetsToggleButton* self, gboolean value);
133
static GObject * tab_widgets_toggle_button_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
134
static void _lambda21_ (TabWidgetsToggleButton* self);
135
static void __lambda21__gtk_button_clicked (GtkButton* _sender, gpointer self);
136
static void tab_widgets_toggle_button_finalize (GObject* obj);
137
static void _vala_tab_widgets_toggle_button_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
138
static void _vala_tab_widgets_toggle_button_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
139
GType tab_widgets_radio_button_get_type (void) G_GNUC_CONST;
140
#define TAB_WIDGETS_RADIO_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TAB_WIDGETS_TYPE_RADIO_BUTTON, TabWidgetsRadioButtonPrivate))
142
TAB_WIDGETS_RADIO_BUTTON_DUMMY_PROPERTY,
143
TAB_WIDGETS_RADIO_BUTTON_TEXT
145
TabWidgetsRadioButton* tab_widgets_radio_button_new (const gchar* text);
146
TabWidgetsRadioButton* tab_widgets_radio_button_construct (GType object_type, const gchar* text);
147
static gboolean tab_widgets_radio_button_real_draw (GtkWidget* base, cairo_t* cr);
148
const gchar* tab_widgets_radio_button_get_text (TabWidgetsRadioButton* self);
149
void tab_widgets_radio_button_set_text (TabWidgetsRadioButton* self, const gchar* value);
150
static GObject * tab_widgets_radio_button_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
151
static void tab_widgets_radio_button_finalize (GObject* obj);
152
static void _vala_tab_widgets_radio_button_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
153
static void _vala_tab_widgets_radio_button_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
156
TabWidgetsEntry* tab_widgets_entry_construct (GType object_type) {
157
TabWidgetsEntry * self = NULL;
158
self = (TabWidgetsEntry*) g_object_new (object_type, NULL);
163
TabWidgetsEntry* tab_widgets_entry_new (void) {
164
return tab_widgets_entry_construct (TAB_WIDGETS_TYPE_ENTRY);
168
static GObject * tab_widgets_entry_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
170
GObjectClass * parent_class;
171
TabWidgetsEntry * self;
173
GtkStyleContext* _tmp0_ = NULL;
174
GdkRGBA _tmp1_ = {0};
175
parent_class = G_OBJECT_CLASS (tab_widgets_entry_parent_class);
176
obj = parent_class->constructor (type, n_construct_properties, construct_properties);
177
self = TAB_WIDGETS_ENTRY (obj);
178
gtk_entry_set_has_frame ((GtkEntry*) self, FALSE);
179
gtk_widget_set_size_request ((GtkWidget*) self, -1, 24);
180
_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) self);
181
gtk_style_context_get_background_color (_tmp0_, GTK_STATE_FLAG_NORMAL, &_tmp1_);
183
color.red = (gdouble) 1.0f;
184
color.green = (gdouble) 0.0f;
185
color.blue = (gdouble) 0.0f;
186
color.alpha = (gdouble) 0.0f;
187
gtk_widget_override_background_color ((GtkWidget*) self, GTK_STATE_FLAG_NORMAL, &color);
188
g_object_set ((GObject*) self, "placeholder-text", "Search...", NULL);
193
static void tab_widgets_entry_class_init (TabWidgetsEntryClass * klass) {
194
tab_widgets_entry_parent_class = g_type_class_peek_parent (klass);
195
G_OBJECT_CLASS (klass)->constructor = tab_widgets_entry_constructor;
199
static void tab_widgets_entry_instance_init (TabWidgetsEntry * self) {
203
GType tab_widgets_entry_get_type (void) {
204
static volatile gsize tab_widgets_entry_type_id__volatile = 0;
205
if (g_once_init_enter (&tab_widgets_entry_type_id__volatile)) {
206
static const GTypeInfo g_define_type_info = { sizeof (TabWidgetsEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tab_widgets_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TabWidgetsEntry), 0, (GInstanceInitFunc) tab_widgets_entry_instance_init, NULL };
207
GType tab_widgets_entry_type_id;
208
tab_widgets_entry_type_id = g_type_register_static (GTK_TYPE_ENTRY, "TabWidgetsEntry", &g_define_type_info, 0);
209
g_once_init_leave (&tab_widgets_entry_type_id__volatile, tab_widgets_entry_type_id);
211
return tab_widgets_entry_type_id__volatile;
215
TabWidgetsToggleButton* tab_widgets_toggle_button_construct (GType object_type, const gchar* text) {
216
TabWidgetsToggleButton * self = NULL;
217
g_return_val_if_fail (text != NULL, NULL);
218
self = (TabWidgetsToggleButton*) g_object_new (object_type, "text", text, NULL);
223
TabWidgetsToggleButton* tab_widgets_toggle_button_new (const gchar* text) {
224
return tab_widgets_toggle_button_construct (TAB_WIDGETS_TYPE_TOGGLE_BUTTON, text);
228
static gboolean tab_widgets_toggle_button_real_draw (GtkWidget* base, cairo_t* cr) {
229
TabWidgetsToggleButton * self;
230
gboolean result = FALSE;
231
self = (TabWidgetsToggleButton*) base;
232
g_return_val_if_fail (cr != NULL, FALSE);
233
if (self->priv->_active) {
234
cairo_set_line_width (cr, 1.0);
235
cairo_rectangle (cr, (gdouble) 1, (gdouble) 1, (gdouble) 5, (gdouble) 5);
238
gtk_container_propagate_draw ((GtkContainer*) self, (GtkWidget*) self->priv->_label, cr);
244
const gchar* tab_widgets_toggle_button_get_text (TabWidgetsToggleButton* self) {
246
g_return_val_if_fail (self != NULL, NULL);
247
result = self->priv->_text;
252
void tab_widgets_toggle_button_set_text (TabWidgetsToggleButton* self, const gchar* value) {
254
g_return_if_fail (self != NULL);
255
_tmp0_ = g_strdup (value);
256
_g_free0 (self->priv->_text);
257
self->priv->_text = _tmp0_;
258
g_object_notify ((GObject *) self, "text");
262
gboolean tab_widgets_toggle_button_get_active (TabWidgetsToggleButton* self) {
264
g_return_val_if_fail (self != NULL, FALSE);
265
result = self->priv->_active;
270
void tab_widgets_toggle_button_set_active (TabWidgetsToggleButton* self, gboolean value) {
272
g_return_if_fail (self != NULL);
273
self->priv->_active = value;
274
_tmp0_ = tab_widgets_toggle_button_get_active (self);
275
g_signal_emit_by_name (self, "toggled", _tmp0_);
276
gtk_widget_queue_draw ((GtkWidget*) self);
277
g_object_notify ((GObject *) self, "active");
281
static void _lambda21_ (TabWidgetsToggleButton* self) {
282
self->priv->_active = !self->priv->_active;
283
g_signal_emit_by_name (self, "toggled", self->priv->_active);
284
gtk_widget_queue_draw ((GtkWidget*) self);
288
static void __lambda21__gtk_button_clicked (GtkButton* _sender, gpointer self) {
293
static GObject * tab_widgets_toggle_button_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
295
GObjectClass * parent_class;
296
TabWidgetsToggleButton * self;
297
GtkLabel* _tmp0_ = NULL;
298
parent_class = G_OBJECT_CLASS (tab_widgets_toggle_button_parent_class);
299
obj = parent_class->constructor (type, n_construct_properties, construct_properties);
300
self = TAB_WIDGETS_TOGGLE_BUTTON (obj);
301
_tmp0_ = (GtkLabel*) gtk_label_new (self->priv->_text);
302
_g_object_unref0 (self->priv->_label);
303
self->priv->_label = g_object_ref_sink (_tmp0_);
304
gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->_label);
305
g_signal_connect_object ((GtkButton*) self, "clicked", (GCallback) __lambda21__gtk_button_clicked, self, 0);
310
static void tab_widgets_toggle_button_class_init (TabWidgetsToggleButtonClass * klass) {
311
tab_widgets_toggle_button_parent_class = g_type_class_peek_parent (klass);
312
g_type_class_add_private (klass, sizeof (TabWidgetsToggleButtonPrivate));
313
GTK_WIDGET_CLASS (klass)->draw = tab_widgets_toggle_button_real_draw;
314
G_OBJECT_CLASS (klass)->get_property = _vala_tab_widgets_toggle_button_get_property;
315
G_OBJECT_CLASS (klass)->set_property = _vala_tab_widgets_toggle_button_set_property;
316
G_OBJECT_CLASS (klass)->constructor = tab_widgets_toggle_button_constructor;
317
G_OBJECT_CLASS (klass)->finalize = tab_widgets_toggle_button_finalize;
318
g_object_class_install_property (G_OBJECT_CLASS (klass), TAB_WIDGETS_TOGGLE_BUTTON_TEXT, g_param_spec_string ("text", "text", "text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
319
g_object_class_install_property (G_OBJECT_CLASS (klass), TAB_WIDGETS_TOGGLE_BUTTON_ACTIVE, g_param_spec_boolean ("active", "active", "active", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
320
g_signal_new ("toggled", TAB_WIDGETS_TYPE_TOGGLE_BUTTON, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
324
static void tab_widgets_toggle_button_instance_init (TabWidgetsToggleButton * self) {
325
self->priv = TAB_WIDGETS_TOGGLE_BUTTON_GET_PRIVATE (self);
329
static void tab_widgets_toggle_button_finalize (GObject* obj) {
330
TabWidgetsToggleButton * self;
331
self = TAB_WIDGETS_TOGGLE_BUTTON (obj);
332
_g_object_unref0 (self->priv->_label);
333
_g_free0 (self->priv->_text);
334
G_OBJECT_CLASS (tab_widgets_toggle_button_parent_class)->finalize (obj);
338
GType tab_widgets_toggle_button_get_type (void) {
339
static volatile gsize tab_widgets_toggle_button_type_id__volatile = 0;
340
if (g_once_init_enter (&tab_widgets_toggle_button_type_id__volatile)) {
341
static const GTypeInfo g_define_type_info = { sizeof (TabWidgetsToggleButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tab_widgets_toggle_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TabWidgetsToggleButton), 0, (GInstanceInitFunc) tab_widgets_toggle_button_instance_init, NULL };
342
GType tab_widgets_toggle_button_type_id;
343
tab_widgets_toggle_button_type_id = g_type_register_static (GTK_TYPE_BUTTON, "TabWidgetsToggleButton", &g_define_type_info, 0);
344
g_once_init_leave (&tab_widgets_toggle_button_type_id__volatile, tab_widgets_toggle_button_type_id);
346
return tab_widgets_toggle_button_type_id__volatile;
350
static void _vala_tab_widgets_toggle_button_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
351
TabWidgetsToggleButton * self;
352
self = TAB_WIDGETS_TOGGLE_BUTTON (object);
353
switch (property_id) {
354
case TAB_WIDGETS_TOGGLE_BUTTON_TEXT:
355
g_value_set_string (value, tab_widgets_toggle_button_get_text (self));
357
case TAB_WIDGETS_TOGGLE_BUTTON_ACTIVE:
358
g_value_set_boolean (value, tab_widgets_toggle_button_get_active (self));
361
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
367
static void _vala_tab_widgets_toggle_button_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
368
TabWidgetsToggleButton * self;
369
self = TAB_WIDGETS_TOGGLE_BUTTON (object);
370
switch (property_id) {
371
case TAB_WIDGETS_TOGGLE_BUTTON_TEXT:
372
tab_widgets_toggle_button_set_text (self, g_value_get_string (value));
374
case TAB_WIDGETS_TOGGLE_BUTTON_ACTIVE:
375
tab_widgets_toggle_button_set_active (self, g_value_get_boolean (value));
378
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
384
TabWidgetsRadioButton* tab_widgets_radio_button_construct (GType object_type, const gchar* text) {
385
TabWidgetsRadioButton * self = NULL;
386
g_return_val_if_fail (text != NULL, NULL);
387
self = (TabWidgetsRadioButton*) g_object_new (object_type, "text", text, NULL);
392
TabWidgetsRadioButton* tab_widgets_radio_button_new (const gchar* text) {
393
return tab_widgets_radio_button_construct (TAB_WIDGETS_TYPE_RADIO_BUTTON, text);
397
static gboolean tab_widgets_radio_button_real_draw (GtkWidget* base, cairo_t* cr) {
398
TabWidgetsRadioButton * self;
399
gboolean result = FALSE;
401
self = (TabWidgetsRadioButton*) base;
402
g_return_val_if_fail (cr != NULL, FALSE);
403
_tmp0_ = gtk_toggle_button_get_active ((GtkToggleButton*) self);
405
GtkAllocation a = {0};
406
GtkAllocation _tmp1_ = {0};
408
GtkStyleContext* _tmp2_ = NULL;
409
GdkRGBA _tmp3_ = {0};
410
cairo_pattern_t* _tmp4_ = NULL;
411
cairo_pattern_t* pat;
412
cairo_translate (cr, (gdouble) (-1), (gdouble) (-1));
413
gtk_widget_get_allocation ((GtkWidget*) self, &_tmp1_);
415
_tmp2_ = gtk_widget_get_style_context ((GtkWidget*) self);
416
gtk_style_context_get_color (_tmp2_, GTK_STATE_FLAG_NORMAL, &_tmp3_);
418
_tmp4_ = cairo_pattern_create_linear ((gdouble) 0, (gdouble) (a.height - 1), (gdouble) a.width, (gdouble) (a.height - 1));
420
cairo_pattern_add_color_stop_rgba (pat, (gdouble) 0.0f, c.red, c.green, c.blue, (gdouble) 0.0f);
421
cairo_pattern_add_color_stop_rgba (pat, (gdouble) 0.5f, c.red, c.green, c.blue, (gdouble) 0.5f);
422
cairo_pattern_add_color_stop_rgba (pat, (gdouble) 1.0f, c.red, c.green, c.blue, (gdouble) 0.0f);
423
cairo_set_source (cr, pat);
424
cairo_rectangle (cr, (gdouble) 0, (gdouble) (a.height - 1), (gdouble) a.width, (gdouble) 1);
426
_cairo_pattern_destroy0 (pat);
428
gtk_container_propagate_draw ((GtkContainer*) self, (GtkWidget*) self->priv->_label, cr);
434
const gchar* tab_widgets_radio_button_get_text (TabWidgetsRadioButton* self) {
436
g_return_val_if_fail (self != NULL, NULL);
437
result = self->priv->_text;
442
void tab_widgets_radio_button_set_text (TabWidgetsRadioButton* self, const gchar* value) {
444
g_return_if_fail (self != NULL);
445
_tmp0_ = g_strdup (value);
446
_g_free0 (self->priv->_text);
447
self->priv->_text = _tmp0_;
448
g_object_notify ((GObject *) self, "text");
452
static GObject * tab_widgets_radio_button_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
454
GObjectClass * parent_class;
455
TabWidgetsRadioButton * self;
456
GtkLabel* _tmp0_ = NULL;
457
parent_class = G_OBJECT_CLASS (tab_widgets_radio_button_parent_class);
458
obj = parent_class->constructor (type, n_construct_properties, construct_properties);
459
self = TAB_WIDGETS_RADIO_BUTTON (obj);
460
_tmp0_ = (GtkLabel*) gtk_label_new (self->priv->_text);
461
_g_object_unref0 (self->priv->_label);
462
self->priv->_label = g_object_ref_sink (_tmp0_);
463
gtk_misc_set_alignment ((GtkMisc*) self->priv->_label, 0.5f, 0.5f);
464
gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->_label);
465
g_object_set ((GObject*) self, "draw-indicator", FALSE, NULL);
470
static void tab_widgets_radio_button_class_init (TabWidgetsRadioButtonClass * klass) {
471
tab_widgets_radio_button_parent_class = g_type_class_peek_parent (klass);
472
g_type_class_add_private (klass, sizeof (TabWidgetsRadioButtonPrivate));
473
GTK_WIDGET_CLASS (klass)->draw = tab_widgets_radio_button_real_draw;
474
G_OBJECT_CLASS (klass)->get_property = _vala_tab_widgets_radio_button_get_property;
475
G_OBJECT_CLASS (klass)->set_property = _vala_tab_widgets_radio_button_set_property;
476
G_OBJECT_CLASS (klass)->constructor = tab_widgets_radio_button_constructor;
477
G_OBJECT_CLASS (klass)->finalize = tab_widgets_radio_button_finalize;
478
g_object_class_install_property (G_OBJECT_CLASS (klass), TAB_WIDGETS_RADIO_BUTTON_TEXT, g_param_spec_string ("text", "text", "text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
482
static void tab_widgets_radio_button_instance_init (TabWidgetsRadioButton * self) {
483
self->priv = TAB_WIDGETS_RADIO_BUTTON_GET_PRIVATE (self);
487
static void tab_widgets_radio_button_finalize (GObject* obj) {
488
TabWidgetsRadioButton * self;
489
self = TAB_WIDGETS_RADIO_BUTTON (obj);
490
_g_object_unref0 (self->priv->_label);
491
_g_free0 (self->priv->_text);
492
G_OBJECT_CLASS (tab_widgets_radio_button_parent_class)->finalize (obj);
496
GType tab_widgets_radio_button_get_type (void) {
497
static volatile gsize tab_widgets_radio_button_type_id__volatile = 0;
498
if (g_once_init_enter (&tab_widgets_radio_button_type_id__volatile)) {
499
static const GTypeInfo g_define_type_info = { sizeof (TabWidgetsRadioButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tab_widgets_radio_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TabWidgetsRadioButton), 0, (GInstanceInitFunc) tab_widgets_radio_button_instance_init, NULL };
500
GType tab_widgets_radio_button_type_id;
501
tab_widgets_radio_button_type_id = g_type_register_static (GTK_TYPE_RADIO_BUTTON, "TabWidgetsRadioButton", &g_define_type_info, 0);
502
g_once_init_leave (&tab_widgets_radio_button_type_id__volatile, tab_widgets_radio_button_type_id);
504
return tab_widgets_radio_button_type_id__volatile;
508
static void _vala_tab_widgets_radio_button_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
509
TabWidgetsRadioButton * self;
510
self = TAB_WIDGETS_RADIO_BUTTON (object);
511
switch (property_id) {
512
case TAB_WIDGETS_RADIO_BUTTON_TEXT:
513
g_value_set_string (value, tab_widgets_radio_button_get_text (self));
516
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
522
static void _vala_tab_widgets_radio_button_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
523
TabWidgetsRadioButton * self;
524
self = TAB_WIDGETS_RADIO_BUTTON (object);
525
switch (property_id) {
526
case TAB_WIDGETS_RADIO_BUTTON_TEXT:
527
tab_widgets_radio_button_set_text (self, g_value_get_string (value));
530
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);