mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 09:23:24 +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:
|
||||
* * %GTK_TYPE_CHECK_BUTTON (default)
|
||||
* * %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_SCALE_ENTRY: a scale entry with label.
|
||||
* * %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),
|
||||
&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)
|
||||
{
|
||||
gdouble minimum;
|
||||
|
@ -736,6 +737,13 @@ gimp_procedure_dialog_get_widget (GimpProcedureDialog *dialog,
|
|||
minimum = (gdouble) pspecint->minimum;
|
||||
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 */
|
||||
{
|
||||
GParamSpecDouble *pspecdouble = (GParamSpecDouble *) pspec;
|
||||
|
@ -1302,8 +1310,9 @@ gimp_procedure_dialog_get_spin_scale (GimpProcedureDialog *dialog,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE ||
|
||||
(G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT &&
|
||||
g_return_val_if_fail (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE ||
|
||||
((G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT ||
|
||||
G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT) &&
|
||||
factor == 1.0), NULL);
|
||||
|
||||
/* First check if it already exists. */
|
||||
|
@ -1319,6 +1328,13 @@ gimp_procedure_dialog_get_spin_scale (GimpProcedureDialog *dialog,
|
|||
minimum = (gdouble) pspecint->minimum;
|
||||
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 */
|
||||
{
|
||||
GParamSpecDouble *pspecdouble = (GParamSpecDouble *) pspec;
|
||||
|
@ -1385,7 +1401,8 @@ gimp_procedure_dialog_get_scale_entry (GimpProcedureDialog *dialog,
|
|||
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);
|
||||
|
||||
/* First check if it already exists. */
|
||||
|
@ -1475,7 +1492,8 @@ gimp_procedure_dialog_get_size_entry (GimpProcedureDialog *dialog,
|
|||
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_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