コード例 #1
0
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;
        }
}
コード例 #2
0
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);
}
コード例 #3
0
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);
}