예제 #1
0
static void
init_color (char *name, Preference pref)
{
    GtkWidget *widget;
    char *key;
    GdkColor *color;
    GtkWidget *box;

    box = glade_xml_get_widget (warlock_xml, name);
    widget = warlock_color_button_new ();

    gtk_box_pack_start (GTK_BOX (box), widget, FALSE, TRUE, 0);
    gtk_box_reorder_child (GTK_BOX (box), widget, 0);

    key = preferences_get_key (pref);
    color = preferences_get_color (key);

    warlock_color_button_set_color (WARLOCK_COLOR_BUTTON (widget), color);

    if (color != NULL) {
        g_free (color);
    }

    g_signal_connect (widget, "color-set", G_CALLBACK
                      (on_color_button_color_set), GINT_TO_POINTER (pref));
    g_free (key);
    gtk_widget_show (widget);
}
예제 #2
0
static void
warlock_color_button_color_changed (GtkColorButton *colorbutton,
                WarlockColorButton *button)
{
        GdkRGBA color;

        gtk_color_button_get_rgba (colorbutton, &color);
        warlock_color_button_set_color (button, &color);

        g_signal_emit (G_OBJECT (button),
                        warlock_color_button_signals[COLOR_SET_SIGNAL], 0);
}