static void gimp_color_notebook_style_set (GtkWidget *widget, GtkStyle *prev_style) { GimpColorNotebook *notebook = GIMP_COLOR_NOTEBOOK (widget); GList *list; gint tab_border; GtkIconSize icon_size; if (GTK_WIDGET_CLASS (parent_class)->style_set) GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style); gtk_widget_style_get (widget, "tab-border", &tab_border, "tab-icon_size", &icon_size, NULL); g_object_set (notebook->notebook, "tab-border", tab_border, NULL); for (list = notebook->selectors; list; list = g_list_next (list)) { GimpColorSelectorClass *selector_class; GtkWidget *image; selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (list->data); image = gtk_image_new_from_stock (selector_class->stock_id, icon_size); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook->notebook), GTK_WIDGET (list->data), image); } }
static GtkWidget * gimp_color_notebook_add_page (GimpColorNotebook *notebook, GType page_type) { GimpColorSelector *selector = GIMP_COLOR_SELECTOR (notebook); GimpColorSelectorClass *selector_class; GtkWidget *page; GtkWidget *menu_widget; GtkWidget *image; GtkWidget *label; page = gimp_color_selector_new (page_type, &selector->rgb, &selector->hsv, selector->channel); if (! page) return NULL; selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (page); gimp_color_selector_set_show_alpha (GIMP_COLOR_SELECTOR (page), GIMP_COLOR_SELECTOR (notebook)->show_alpha); menu_widget = gtk_hbox_new (FALSE, 4); image = gtk_image_new_from_stock (selector_class->stock_id, GTK_ICON_SIZE_MENU); gtk_box_pack_start (GTK_BOX (menu_widget), image, FALSE, FALSE, 0); gtk_widget_show (image); label = gtk_label_new (gettext (selector_class->name)); gtk_box_pack_start (GTK_BOX (menu_widget), label, FALSE, FALSE, 0); gtk_widget_show (label); image = gtk_image_new_from_stock (selector_class->stock_id, DEFAULT_TAB_ICON_SIZE); gtk_notebook_append_page_menu (GTK_NOTEBOOK (notebook->notebook), page, image, menu_widget); if (! notebook->cur_page) notebook->cur_page = GIMP_COLOR_SELECTOR (page); notebook->selectors = g_list_append (notebook->selectors, page); gtk_widget_show (page); g_signal_connect (page, "color-changed", G_CALLBACK (gimp_color_notebook_color_changed), notebook); g_signal_connect (page, "channel-changed", G_CALLBACK (gimp_color_notebook_channel_changed), notebook); return page; }
/** * gimp_color_selector_set_config: * @selector: a #GimpColorSelector widget. * @config: a #GimpColorConfig object. * * Sets the color management configuration to use with this color selector. * * Since: GIMP 2.4 */ void gimp_color_selector_set_config (GimpColorSelector *selector, GimpColorConfig *config) { GimpColorSelectorClass *selector_class; g_return_if_fail (GIMP_IS_COLOR_SELECTOR (selector)); g_return_if_fail (config == NULL || GIMP_IS_COLOR_CONFIG (config)); selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (selector); if (selector_class->set_config) selector_class->set_config (selector, config); }
static void gimp_color_dialog_help_func (const gchar *help_id, gpointer help_data) { GimpColorDialog *dialog = GIMP_COLOR_DIALOG (help_data); GimpColorNotebook *notebook; notebook = GIMP_COLOR_NOTEBOOK (GIMP_COLOR_SELECTION (dialog->selection)->notebook); help_id = GIMP_COLOR_SELECTOR_GET_CLASS (notebook->cur_page)->help_id; gimp_standard_help_func (help_id, NULL); }
static void gimp_color_button_help_func (const gchar *help_id, gpointer help_data) { GimpColorSelection *selection; GimpColorNotebook *notebook; selection = g_object_get_data (G_OBJECT (help_data), COLOR_SELECTION_KEY); notebook = GIMP_COLOR_NOTEBOOK (selection->notebook); help_id = GIMP_COLOR_SELECTOR_GET_CLASS (notebook->cur_page)->help_id; gimp_standard_help_func (help_id, NULL); }
static void gimp_color_selection_switch_page (GtkWidget *widget, gpointer page, guint page_num, GimpColorSelection *selection) { GimpColorNotebook *notebook = GIMP_COLOR_NOTEBOOK (selection->notebook); gboolean sensitive; sensitive = (GIMP_COLOR_SELECTOR_GET_CLASS (notebook->cur_page)->set_channel != NULL); gimp_color_selector_set_toggles_sensitive (GIMP_COLOR_SELECTOR (selection->scales), sensitive); }
void gimp_color_selector_set_show_alpha (GimpColorSelector *selector, gboolean show_alpha) { g_return_if_fail (GIMP_IS_COLOR_SELECTOR (selector)); if (show_alpha != selector->show_alpha) { GimpColorSelectorClass *selector_class; selector->show_alpha = show_alpha ? TRUE : FALSE; selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (selector); if (selector_class->set_show_alpha) selector_class->set_show_alpha (selector, show_alpha); } }
void gimp_color_selector_set_toggles_sensitive (GimpColorSelector *selector, gboolean sensitive) { g_return_if_fail (GIMP_IS_COLOR_SELECTOR (selector)); if (selector->toggles_sensitive != sensitive) { GimpColorSelectorClass *selector_class; selector->toggles_sensitive = sensitive ? TRUE : FALSE; selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (selector); if (selector_class->set_toggles_sensitive) selector_class->set_toggles_sensitive (selector, sensitive); } }
void gimp_color_selector_set_channel (GimpColorSelector *selector, GimpColorSelectorChannel channel) { g_return_if_fail (GIMP_IS_COLOR_SELECTOR (selector)); if (channel != selector->channel) { GimpColorSelectorClass *selector_class; selector->channel = channel; selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (selector); if (selector_class->set_channel) selector_class->set_channel (selector, channel); gimp_color_selector_channel_changed (selector); } }
void gimp_color_selector_set_color (GimpColorSelector *selector, const GimpRGB *rgb, const GimpHSV *hsv) { GimpColorSelectorClass *selector_class; g_return_if_fail (GIMP_IS_COLOR_SELECTOR (selector)); g_return_if_fail (rgb != NULL); g_return_if_fail (hsv != NULL); selector->rgb = *rgb; selector->hsv = *hsv; selector_class = GIMP_COLOR_SELECTOR_GET_CLASS (selector); if (selector_class->set_color) selector_class->set_color (selector, rgb, hsv); gimp_color_selector_color_changed (selector); }