run vala
[moonshot-ui.git] / src / moonshot-idcard-widget.c
1 /* moonshot-idcard-widget.c generated by valac 0.10.4, the Vala compiler
2  * generated from moonshot-idcard-widget.vala, do not modify */
3
4
5 #include <glib.h>
6 #include <glib-object.h>
7 #include <gtk/gtk.h>
8 #include <string.h>
9 #include <gdk/gdk.h>
10 #include <stdlib.h>
11 #include <float.h>
12 #include <math.h>
13 #include <pango/pango.h>
14 #include <glib/gi18n-lib.h>
15 #include <atk/atk.h>
16
17
18 #define TYPE_ID_CARD_WIDGET (id_card_widget_get_type ())
19 #define ID_CARD_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD_WIDGET, IdCardWidget))
20 #define ID_CARD_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD_WIDGET, IdCardWidgetClass))
21 #define IS_ID_CARD_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD_WIDGET))
22 #define IS_ID_CARD_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD_WIDGET))
23 #define ID_CARD_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD_WIDGET, IdCardWidgetClass))
24
25 typedef struct _IdCardWidget IdCardWidget;
26 typedef struct _IdCardWidgetClass IdCardWidgetClass;
27 typedef struct _IdCardWidgetPrivate IdCardWidgetPrivate;
28
29 #define TYPE_ID_CARD (id_card_get_type ())
30 #define ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD, IdCard))
31 #define ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD, IdCardClass))
32 #define IS_ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD))
33 #define IS_ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD))
34 #define ID_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD, IdCardClass))
35
36 typedef struct _IdCard IdCard;
37 typedef struct _IdCardClass IdCardClass;
38 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
39 #define _g_free0(var) (var = (g_free (var), NULL))
40
41 struct _IdCardWidget {
42         GtkBox parent_instance;
43         IdCardWidgetPrivate * priv;
44 };
45
46 struct _IdCardWidgetClass {
47         GtkBoxClass parent_class;
48 };
49
50 struct _IdCardWidgetPrivate {
51         IdCard* _id_card;
52         GtkVBox* main_vbox;
53         GtkHBox* table;
54         GtkButton* _delete_button;
55         GtkButton* _details_button;
56         GtkButton* _send_button;
57         GtkHButtonBox* hbutton_box;
58         GtkEventBox* event_box;
59         GtkLabel* label;
60 };
61
62
63 static gpointer id_card_widget_parent_class = NULL;
64
65 GType id_card_widget_get_type (void) G_GNUC_CONST;
66 GType id_card_get_type (void) G_GNUC_CONST;
67 #define ID_CARD_WIDGET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ID_CARD_WIDGET, IdCardWidgetPrivate))
68 enum  {
69         ID_CARD_WIDGET_DUMMY_PROPERTY,
70         ID_CARD_WIDGET_ID_CARD,
71         ID_CARD_WIDGET_DELETE_BUTTON,
72         ID_CARD_WIDGET_DETAILS_BUTTON,
73         ID_CARD_WIDGET_SEND_BUTTON
74 };
75 void id_card_widget_collapse (IdCardWidget* self);
76 static void id_card_widget_set_idcard_color (IdCardWidget* self);
77 static gboolean id_card_widget_button_press_cb (IdCardWidget* self);
78 static void id_card_widget_delete_button_cb (IdCardWidget* self);
79 static void id_card_widget_details_button_cb (IdCardWidget* self);
80 static void id_card_widget_send_button_cb (IdCardWidget* self);
81 void id_card_widget_update_id_card_label (IdCardWidget* self);
82 IdCard* id_card_widget_get_id_card (IdCardWidget* self);
83 const char* id_card_get_display_name (IdCard* self);
84 char** id_card_get_services (IdCard* self, int* result_length1);
85 IdCardWidget* id_card_widget_new (IdCard* id_card);
86 IdCardWidget* id_card_widget_construct (GType object_type, IdCard* id_card);
87 void id_card_widget_set_id_card (IdCardWidget* self, IdCard* value);
88 static void id_card_widget_set_delete_button (IdCardWidget* self, GtkButton* value);
89 static void id_card_widget_set_details_button (IdCardWidget* self, GtkButton* value);
90 static void id_card_widget_set_send_button (IdCardWidget* self, GtkButton* value);
91 static void id_card_widget_set_atk_name_description (IdCardWidget* self, GtkWidget* widget, const char* name, const char* description);
92 GtkButton* id_card_widget_get_delete_button (IdCardWidget* self);
93 GtkButton* id_card_widget_get_details_button (IdCardWidget* self);
94 GtkButton* id_card_widget_get_send_button (IdCardWidget* self);
95 static void _id_card_widget_delete_button_cb_gtk_button_clicked (GtkButton* _sender, gpointer self);
96 static void _id_card_widget_details_button_cb_gtk_button_clicked (GtkButton* _sender, gpointer self);
97 static void _id_card_widget_send_button_cb_gtk_button_clicked (GtkButton* _sender, gpointer self);
98 static gboolean _id_card_widget_button_press_cb_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
99 static void id_card_widget_finalize (GObject* obj);
100 static void id_card_widget_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
101 static void id_card_widget_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
102
103
104
105 void id_card_widget_collapse (IdCardWidget* self) {
106         g_return_if_fail (self != NULL);
107         gtk_widget_set_visible ((GtkWidget*) self->priv->hbutton_box, FALSE);
108         id_card_widget_set_idcard_color (self);
109 }
110
111
112 static gboolean id_card_widget_button_press_cb (IdCardWidget* self) {
113         gboolean result = FALSE;
114         g_return_val_if_fail (self != NULL, FALSE);
115         gtk_widget_set_visible ((GtkWidget*) self->priv->hbutton_box, !gtk_widget_get_visible ((GtkWidget*) self->priv->hbutton_box));
116         id_card_widget_set_idcard_color (self);
117         if (gtk_widget_get_visible ((GtkWidget*) self->priv->hbutton_box) == TRUE) {
118                 g_signal_emit_by_name (self, "expanded");
119         }
120         result = FALSE;
121         return result;
122 }
123
124
125 static void id_card_widget_delete_button_cb (IdCardWidget* self) {
126         g_return_if_fail (self != NULL);
127         g_signal_emit_by_name (self, "remove-id");
128 }
129
130
131 static void id_card_widget_details_button_cb (IdCardWidget* self) {
132         g_return_if_fail (self != NULL);
133         g_signal_emit_by_name (self, "details-id");
134 }
135
136
137 static void id_card_widget_send_button_cb (IdCardWidget* self) {
138         g_return_if_fail (self != NULL);
139         g_signal_emit_by_name (self, "send-id");
140 }
141
142
143 static void id_card_widget_set_idcard_color (IdCardWidget* self) {
144         GdkColor color = {0};
145         GtkStateType state;
146         g_return_if_fail (self != NULL);
147         memset (&color, 0, sizeof (GdkColor));
148         if (gtk_widget_get_visible ((GtkWidget*) self->priv->hbutton_box) == FALSE) {
149                 color.red = (guint16) 65535;
150                 color.green = (guint16) 65535;
151                 color.blue = (guint16) 65535;
152         } else {
153                 color.red = (guint16) 33333;
154                 color.green = (guint16) 33333;
155                 color.blue = (guint16) 60000;
156         }
157         state = gtk_widget_get_state ((GtkWidget*) self);
158         gtk_widget_modify_bg ((GtkWidget*) self->priv->event_box, state, &color);
159 }
160
161
162 void id_card_widget_update_id_card_label (IdCardWidget* self) {
163         char* services_text;
164         char* display_name;
165         char* _tmp8_;
166         char* _tmp9_;
167         g_return_if_fail (self != NULL);
168         services_text = g_strdup ("");
169         display_name = g_markup_printf_escaped ("<b>%s</b>", id_card_get_display_name (self->priv->_id_card));
170         {
171                 gint i;
172                 i = 0;
173                 {
174                         gboolean _tmp0_;
175                         _tmp0_ = TRUE;
176                         while (TRUE) {
177                                 gint _tmp1_;
178                                 gint _tmp2_;
179                                 char* service;
180                                 gint _tmp3_;
181                                 if (!_tmp0_) {
182                                         i++;
183                                 }
184                                 _tmp0_ = FALSE;
185                                 if (!(i < _tmp1_)) {
186                                         break;
187                                 }
188                                 service = g_strdup (id_card_get_services (self->priv->_id_card, &_tmp2_)[i]);
189                                 if (i == (_tmp3_ - 1)) {
190                                         char* _tmp4_;
191                                         char* _tmp5_;
192                                         services_text = (_tmp5_ = g_strconcat (services_text, _tmp4_ = g_markup_printf_escaped ("<i>%s</i>", service), NULL), _g_free0 (services_text), _tmp5_);
193                                         _g_free0 (_tmp4_);
194                                 } else {
195                                         char* _tmp6_;
196                                         char* _tmp7_;
197                                         services_text = (_tmp7_ = g_strconcat (services_text, _tmp6_ = g_markup_printf_escaped ("<i>%s, </i>", service), NULL), _g_free0 (services_text), _tmp7_);
198                                         _g_free0 (_tmp6_);
199                                 }
200                                 _g_free0 (service);
201                         }
202                 }
203         }
204         gtk_label_set_markup (self->priv->label, _tmp9_ = g_strconcat (_tmp8_ = g_strconcat (display_name, "\n", NULL), services_text, NULL));
205         _g_free0 (_tmp9_);
206         _g_free0 (_tmp8_);
207         _g_free0 (display_name);
208         _g_free0 (services_text);
209 }
210
211
212 static void _id_card_widget_delete_button_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
213         id_card_widget_delete_button_cb (self);
214 }
215
216
217 static void _id_card_widget_details_button_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
218         id_card_widget_details_button_cb (self);
219 }
220
221
222 static void _id_card_widget_send_button_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
223         id_card_widget_send_button_cb (self);
224 }
225
226
227 static gboolean _id_card_widget_button_press_cb_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
228         gboolean result;
229         result = id_card_widget_button_press_cb (self);
230         return result;
231 }
232
233
234 IdCardWidget* id_card_widget_construct (GType object_type, IdCard* id_card) {
235         IdCardWidget * self;
236         GtkImage* image;
237         GtkLabel* _tmp0_;
238         GtkHBox* _tmp1_;
239         GtkButton* _tmp2_;
240         GtkButton* _tmp3_;
241         GtkButton* _tmp4_;
242         GtkHButtonBox* _tmp5_;
243         GtkVBox* _tmp6_;
244         GtkEventBox* _tmp7_;
245         g_return_val_if_fail (id_card != NULL, NULL);
246         self = g_object_newv (object_type, 0, NULL);
247         id_card_widget_set_id_card (self, id_card);
248         image = g_object_ref_sink ((GtkImage*) gtk_image_new_from_pixbuf ((GdkPixbuf*) g_object_get_data ((GObject*) id_card, "pixbuf")));
249         self->priv->label = (_tmp0_ = g_object_ref_sink ((GtkLabel*) gtk_label_new (NULL)), _g_object_unref0 (self->priv->label), _tmp0_);
250         gtk_misc_set_alignment ((GtkMisc*) self->priv->label, (float) 0, (float) 0.5);
251         gtk_label_set_ellipsize (self->priv->label, PANGO_ELLIPSIZE_END);
252         id_card_widget_update_id_card_label (self);
253         self->priv->table = (_tmp1_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), _g_object_unref0 (self->priv->table), _tmp1_);
254         gtk_box_pack_start ((GtkBox*) self->priv->table, (GtkWidget*) image, FALSE, FALSE, (guint) 0);
255         gtk_box_pack_start ((GtkBox*) self->priv->table, (GtkWidget*) self->priv->label, TRUE, TRUE, (guint) 0);
256         id_card_widget_set_delete_button (self, _tmp2_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_label (_ ("Delete"))));
257         _g_object_unref0 (_tmp2_);
258         id_card_widget_set_details_button (self, _tmp3_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_label (_ ("View details"))));
259         _g_object_unref0 (_tmp3_);
260         id_card_widget_set_send_button (self, _tmp4_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_label (_ ("Send"))));
261         _g_object_unref0 (_tmp4_);
262         id_card_widget_set_atk_name_description (self, (GtkWidget*) self->priv->_delete_button, _ ("Delete"), _ ("Delete this ID Card"));
263         id_card_widget_set_atk_name_description (self, (GtkWidget*) self->priv->_details_button, _ ("Details"), _ ("View the details of this ID Card"));
264         id_card_widget_set_atk_name_description (self, (GtkWidget*) self->priv->_send_button, _ ("Send"), _ ("Send this ID Card"));
265         self->priv->hbutton_box = (_tmp5_ = g_object_ref_sink ((GtkHButtonBox*) gtk_hbutton_box_new ()), _g_object_unref0 (self->priv->hbutton_box), _tmp5_);
266         gtk_box_pack_end ((GtkBox*) self->priv->hbutton_box, (GtkWidget*) self->priv->_delete_button, TRUE, TRUE, 0);
267         gtk_box_pack_end ((GtkBox*) self->priv->hbutton_box, (GtkWidget*) self->priv->_details_button, TRUE, TRUE, 0);
268         gtk_box_pack_end ((GtkBox*) self->priv->hbutton_box, (GtkWidget*) self->priv->_send_button, TRUE, TRUE, 0);
269         gtk_widget_set_sensitive ((GtkWidget*) self->priv->_send_button, FALSE);
270         g_signal_connect_object (self->priv->_delete_button, "clicked", (GCallback) _id_card_widget_delete_button_cb_gtk_button_clicked, self, 0);
271         g_signal_connect_object (self->priv->_details_button, "clicked", (GCallback) _id_card_widget_details_button_cb_gtk_button_clicked, self, 0);
272         g_signal_connect_object (self->priv->_send_button, "clicked", (GCallback) _id_card_widget_send_button_cb_gtk_button_clicked, self, 0);
273         self->priv->main_vbox = (_tmp6_ = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 12)), _g_object_unref0 (self->priv->main_vbox), _tmp6_);
274         gtk_box_pack_start ((GtkBox*) self->priv->main_vbox, (GtkWidget*) self->priv->table, TRUE, TRUE, (guint) 0);
275         gtk_box_pack_start ((GtkBox*) self->priv->main_vbox, (GtkWidget*) self->priv->hbutton_box, FALSE, FALSE, (guint) 0);
276         gtk_container_set_border_width ((GtkContainer*) self->priv->main_vbox, (guint) 12);
277         self->priv->event_box = (_tmp7_ = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()), _g_object_unref0 (self->priv->event_box), _tmp7_);
278         gtk_container_add ((GtkContainer*) self->priv->event_box, (GtkWidget*) self->priv->main_vbox);
279         g_signal_connect_object ((GtkWidget*) self->priv->event_box, "button-press-event", (GCallback) _id_card_widget_button_press_cb_gtk_widget_button_press_event, self, 0);
280         gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) self->priv->event_box, TRUE, TRUE, 0);
281         gtk_widget_show_all ((GtkWidget*) self);
282         gtk_widget_hide ((GtkWidget*) self->priv->hbutton_box);
283         id_card_widget_set_idcard_color (self);
284         _g_object_unref0 (image);
285         return self;
286 }
287
288
289 IdCardWidget* id_card_widget_new (IdCard* id_card) {
290         return id_card_widget_construct (TYPE_ID_CARD_WIDGET, id_card);
291 }
292
293
294 static gpointer _g_object_ref0 (gpointer self) {
295         return self ? g_object_ref (self) : NULL;
296 }
297
298
299 static void id_card_widget_set_atk_name_description (IdCardWidget* self, GtkWidget* widget, const char* name, const char* description) {
300         AtkObject* atk_widget;
301         g_return_if_fail (self != NULL);
302         g_return_if_fail (widget != NULL);
303         g_return_if_fail (name != NULL);
304         g_return_if_fail (description != NULL);
305         atk_widget = _g_object_ref0 (gtk_widget_get_accessible (widget));
306         atk_object_set_name (atk_widget, name);
307         atk_object_set_description (atk_widget, description);
308         _g_object_unref0 (atk_widget);
309 }
310
311
312 IdCard* id_card_widget_get_id_card (IdCardWidget* self) {
313         IdCard* result;
314         g_return_val_if_fail (self != NULL, NULL);
315         result = self->priv->_id_card;
316         return result;
317 }
318
319
320 void id_card_widget_set_id_card (IdCardWidget* self, IdCard* value) {
321         IdCard* _tmp0_;
322         g_return_if_fail (self != NULL);
323         self->priv->_id_card = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_id_card), _tmp0_);
324         g_object_notify ((GObject *) self, "id-card");
325 }
326
327
328 GtkButton* id_card_widget_get_delete_button (IdCardWidget* self) {
329         GtkButton* result;
330         g_return_val_if_fail (self != NULL, NULL);
331         result = self->priv->_delete_button;
332         return result;
333 }
334
335
336 static void id_card_widget_set_delete_button (IdCardWidget* self, GtkButton* value) {
337         GtkButton* _tmp0_;
338         g_return_if_fail (self != NULL);
339         self->priv->_delete_button = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_delete_button), _tmp0_);
340         g_object_notify ((GObject *) self, "delete-button");
341 }
342
343
344 GtkButton* id_card_widget_get_details_button (IdCardWidget* self) {
345         GtkButton* result;
346         g_return_val_if_fail (self != NULL, NULL);
347         result = self->priv->_details_button;
348         return result;
349 }
350
351
352 static void id_card_widget_set_details_button (IdCardWidget* self, GtkButton* value) {
353         GtkButton* _tmp0_;
354         g_return_if_fail (self != NULL);
355         self->priv->_details_button = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_details_button), _tmp0_);
356         g_object_notify ((GObject *) self, "details-button");
357 }
358
359
360 GtkButton* id_card_widget_get_send_button (IdCardWidget* self) {
361         GtkButton* result;
362         g_return_val_if_fail (self != NULL, NULL);
363         result = self->priv->_send_button;
364         return result;
365 }
366
367
368 static void id_card_widget_set_send_button (IdCardWidget* self, GtkButton* value) {
369         GtkButton* _tmp0_;
370         g_return_if_fail (self != NULL);
371         self->priv->_send_button = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_send_button), _tmp0_);
372         g_object_notify ((GObject *) self, "send-button");
373 }
374
375
376 static void id_card_widget_class_init (IdCardWidgetClass * klass) {
377         id_card_widget_parent_class = g_type_class_peek_parent (klass);
378         g_type_class_add_private (klass, sizeof (IdCardWidgetPrivate));
379         G_OBJECT_CLASS (klass)->get_property = id_card_widget_get_property;
380         G_OBJECT_CLASS (klass)->set_property = id_card_widget_set_property;
381         G_OBJECT_CLASS (klass)->finalize = id_card_widget_finalize;
382         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_WIDGET_ID_CARD, g_param_spec_object ("id-card", "id-card", "id-card", TYPE_ID_CARD, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
383         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_WIDGET_DELETE_BUTTON, g_param_spec_object ("delete-button", "delete-button", "delete-button", GTK_TYPE_BUTTON, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
384         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_WIDGET_DETAILS_BUTTON, g_param_spec_object ("details-button", "details-button", "details-button", GTK_TYPE_BUTTON, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
385         g_object_class_install_property (G_OBJECT_CLASS (klass), ID_CARD_WIDGET_SEND_BUTTON, g_param_spec_object ("send-button", "send-button", "send-button", GTK_TYPE_BUTTON, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
386         g_signal_new ("expanded", TYPE_ID_CARD_WIDGET, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
387         g_signal_new ("remove_id", TYPE_ID_CARD_WIDGET, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
388         g_signal_new ("details_id", TYPE_ID_CARD_WIDGET, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
389         g_signal_new ("send_id", TYPE_ID_CARD_WIDGET, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
390 }
391
392
393 static void id_card_widget_instance_init (IdCardWidget * self) {
394         self->priv = ID_CARD_WIDGET_GET_PRIVATE (self);
395         self->priv->_id_card = NULL;
396         self->priv->_delete_button = NULL;
397         self->priv->_details_button = NULL;
398         self->priv->_send_button = NULL;
399 }
400
401
402 static void id_card_widget_finalize (GObject* obj) {
403         IdCardWidget * self;
404         self = ID_CARD_WIDGET (obj);
405         _g_object_unref0 (self->priv->_id_card);
406         _g_object_unref0 (self->priv->main_vbox);
407         _g_object_unref0 (self->priv->table);
408         _g_object_unref0 (self->priv->_delete_button);
409         _g_object_unref0 (self->priv->_details_button);
410         _g_object_unref0 (self->priv->_send_button);
411         _g_object_unref0 (self->priv->hbutton_box);
412         _g_object_unref0 (self->priv->event_box);
413         _g_object_unref0 (self->priv->label);
414         G_OBJECT_CLASS (id_card_widget_parent_class)->finalize (obj);
415 }
416
417
418 GType id_card_widget_get_type (void) {
419         static volatile gsize id_card_widget_type_id__volatile = 0;
420         if (g_once_init_enter (&id_card_widget_type_id__volatile)) {
421                 static const GTypeInfo g_define_type_info = { sizeof (IdCardWidgetClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) id_card_widget_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (IdCardWidget), 0, (GInstanceInitFunc) id_card_widget_instance_init, NULL };
422                 GType id_card_widget_type_id;
423                 id_card_widget_type_id = g_type_register_static (GTK_TYPE_BOX, "IdCardWidget", &g_define_type_info, 0);
424                 g_once_init_leave (&id_card_widget_type_id__volatile, id_card_widget_type_id);
425         }
426         return id_card_widget_type_id__volatile;
427 }
428
429
430 static void id_card_widget_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
431         IdCardWidget * self;
432         self = ID_CARD_WIDGET (object);
433         switch (property_id) {
434                 case ID_CARD_WIDGET_ID_CARD:
435                 g_value_set_object (value, id_card_widget_get_id_card (self));
436                 break;
437                 case ID_CARD_WIDGET_DELETE_BUTTON:
438                 g_value_set_object (value, id_card_widget_get_delete_button (self));
439                 break;
440                 case ID_CARD_WIDGET_DETAILS_BUTTON:
441                 g_value_set_object (value, id_card_widget_get_details_button (self));
442                 break;
443                 case ID_CARD_WIDGET_SEND_BUTTON:
444                 g_value_set_object (value, id_card_widget_get_send_button (self));
445                 break;
446                 default:
447                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
448                 break;
449         }
450 }
451
452
453 static void id_card_widget_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
454         IdCardWidget * self;
455         self = ID_CARD_WIDGET (object);
456         switch (property_id) {
457                 case ID_CARD_WIDGET_ID_CARD:
458                 id_card_widget_set_id_card (self, g_value_get_object (value));
459                 break;
460                 case ID_CARD_WIDGET_DELETE_BUTTON:
461                 id_card_widget_set_delete_button (self, g_value_get_object (value));
462                 break;
463                 case ID_CARD_WIDGET_DETAILS_BUTTON:
464                 id_card_widget_set_details_button (self, g_value_get_object (value));
465                 break;
466                 case ID_CARD_WIDGET_SEND_BUTTON:
467                 id_card_widget_set_send_button (self, g_value_get_object (value));
468                 break;
469                 default:
470                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
471                 break;
472         }
473 }
474
475
476
477