added a new widget constructor gimp_prop_opacity_entry_new() which is a
2003-02-19 Sven Neumann <sven@gimp.org> * app/widgets/gimppropwidgets.[ch]: added a new widget constructor gimp_prop_opacity_entry_new() which is a scale entry with a display factor of 100.0. * app/tools/paint_options.c: use the new opacity scale for opacity controls.
This commit is contained in:

committed by
Sven Neumann

parent
daf8bc5226
commit
ec825cba0c
@ -1,3 +1,12 @@
|
|||||||
|
2003-02-19 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
|
* app/widgets/gimppropwidgets.[ch]: added a new widget constructor
|
||||||
|
gimp_prop_opacity_entry_new() which is a scale entry with a display
|
||||||
|
factor of 100.0.
|
||||||
|
|
||||||
|
* app/tools/paint_options.c: use the new opacity scale for opacity
|
||||||
|
controls.
|
||||||
|
|
||||||
2003-02-19 Sven Neumann <sven@gimp.org>
|
2003-02-19 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
* plug-ins/common/uniteditor.c: fixed typo.
|
* plug-ins/common/uniteditor.c: fixed typo.
|
||||||
|
@ -96,11 +96,9 @@ gimp_paint_options_gui (GimpToolOptions *tool_options)
|
|||||||
gtk_widget_show (table);
|
gtk_widget_show (table);
|
||||||
|
|
||||||
/* the opacity scale */
|
/* the opacity scale */
|
||||||
gimp_prop_scale_entry_new (config, "opacity",
|
gimp_prop_opacity_entry_new (config, "opacity",
|
||||||
GTK_TABLE (table), 0, 0,
|
GTK_TABLE (table), 0, 0,
|
||||||
_("Opacity:"),
|
_("Opacity:"));
|
||||||
1.0, 10.0, 1,
|
|
||||||
FALSE, 0.0, 0.0);
|
|
||||||
|
|
||||||
/* the paint mode menu */
|
/* the paint mode menu */
|
||||||
optionmenu = gimp_prop_paint_mode_menu_new (config, "paint-mode", TRUE);
|
optionmenu = gimp_prop_paint_mode_menu_new (config, "paint-mode", TRUE);
|
||||||
|
@ -96,11 +96,9 @@ gimp_paint_options_gui (GimpToolOptions *tool_options)
|
|||||||
gtk_widget_show (table);
|
gtk_widget_show (table);
|
||||||
|
|
||||||
/* the opacity scale */
|
/* the opacity scale */
|
||||||
gimp_prop_scale_entry_new (config, "opacity",
|
gimp_prop_opacity_entry_new (config, "opacity",
|
||||||
GTK_TABLE (table), 0, 0,
|
GTK_TABLE (table), 0, 0,
|
||||||
_("Opacity:"),
|
_("Opacity:"));
|
||||||
1.0, 10.0, 1,
|
|
||||||
FALSE, 0.0, 0.0);
|
|
||||||
|
|
||||||
/* the paint mode menu */
|
/* the paint mode menu */
|
||||||
optionmenu = gimp_prop_paint_mode_menu_new (config, "paint-mode", TRUE);
|
optionmenu = gimp_prop_paint_mode_menu_new (config, "paint-mode", TRUE);
|
||||||
|
@ -725,6 +725,58 @@ gimp_prop_scale_entry_new (GObject *config,
|
|||||||
return adjustment;
|
return adjustment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GtkObject *
|
||||||
|
gimp_prop_opacity_entry_new (GObject *config,
|
||||||
|
const gchar *property_name,
|
||||||
|
GtkTable *table,
|
||||||
|
gint column,
|
||||||
|
gint row,
|
||||||
|
const gchar *label)
|
||||||
|
{
|
||||||
|
GParamSpec *param_spec;
|
||||||
|
GtkObject *adjustment;
|
||||||
|
const gchar *tooltip;
|
||||||
|
gdouble lower;
|
||||||
|
gdouble upper;
|
||||||
|
gdouble value;
|
||||||
|
|
||||||
|
param_spec = check_param_spec (config, property_name,
|
||||||
|
G_TYPE_PARAM_DOUBLE, G_STRLOC);
|
||||||
|
if (! param_spec)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
g_object_get (config, property_name, &value, NULL);
|
||||||
|
|
||||||
|
tooltip = gettext (g_param_spec_get_blurb (param_spec));
|
||||||
|
|
||||||
|
value *= 100.0;
|
||||||
|
lower = G_PARAM_SPEC_DOUBLE (param_spec)->minimum * 100.0;
|
||||||
|
upper = G_PARAM_SPEC_DOUBLE (param_spec)->maximum * 100.0;
|
||||||
|
|
||||||
|
adjustment = gimp_scale_entry_new (table, column, row,
|
||||||
|
label, -1, -1,
|
||||||
|
value, lower, upper,
|
||||||
|
1.0, 10.0, 1,
|
||||||
|
TRUE, 0.0, 0.0,
|
||||||
|
tooltip,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
set_param_spec (G_OBJECT (adjustment), NULL, param_spec);
|
||||||
|
g_object_set_data (G_OBJECT (adjustment),
|
||||||
|
"opacity-scale", GINT_TO_POINTER (TRUE));
|
||||||
|
|
||||||
|
g_signal_connect (adjustment, "value_changed",
|
||||||
|
G_CALLBACK (gimp_prop_adjustment_callback),
|
||||||
|
config);
|
||||||
|
|
||||||
|
connect_notify (config, property_name,
|
||||||
|
G_CALLBACK (gimp_prop_adjustment_notify),
|
||||||
|
adjustment);
|
||||||
|
|
||||||
|
return adjustment;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gimp_prop_adjustment_callback (GtkAdjustment *adjustment,
|
gimp_prop_adjustment_callback (GtkAdjustment *adjustment,
|
||||||
GObject *config)
|
GObject *config)
|
||||||
@ -737,33 +789,31 @@ gimp_prop_adjustment_callback (GtkAdjustment *adjustment,
|
|||||||
|
|
||||||
if (G_IS_PARAM_SPEC_INT (param_spec))
|
if (G_IS_PARAM_SPEC_INT (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, (gint) adjustment->value, NULL);
|
||||||
param_spec->name, (gint) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_UINT (param_spec))
|
else if (G_IS_PARAM_SPEC_UINT (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, (guint) adjustment->value, NULL);
|
||||||
param_spec->name, (guint) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_LONG (param_spec))
|
else if (G_IS_PARAM_SPEC_LONG (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, (glong) adjustment->value, NULL);
|
||||||
param_spec->name, (glong) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_ULONG (param_spec))
|
else if (G_IS_PARAM_SPEC_ULONG (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, adjustment->value, NULL);
|
||||||
param_spec->name, (gulong) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
gdouble value;
|
||||||
param_spec->name, adjustment->value,
|
|
||||||
NULL);
|
if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (adjustment),
|
||||||
|
"opacity-scale")))
|
||||||
|
value = adjustment->value / 100.0;
|
||||||
|
else
|
||||||
|
value = adjustment->value;
|
||||||
|
|
||||||
|
g_object_set (config, param_spec->name, value, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -778,9 +828,7 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
gint int_value;
|
gint int_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &int_value, NULL);
|
||||||
param_spec->name, &int_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = int_value;
|
value = int_value;
|
||||||
}
|
}
|
||||||
@ -788,9 +836,7 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
guint uint_value;
|
guint uint_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &uint_value, NULL);
|
||||||
param_spec->name, &uint_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = uint_value;
|
value = uint_value;
|
||||||
}
|
}
|
||||||
@ -798,9 +844,7 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
glong long_value;
|
glong long_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &long_value, NULL);
|
||||||
param_spec->name, &long_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = long_value;
|
value = long_value;
|
||||||
}
|
}
|
||||||
@ -808,17 +852,17 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
gulong ulong_value;
|
gulong ulong_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &ulong_value, NULL);
|
||||||
param_spec->name, &ulong_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = ulong_value;
|
value = ulong_value;
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
||||||
{
|
{
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &value, NULL);
|
||||||
param_spec->name, &value,
|
|
||||||
NULL);
|
if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (adjustment),
|
||||||
|
"opacity-scale")))
|
||||||
|
value *= 100.0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -82,6 +82,15 @@ GtkObject * gimp_prop_scale_entry_new (GObject *config,
|
|||||||
gdouble restricted_lower,
|
gdouble restricted_lower,
|
||||||
gdouble restricted_upper);
|
gdouble restricted_upper);
|
||||||
|
|
||||||
|
/* special form of gimp_prop_scale_entry_new() for GParamDouble */
|
||||||
|
|
||||||
|
GtkObject * gimp_prop_opacity_entry_new (GObject *config,
|
||||||
|
const gchar *property_name,
|
||||||
|
GtkTable *table,
|
||||||
|
gint column,
|
||||||
|
gint row,
|
||||||
|
const gchar *label);
|
||||||
|
|
||||||
|
|
||||||
/* GimpParamMemsize */
|
/* GimpParamMemsize */
|
||||||
|
|
||||||
|
@ -725,6 +725,58 @@ gimp_prop_scale_entry_new (GObject *config,
|
|||||||
return adjustment;
|
return adjustment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GtkObject *
|
||||||
|
gimp_prop_opacity_entry_new (GObject *config,
|
||||||
|
const gchar *property_name,
|
||||||
|
GtkTable *table,
|
||||||
|
gint column,
|
||||||
|
gint row,
|
||||||
|
const gchar *label)
|
||||||
|
{
|
||||||
|
GParamSpec *param_spec;
|
||||||
|
GtkObject *adjustment;
|
||||||
|
const gchar *tooltip;
|
||||||
|
gdouble lower;
|
||||||
|
gdouble upper;
|
||||||
|
gdouble value;
|
||||||
|
|
||||||
|
param_spec = check_param_spec (config, property_name,
|
||||||
|
G_TYPE_PARAM_DOUBLE, G_STRLOC);
|
||||||
|
if (! param_spec)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
g_object_get (config, property_name, &value, NULL);
|
||||||
|
|
||||||
|
tooltip = gettext (g_param_spec_get_blurb (param_spec));
|
||||||
|
|
||||||
|
value *= 100.0;
|
||||||
|
lower = G_PARAM_SPEC_DOUBLE (param_spec)->minimum * 100.0;
|
||||||
|
upper = G_PARAM_SPEC_DOUBLE (param_spec)->maximum * 100.0;
|
||||||
|
|
||||||
|
adjustment = gimp_scale_entry_new (table, column, row,
|
||||||
|
label, -1, -1,
|
||||||
|
value, lower, upper,
|
||||||
|
1.0, 10.0, 1,
|
||||||
|
TRUE, 0.0, 0.0,
|
||||||
|
tooltip,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
set_param_spec (G_OBJECT (adjustment), NULL, param_spec);
|
||||||
|
g_object_set_data (G_OBJECT (adjustment),
|
||||||
|
"opacity-scale", GINT_TO_POINTER (TRUE));
|
||||||
|
|
||||||
|
g_signal_connect (adjustment, "value_changed",
|
||||||
|
G_CALLBACK (gimp_prop_adjustment_callback),
|
||||||
|
config);
|
||||||
|
|
||||||
|
connect_notify (config, property_name,
|
||||||
|
G_CALLBACK (gimp_prop_adjustment_notify),
|
||||||
|
adjustment);
|
||||||
|
|
||||||
|
return adjustment;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gimp_prop_adjustment_callback (GtkAdjustment *adjustment,
|
gimp_prop_adjustment_callback (GtkAdjustment *adjustment,
|
||||||
GObject *config)
|
GObject *config)
|
||||||
@ -737,33 +789,31 @@ gimp_prop_adjustment_callback (GtkAdjustment *adjustment,
|
|||||||
|
|
||||||
if (G_IS_PARAM_SPEC_INT (param_spec))
|
if (G_IS_PARAM_SPEC_INT (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, (gint) adjustment->value, NULL);
|
||||||
param_spec->name, (gint) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_UINT (param_spec))
|
else if (G_IS_PARAM_SPEC_UINT (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, (guint) adjustment->value, NULL);
|
||||||
param_spec->name, (guint) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_LONG (param_spec))
|
else if (G_IS_PARAM_SPEC_LONG (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, (glong) adjustment->value, NULL);
|
||||||
param_spec->name, (glong) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_ULONG (param_spec))
|
else if (G_IS_PARAM_SPEC_ULONG (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
g_object_set (config, param_spec->name, adjustment->value, NULL);
|
||||||
param_spec->name, (gulong) adjustment->value,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
||||||
{
|
{
|
||||||
g_object_set (config,
|
gdouble value;
|
||||||
param_spec->name, adjustment->value,
|
|
||||||
NULL);
|
if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (adjustment),
|
||||||
|
"opacity-scale")))
|
||||||
|
value = adjustment->value / 100.0;
|
||||||
|
else
|
||||||
|
value = adjustment->value;
|
||||||
|
|
||||||
|
g_object_set (config, param_spec->name, value, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -778,9 +828,7 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
gint int_value;
|
gint int_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &int_value, NULL);
|
||||||
param_spec->name, &int_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = int_value;
|
value = int_value;
|
||||||
}
|
}
|
||||||
@ -788,9 +836,7 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
guint uint_value;
|
guint uint_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &uint_value, NULL);
|
||||||
param_spec->name, &uint_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = uint_value;
|
value = uint_value;
|
||||||
}
|
}
|
||||||
@ -798,9 +844,7 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
glong long_value;
|
glong long_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &long_value, NULL);
|
||||||
param_spec->name, &long_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = long_value;
|
value = long_value;
|
||||||
}
|
}
|
||||||
@ -808,17 +852,17 @@ gimp_prop_adjustment_notify (GObject *config,
|
|||||||
{
|
{
|
||||||
gulong ulong_value;
|
gulong ulong_value;
|
||||||
|
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &ulong_value, NULL);
|
||||||
param_spec->name, &ulong_value,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
value = ulong_value;
|
value = ulong_value;
|
||||||
}
|
}
|
||||||
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
else if (G_IS_PARAM_SPEC_DOUBLE (param_spec))
|
||||||
{
|
{
|
||||||
g_object_get (config,
|
g_object_get (config, param_spec->name, &value, NULL);
|
||||||
param_spec->name, &value,
|
|
||||||
NULL);
|
if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (adjustment),
|
||||||
|
"opacity-scale")))
|
||||||
|
value *= 100.0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -82,6 +82,15 @@ GtkObject * gimp_prop_scale_entry_new (GObject *config,
|
|||||||
gdouble restricted_lower,
|
gdouble restricted_lower,
|
||||||
gdouble restricted_upper);
|
gdouble restricted_upper);
|
||||||
|
|
||||||
|
/* special form of gimp_prop_scale_entry_new() for GParamDouble */
|
||||||
|
|
||||||
|
GtkObject * gimp_prop_opacity_entry_new (GObject *config,
|
||||||
|
const gchar *property_name,
|
||||||
|
GtkTable *table,
|
||||||
|
gint column,
|
||||||
|
gint row,
|
||||||
|
const gchar *label);
|
||||||
|
|
||||||
|
|
||||||
/* GimpParamMemsize */
|
/* GimpParamMemsize */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user