libgimpwidgets: several GimpColorSelector cleanups / changes

- make RED the default channel and reorder RGB before LCH/HSV
- use more of the new getters
- also use more of the previously existing setters
This commit is contained in:
Michael Natterer 2017-12-31 19:04:17 +01:00
parent 37a6620006
commit 1e99b12aba
5 changed files with 41 additions and 41 deletions

View File

@ -331,7 +331,7 @@ gimp_color_notebook_switch_page (GtkNotebook *gtk_notebook,
&selector->rgb,
&selector->hsv);
gimp_color_selector_set_channel (notebook->cur_page,
selector->channel);
gimp_color_selector_get_channel (selector));
g_signal_handlers_unblock_by_func (notebook->cur_page,
gimp_color_notebook_color_changed,
@ -362,9 +362,7 @@ gimp_color_notebook_channel_changed (GimpColorSelector *page,
{
GimpColorSelector *selector = GIMP_COLOR_SELECTOR (notebook);
selector->channel = channel;
gimp_color_selector_channel_changed (selector);
gimp_color_selector_set_channel (selector, channel);
}
static GtkWidget *
@ -382,7 +380,7 @@ gimp_color_notebook_add_page (GimpColorNotebook *notebook,
page = gimp_color_selector_new (page_type,
&selector->rgb,
&selector->hsv,
selector->channel);
gimp_color_selector_get_channel (selector));
if (! page)
return NULL;

View File

@ -278,6 +278,10 @@ create_group (GimpColorScales *scales,
*radio_group =
gtk_radio_button_get_group (GTK_RADIO_BUTTON (scales->toggles[i]));
if (enum_value == gimp_color_selector_get_channel (selector))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (scales->toggles[i]),
TRUE);
if (is_u8)
{
/* bind the RGB U8 toggles to the RGB percent toggles */
@ -298,7 +302,7 @@ create_group (GimpColorScales *scales,
0, 1, row, row + 1,
GTK_SHRINK, GTK_EXPAND, 0, 0);
if (selector->toggles_visible)
if (gimp_color_selector_get_toggles_visible (selector))
gtk_widget_show (scales->toggles[i]);
gimp_help_set_help_data (scales->toggles[i],
@ -382,20 +386,6 @@ gimp_color_scales_init (GimpColorScales *scales)
size_group1 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
size_group2 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
scales->lch_group =
table = create_group (scales, &group,
size_group0, size_group1, size_group2,
GIMP_COLOR_SELECTOR_LCH_LIGHTNESS,
GIMP_COLOR_SELECTOR_LCH_HUE);
gtk_box_pack_start (GTK_BOX (scales), table, FALSE, FALSE, 0);
scales->hsv_group =
table = create_group (scales, &group,
size_group0, size_group1, size_group2,
GIMP_COLOR_SELECTOR_HUE,
GIMP_COLOR_SELECTOR_VALUE);
gtk_box_pack_start (GTK_BOX (scales), table, FALSE, FALSE, 0);
scales->rgb_percent_group =
table = create_group (scales, &group,
size_group0, size_group1, size_group2,
@ -410,6 +400,20 @@ gimp_color_scales_init (GimpColorScales *scales)
GIMP_COLOR_SELECTOR_BLUE_U8);
gtk_box_pack_start (GTK_BOX (scales), table, FALSE, FALSE, 0);
scales->lch_group =
table = create_group (scales, &group,
size_group0, size_group1, size_group2,
GIMP_COLOR_SELECTOR_LCH_LIGHTNESS,
GIMP_COLOR_SELECTOR_LCH_HUE);
gtk_box_pack_start (GTK_BOX (scales), table, FALSE, FALSE, 0);
scales->hsv_group =
table = create_group (scales, &group,
size_group0, size_group1, size_group2,
GIMP_COLOR_SELECTOR_HUE,
GIMP_COLOR_SELECTOR_VALUE);
gtk_box_pack_start (GTK_BOX (scales), table, FALSE, FALSE, 0);
scales->alpha_percent_group =
table = create_group (scales, &group,
size_group0, size_group1, size_group2,
@ -432,9 +436,9 @@ gimp_color_scales_init (GimpColorScales *scales)
group = NULL;
radio1 = gtk_radio_button_new_with_label (NULL, _("LCH"));
radio1 = gtk_radio_button_new_with_label (NULL, _("0..100"));
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio1));
radio2 = gtk_radio_button_new_with_label (group, _("HSV"));
radio2 = gtk_radio_button_new_with_label (group, _("0..255"));
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radio1), FALSE);
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radio2), FALSE);
@ -445,19 +449,19 @@ gimp_color_scales_init (GimpColorScales *scales)
gtk_widget_show (radio1);
gtk_widget_show (radio2);
if (scales->show_hsv)
if (scales->show_rgb_u8)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio2), TRUE);
g_object_bind_property (G_OBJECT (radio2), "active",
G_OBJECT (scales), "show-hsv",
G_OBJECT (scales), "show-rgb-u8",
G_BINDING_SYNC_CREATE |
G_BINDING_BIDIRECTIONAL);
group = NULL;
radio1 = gtk_radio_button_new_with_label (NULL, _("0..100"));
radio1 = gtk_radio_button_new_with_label (NULL, _("LCH"));
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio1));
radio2 = gtk_radio_button_new_with_label (group, _("0..255"));
radio2 = gtk_radio_button_new_with_label (group, _("HSV"));
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radio1), FALSE);
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radio2), FALSE);
@ -468,11 +472,11 @@ gimp_color_scales_init (GimpColorScales *scales)
gtk_widget_show (radio1);
gtk_widget_show (radio2);
if (scales->show_rgb_u8)
if (scales->show_hsv)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio2), TRUE);
g_object_bind_property (G_OBJECT (radio2), "active",
G_OBJECT (scales), "show-rgb-u8",
G_OBJECT (scales), "show-hsv",
G_BINDING_SYNC_CREATE |
G_BINDING_BIDIRECTIONAL);
}
@ -690,6 +694,9 @@ static void
gimp_color_scales_update_visible (GimpColorScales *scales)
{
GimpColorSelector *selector = GIMP_COLOR_SELECTOR (scales);
gboolean show_alpha;
show_alpha = gimp_color_selector_get_show_alpha (selector);
gtk_widget_set_visible (scales->lch_group, ! scales->show_hsv);
gtk_widget_set_visible (scales->hsv_group, scales->show_hsv);
@ -698,9 +705,9 @@ gimp_color_scales_update_visible (GimpColorScales *scales)
gtk_widget_set_visible (scales->rgb_u8_group, scales->show_rgb_u8);
gtk_widget_set_visible (scales->alpha_percent_group,
selector->show_alpha && ! scales->show_rgb_u8);
show_alpha && ! scales->show_rgb_u8);
gtk_widget_set_visible (scales->alpha_u8_group,
selector->show_alpha && scales->show_rgb_u8);
show_alpha && scales->show_rgb_u8);
}
static void
@ -766,7 +773,7 @@ gimp_color_scales_toggle_changed (GtkWidget *widget,
{
if (widget == scales->toggles[i])
{
selector->channel = (GimpColorSelectorChannel) i;
gimp_color_selector_set_channel (selector, i);
if (i < GIMP_COLOR_SELECTOR_RED ||
i > GIMP_COLOR_SELECTOR_BLUE)
@ -778,8 +785,6 @@ gimp_color_scales_toggle_changed (GtkWidget *widget,
break;
}
}
gimp_color_selector_channel_changed (selector);
}
}

