mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +00:00
app, libgimp*: add protocol support for GValues holding a GParamSpec
so we can have PDB introspection procedures for the new plug-in API.
This commit is contained in:
parent
e77382ee75
commit
aa505b43dc
14 changed files with 550 additions and 340 deletions
|
@ -1721,6 +1721,13 @@ _gp_params_read (GIOChannel *channel,
|
|||
else
|
||||
(*params)[i].data.d_parasite.data = NULL;
|
||||
break;
|
||||
|
||||
case GP_PARAM_TYPE_PARAM_DEF:
|
||||
if (! _gp_param_def_read (channel,
|
||||
&(*params)[i].data.d_param_def,
|
||||
user_data))
|
||||
goto cleanup;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1833,6 +1840,13 @@ _gp_params_write (GIOChannel *channel,
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case GP_PARAM_TYPE_PARAM_DEF:
|
||||
if (! _gp_param_def_write (channel,
|
||||
¶ms[i].data.d_param_def,
|
||||
user_data))
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1883,6 +1897,10 @@ _gp_params_destroy (GPParam *params,
|
|||
if (params[i].data.d_parasite.data)
|
||||
g_free (params[i].data.d_parasite.data);
|
||||
break;
|
||||
|
||||
case GP_PARAM_TYPE_PARAM_DEF:
|
||||
_gp_param_def_destroy (¶ms[i].data.d_param_def);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -67,7 +67,8 @@ typedef enum
|
|||
GP_PARAM_TYPE_COLOR,
|
||||
GP_PARAM_TYPE_PARASITE,
|
||||
GP_PARAM_TYPE_ARRAY,
|
||||
GP_PARAM_TYPE_STRING_ARRAY
|
||||
GP_PARAM_TYPE_STRING_ARRAY,
|
||||
GP_PARAM_TYPE_PARAM_DEF
|
||||
} GPParamType;
|
||||
|
||||
|
||||
|
@ -236,6 +237,7 @@ struct _GPParam
|
|||
GimpParasite d_parasite;
|
||||
GPParamArray d_array;
|
||||
GPParamStringArray d_string_array;
|
||||
GPParamDef d_param_def;
|
||||
} data;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue