gimp r27950 - in trunk: . app/pdb
- From: martinn svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r27950 - in trunk: . app/pdb
- Date: Sun, 25 Jan 2009 20:06:09 +0000 (UTC)
Author: martinn
Date: Sun Jan 25 20:06:09 2009
New Revision: 27950
URL: http://svn.gnome.org/viewvc/gimp?rev=27950&view=rev
Log:
* app/pdb/gimpprocedure.[ch] (gimp_procedure_create_override): New
helper function that creates a new GimpProcedure that can be used
to override an existing procedure.
Modified:
trunk/ChangeLog
trunk/app/pdb/gimpprocedure.c
trunk/app/pdb/gimpprocedure.h
Modified: trunk/app/pdb/gimpprocedure.c
==============================================================================
--- trunk/app/pdb/gimpprocedure.c (original)
+++ trunk/app/pdb/gimpprocedure.c Sun Jan 25 20:06:09 2009
@@ -529,6 +529,38 @@
procedure->num_values++;
}
+/**
+ * gimp_procedure_create_override:
+ * @procedure:
+ * @new_marshal_func:
+ *
+ * Creates a new GimpProcedure that can be used to override the
+ * existing @procedure.
+ *
+ * Returns: The new #GimpProcedure.
+ **/
+GimpProcedure *
+gimp_procedure_create_override (GimpProcedure *procedure,
+ GimpMarshalFunc new_marshal_func)
+{
+ GimpProcedure *new_procedure = NULL;
+ const gchar *name = NULL;
+ int i = 0;
+
+ new_procedure = gimp_procedure_new (new_marshal_func);
+ name = gimp_object_get_name (GIMP_OBJECT (procedure));
+
+ gimp_object_set_static_name (GIMP_OBJECT (new_procedure), name);
+
+ for (i = 0; i < procedure->num_args; i++)
+ gimp_procedure_add_argument (new_procedure, procedure->args[i]);
+
+ for (i = 0; i < procedure->num_values; i++)
+ gimp_procedure_add_return_value (new_procedure, procedure->values[i]);
+
+ return new_procedure;
+}
+
/* private functions */
Modified: trunk/app/pdb/gimpprocedure.h
==============================================================================
--- trunk/app/pdb/gimpprocedure.h (original)
+++ trunk/app/pdb/gimpprocedure.h Sun Jan 25 20:06:09 2009
@@ -123,6 +123,9 @@
gboolean success,
const GError *error);
+GimpProcedure * gimp_procedure_create_override (GimpProcedure *procedure,
+ GimpMarshalFunc new_marshal_func);
+
GValueArray * gimp_procedure_execute (GimpProcedure *procedure,
Gimp *gimp,
GimpContext *context,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]