69
gedit_tab_label_class_init (GeditTabLabelClass *klass)
71
GObjectClass *object_class = G_OBJECT_CLASS (klass);
73
object_class->finalize = gedit_tab_label_finalize;
75
signals[CLOSE_CLICKED] =
76
g_signal_new ("close-clicked",
77
G_OBJECT_CLASS_TYPE (object_class),
79
G_STRUCT_OFFSET (GeditTabLabelClass, close_clicked),
81
g_cclosure_marshal_VOID__VOID,
85
g_type_class_add_private (object_class, sizeof(GeditTabLabelPrivate));
75
gedit_tab_label_set_property (GObject *object,
80
GeditTabLabel *tab_label = GEDIT_TAB_LABEL (object);
85
tab_label->priv->tab = GEDIT_TAB (g_value_get_object (value));
89
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
95
gedit_tab_label_get_property (GObject *object,
100
GeditTabLabel *tab_label = GEDIT_TAB_LABEL (object);
105
g_value_set_object (value, tab_label->priv->tab);
109
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
203
gedit_tab_label_constructed (GObject *object)
205
GeditTabLabel *tab_label = GEDIT_TAB_LABEL (object);
207
if (!tab_label->priv->tab)
209
g_critical ("The tab label was not properly constructed");
213
sync_name (tab_label->priv->tab, NULL, tab_label);
214
sync_state (tab_label->priv->tab, NULL, tab_label);
216
g_signal_connect_object (tab_label->priv->tab,
218
G_CALLBACK (sync_name),
222
g_signal_connect_object (tab_label->priv->tab,
224
G_CALLBACK (sync_state),
230
gedit_tab_label_class_init (GeditTabLabelClass *klass)
232
GObjectClass *object_class = G_OBJECT_CLASS (klass);
234
object_class->finalize = gedit_tab_label_finalize;
235
object_class->set_property = gedit_tab_label_set_property;
236
object_class->get_property = gedit_tab_label_get_property;
237
object_class->constructed = gedit_tab_label_constructed;
239
signals[CLOSE_CLICKED] =
240
g_signal_new ("close-clicked",
241
G_OBJECT_CLASS_TYPE (object_class),
243
G_STRUCT_OFFSET (GeditTabLabelClass, close_clicked),
245
g_cclosure_marshal_VOID__VOID,
249
g_object_class_install_property (object_class,
251
g_param_spec_object ("tab",
256
G_PARAM_CONSTRUCT_ONLY));
258
g_type_class_add_private (object_class, sizeof(GeditTabLabelPrivate));
177
262
gedit_tab_label_init (GeditTabLabel *tab_label)
280
365
tab_label = g_object_new (GEDIT_TYPE_TAB_LABEL,
281
366
"homogeneous", FALSE,
284
/* FIXME: should turn tab in a property */
285
tab_label->priv->tab = tab;
287
sync_name (tab, NULL, tab_label);
288
sync_state (tab, NULL, tab_label);
290
g_signal_connect_object (tab,
292
G_CALLBACK (sync_name),
295
g_signal_connect_object (tab,
297
G_CALLBACK (sync_state),
301
370
return GTK_WIDGET (tab_label);