mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +00:00
libgimp: Create widgets for unsigned integer parameters
gimp_procedure_add_uint_argument () creates an unsigned integer parameter. It's functionally equivalent for creating dialogue widgets, but since we only checked for G_TYPE_PARAM_INT, these parameters did not generate widgets in GimpProcedureDialog. This patch adds a check for G_TYPE_PARAM_UINT in relevant sections to resolve the issue.
This commit is contained in:
parent
03366ae77c
commit
0d08a3c532
1 changed files with 24 additions and 6 deletions
|
@ -638,7 +638,7 @@ gimp_procedure_dialog_set_ok_label (GimpProcedureDialog *dialog,
|
||||||
* - %G_TYPE_PARAM_BOOLEAN:
|
* - %G_TYPE_PARAM_BOOLEAN:
|
||||||
* * %GTK_TYPE_CHECK_BUTTON (default)
|
* * %GTK_TYPE_CHECK_BUTTON (default)
|
||||||
* * %GTK_TYPE_SWITCH
|
* * %GTK_TYPE_SWITCH
|
||||||
* - %G_TYPE_PARAM_INT or %G_TYPE_PARAM_DOUBLE:
|
* - %G_TYPE_PARAM_INT, %G_TYPE_PARAM_UINT, or %G_TYPE_PARAM_DOUBLE:
|
||||||
* * %GIMP_TYPE_LABEL_SPIN (default): a spin button with a label.
|
* * %GIMP_TYPE_LABEL_SPIN (default): a spin button with a label.
|
||||||
* * %GIMP_TYPE_SCALE_ENTRY: a scale entry with label.
|
* * %GIMP_TYPE_SCALE_ENTRY: a scale entry with label.
|
||||||
* * %GIMP_TYPE_SPIN_SCALE: a spin scale with label embedded.
|
* * %GIMP_TYPE_SPIN_SCALE: a spin scale with label embedded.
|
||||||
|
@ -720,7 +720,8 @@ gimp_procedure_dialog_get_widget (GimpProcedureDialog *dialog,
|
||||||
g_param_spec_get_nick (pspec),
|
g_param_spec_get_nick (pspec),
|
||||||
&label, NULL);
|
&label, NULL);
|
||||||
}
|
}
|
||||||
else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT ||
|
else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT ||
|
||||||
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT ||
|
||||||
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE)
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE)
|
||||||
{
|
{
|
||||||
gdouble minimum;
|
gdouble minimum;
|
||||||
|
@ -736,6 +737,13 @@ gimp_procedure_dialog_get_widget (GimpProcedureDialog *dialog,
|
||||||
minimum = (gdouble) pspecint->minimum;
|
minimum = (gdouble) pspecint->minimum;
|
||||||
maximum = (gdouble) pspecint->maximum;
|
maximum = (gdouble) pspecint->maximum;
|
||||||
}
|
}
|
||||||
|
else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT)
|
||||||
|
{
|
||||||
|
GParamSpecUInt *pspecuint = (GParamSpecUInt *) pspec;
|
||||||
|
|
||||||
|
minimum = (gdouble) pspecuint->minimum;
|
||||||
|
maximum = (gdouble) pspecuint->maximum;
|
||||||
|
}
|
||||||
else /* G_TYPE_PARAM_DOUBLE */
|
else /* G_TYPE_PARAM_DOUBLE */
|
||||||
{
|
{
|
||||||
GParamSpecDouble *pspecdouble = (GParamSpecDouble *) pspec;
|
GParamSpecDouble *pspecdouble = (GParamSpecDouble *) pspec;
|
||||||
|
@ -1302,8 +1310,9 @@ gimp_procedure_dialog_get_spin_scale (GimpProcedureDialog *dialog,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE ||
|
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE ||
|
||||||
(G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT &&
|
((G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT ||
|
||||||
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT) &&
|
||||||
factor == 1.0), NULL);
|
factor == 1.0), NULL);
|
||||||
|
|
||||||
/* First check if it already exists. */
|
/* First check if it already exists. */
|
||||||
|
@ -1319,6 +1328,13 @@ gimp_procedure_dialog_get_spin_scale (GimpProcedureDialog *dialog,
|
||||||
minimum = (gdouble) pspecint->minimum;
|
minimum = (gdouble) pspecint->minimum;
|
||||||
maximum = (gdouble) pspecint->maximum;
|
maximum = (gdouble) pspecint->maximum;
|
||||||
}
|
}
|
||||||
|
if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT)
|
||||||
|
{
|
||||||
|
GParamSpecUInt *pspecuint = (GParamSpecUInt *) pspec;
|
||||||
|
|
||||||
|
minimum = (gdouble) pspecuint->minimum;
|
||||||
|
maximum = (gdouble) pspecuint->maximum;
|
||||||
|
}
|
||||||
else /* G_TYPE_PARAM_DOUBLE */
|
else /* G_TYPE_PARAM_DOUBLE */
|
||||||
{
|
{
|
||||||
GParamSpecDouble *pspecdouble = (GParamSpecDouble *) pspec;
|
GParamSpecDouble *pspecdouble = (GParamSpecDouble *) pspec;
|
||||||
|
@ -1385,7 +1401,8 @@ gimp_procedure_dialog_get_scale_entry (GimpProcedureDialog *dialog,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT ||
|
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT ||
|
||||||
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT ||
|
||||||
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE, NULL);
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE, NULL);
|
||||||
|
|
||||||
/* First check if it already exists. */
|
/* First check if it already exists. */
|
||||||
|
@ -1475,7 +1492,8 @@ gimp_procedure_dialog_get_size_entry (GimpProcedureDialog *dialog,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT ||
|
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT ||
|
||||||
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT ||
|
||||||
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE, NULL);
|
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE, NULL);
|
||||||
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec_unit) == GIMP_TYPE_PARAM_UNIT, NULL);
|
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec_unit) == GIMP_TYPE_PARAM_UNIT, NULL);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue