static void gvc_combo_box_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GvcComboBox *self = GVC_COMBO_BOX (object); switch (prop_id) { case PROP_LABEL: g_value_set_string (value, gtk_label_get_text (GTK_LABEL (self->priv->label))); break; case PROP_BUTTON_LABEL: g_value_set_string (value, gtk_button_get_label (GTK_BUTTON (self->priv->button))); break; case PROP_SHOW_BUTTON: g_value_set_boolean (value, gtk_widget_get_visible (self->priv->button)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gvc_combo_box_finalize (GObject *object) { GvcComboBox *combo_box; g_return_if_fail (object != NULL); g_return_if_fail (GVC_IS_COMBO_BOX (object)); combo_box = GVC_COMBO_BOX (object); g_return_if_fail (combo_box->priv != NULL); g_object_unref (combo_box->priv->model); combo_box->priv->model = NULL; G_OBJECT_CLASS (gvc_combo_box_parent_class)->finalize (object); }
static void gvc_combo_box_dispose (GObject *object) { GvcComboBox *combobox; combobox = GVC_COMBO_BOX (object); if (G_LIKELY (combobox->priv->swtch != NULL)) { g_signal_handlers_disconnect_by_func (G_OBJECT (combobox->priv->swtch), G_CALLBACK (on_switch_active_option_notify), combobox); g_clear_object (&combobox->priv->swtch); } g_clear_object (&combobox->priv->model); G_OBJECT_CLASS (gvc_combo_box_parent_class)->dispose (object); }