View File

@ -441,7 +441,7 @@ gimp_color_select_init (GimpColorSelect *select)
g_object_set_data (G_OBJECT (button), "channel",
GINT_TO_POINTER (channel));
if (channel == selector->channel)
if (channel == gimp_color_selector_get_channel (selector))
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
gimp_help_set_help_data (button, gettext (enum_desc->value_help), NULL);
@ -608,10 +608,7 @@ gimp_color_select_channel_toggled (GtkWidget *widget,
channel = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
"channel"));
selector->channel = channel;
gimp_color_select_set_channel (selector, channel);
gimp_color_selector_channel_changed (selector);
gimp_color_selector_set_channel (selector, channel);
}
}

View File

@ -169,7 +169,7 @@ gimp_color_selection_init (GimpColorSelection *selection)
gimp_rgba_set (&selection->rgb, 0.0, 0.0, 0.0, 1.0);
gimp_rgb_to_hsv (&selection->rgb, &selection->hsv);
selection->channel = GIMP_COLOR_SELECTOR_HUE;
selection->channel = GIMP_COLOR_SELECTOR_RED;
main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
gtk_box_pack_start (GTK_BOX (selection), main_hbox, TRUE, TRUE, 0);

View File

@ -122,7 +122,7 @@ gimp_color_selector_init (GimpColorSelector *selector)
gimp_rgba_set (&selector->rgb, 0.0, 0.0, 0.0, 1.0);
gimp_rgb_to_hsv (&selector->rgb, &selector->hsv);
selector->channel = GIMP_COLOR_SELECTOR_HUE;
selector->channel = GIMP_COLOR_SELECTOR_RED;
}
static void
@ -410,7 +410,7 @@ GimpColorSelectorChannel
gimp_color_selector_get_channel (GimpColorSelector *selector)
{
g_return_val_if_fail (GIMP_IS_COLOR_SELECTOR (selector),
GIMP_COLOR_SELECTOR_HUE);
GIMP_COLOR_SELECTOR_RED);
return selector->channel;
}