### Class

# Gimp Procedure

#### Description

    class Gimp.Procedure : GObject.Object {
      parent_instance: GObject,
      priv: GimpProcedurePrivate*
    }

No description available.

#### Ancestors

- GObject

#### Descendants

- GimpBatchProcedure
- GimpFileProcedure
- GimpImageProcedure
- GimpThumbnailProcedure

#### Constructors

###### gimp_procedure_new

Creates a new procedure named `name` which will call `run_func` when invoked.

Available since: 3.0

#### Instance methods

###### gimp_procedure_add_argument

Add a new argument to `procedure` according to `pspec` specifications. The arguments will be ordered according to the call order to `gimp_procedure_add_argument()` and `gimp_procedure_add_argument_from_property()`.

Available since: 3.0

###### gimp_procedure_add_argument_from_property

Add a new argument to `procedure` according to the specifications of the property `prop_name` registered on `config`.

Available since: 3.0

###### gimp_procedure_add_aux_argument

Add a new auxiliary argument to `procedure` according to `pspec` specifications.

Available since: 3.0

###### gimp_procedure_add_aux_argument_from_property

Add a new auxiliary argument to `procedure` according to the specifications of the property `prop_name` registered on `config`.

Available since: 3.0

###### gimp_procedure_add_menu_path

Adds a menu path to the procedure. Only procedures which have a menu label can add a menu path.

Available since: 3.0

###### gimp_procedure_add_return_value

Add a new return value to `procedure` according to `pspec` specifications.

Available since: 3.0

###### gimp_procedure_add_return_value_from_property

Add a new return value to `procedure` according to the specifications of the property `prop_name` registered on `config`.

Available since: 3.0

###### gimp_procedure_create_config

Create a `GimpConfig` with properties that match `procedure`‘s arguments.

Available since: 3.0

###### gimp_procedure_extension_ready

Notify the main GIMP application that the extension has been properly initialized and is ready to run.

Available since: 3.0

###### gimp_procedure_find_argument

Searches the `procedure`‘s arguments for a `GParamSpec` called `name`.

Available since: 3.0

###### gimp_procedure_find_aux_argument

Searches the `procedure`‘s auxiliary arguments for a `GParamSpec` called `name`.

Available since: 3.0

###### gimp_procedure_find_return_value

Searches the `procedure`‘s return values for a `GParamSpec` called `name`.

Available since: 3.0

###### gimp_procedure_get_argument_sync

No description available.

Available since: 3.0

###### gimp_procedure_get_arguments

No description available.

Available since: 3.0

###### gimp_procedure_get_authors

No description available.

Available since: 3.0

###### gimp_procedure_get_aux_arguments

No description available.

Available since: 3.0

###### gimp_procedure_get_blurb

No description available.

Available since: 3.0

###### gimp_procedure_get_copyright

No description available.

Available since: 3.0

###### gimp_procedure_get_date

No description available.

Available since: 3.0

###### gimp_procedure_get_help

No description available.

Available since: 3.0

###### gimp_procedure_get_help_id

No description available.

Available since: 3.0

###### gimp_procedure_get_icon_file

Gets the file of the icon if one was set for `procedure`.

Available since: 3.0

###### gimp_procedure_get_icon_name

Gets the name of the icon if one was set for `procedure`.

Available since: 3.0

###### gimp_procedure_get_icon_pixbuf

Gets the `GdkPixbuf` of the icon if an icon was set this way for `procedure`.

Available since: 3.0

###### gimp_procedure_get_icon_type

Gets the type of data set as `procedure`‘s icon. Depending on the result, you can call the relevant specific function, such as `gimp_procedure_get_icon_name()`.

Available since: 3.0

###### gimp_procedure_get_image_types

This function retrieves the list of image types the procedure can operate on. See gimp_procedure_set_image_types().

Available since: 3.0

###### gimp_procedure_get_menu_label

No description available.

Available since: 3.0

###### gimp_procedure_get_menu_paths

No description available.

Available since: 3.0

###### gimp_procedure_get_name

No description available.

Available since: 3.0

###### gimp_procedure_get_plug_in

No description available.

Available since: 3.0

###### gimp_procedure_get_proc_type

No description available.

Available since: 3.0

###### gimp_procedure_get_return_values

No description available.

Available since: 3.0

###### gimp_procedure_get_sensitivity_mask

No description available.

Available since: 3.0

###### gimp_procedure_new_arguments

Format the expected argument values of procedures, in the order as added with `gimp_procedure_add_argument()`.

Available since: 3.0

###### gimp_procedure_new_return_values

Format the expected return values from procedures, using the return values set with `gimp_procedure_add_return_value()`.

Available since: 3.0

###### gimp_procedure_run

Runs the procedure, calling the run_func given in `gimp_procedure_new()`.

Available since: 3.0

###### gimp_procedure_set_argument_sync

When using `GimpProcedureConfig`, `gimp_procedure_config_begin_run()` and gimp_procedure_config_end_run(), a `GimpProcedure`‘s arguments or auxiliary arguments can be automatically synced with a `GimpParasite` of the `GimpImage` the procedure is running on.

Available since: 3.0

###### gimp_procedure_set_attribution

Sets various attribution strings on `procedure`.

Available since: 3.0

###### gimp_procedure_set_documentation

`blurb` is used as the `procedure`‘s tooltip when represented in the UI, for example as a menu entry.

Available since: 3.0

###### gimp_procedure_set_icon_file

Sets the icon for `procedure` to the contents of an image file.

Available since: 3.0

###### gimp_procedure_set_icon_name

Sets the icon for `procedure` to the icon referenced by `icon_name`.

Available since: 3.0

###### gimp_procedure_set_icon_pixbuf

Sets the icon for `procedure` to `pixbuf`.

Available since: 3.0

###### gimp_procedure_set_image_types

This is a comma separated list of image types, or actually drawable types, that this procedure can deal with. Wildcards are possible here, so you could say “RGB” instead of “RGB, RGBA” or “” for all image types.

Available since: 3.0

###### gimp_procedure_set_menu_label

Sets the label to use for the `procedure`‘s menu entry, The location(s) where to register in the menu hierarchy is chosen using gimp_procedure_add_menu_path().

Available since: 3.0

###### gimp_procedure_set_sensitivity_mask

Sets the case when `procedure` is supposed to be sensitive or not. Note that it will be used by the core to determine whether to show a procedure as sensitive (hence forbid running it otherwise), yet it will not forbid thid-party plug-ins for instance to run manually your registered procedure. Therefore you should still handle non-supported cases appropriately by returning with `GIMP_PDB_EXECUTION_ERROR` and a suitable error message.

Available since: 3.0

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Gimp.Procedure:name

No description available.

###### Gimp.Procedure:plug-in

No description available.

###### Gimp.Procedure:procedure-type

No description available.

#### Signals

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GimpProcedureClass {
      GObjectClass parent_class;
      void (* install) (
        GimpProcedure* procedure
      );
      void (* uninstall) (
        GimpProcedure* procedure
      );
      GimpValueArray* (* run) (
        GimpProcedure* procedure,
        const GimpValueArray* args
      );
      GimpProcedureConfig* (* create_config) (
        GimpProcedure* procedure,
        GParamSpec** args,
        gint n_args
      );
      gboolean (* set_sensitivity) (
        GimpProcedure* procedure,
        gint sensitivity_mask
      );
      void (* _gimp_reserved1) (
    void
      );
      void (* _gimp_reserved2) (
    void
      );
      void (* _gimp_reserved3) (
    void
      );
      void (* _gimp_reserved4) (
    void
      );
      void (* _gimp_reserved5) (
    void
      );
      void (* _gimp_reserved6) (
    void
      );
      void (* _gimp_reserved7) (
    void
      );
      void (* _gimp_reserved8) (
    void
      );

    }

###### Class members

`parent_class`

    GObjectClass

| No description available.

`install`

    void (* install) (
        GimpProcedure* procedure
      )

| No description available.

`uninstall`

    void (* uninstall) (
        GimpProcedure* procedure
      )

| No description available.

`run`

    GimpValueArray* (* run) (
        GimpProcedure* procedure,
        const GimpValueArray* args
      )

| No description available.

`create_config`

    GimpProcedureConfig* (* create_config) (
        GimpProcedure* procedure,
        GParamSpec** args,
        gint n_args
      )

| No description available.

`set_sensitivity`

    gboolean (* set_sensitivity) (
        GimpProcedure* procedure,
        gint sensitivity_mask
      )

| No description available.

`_gimp_reserved1`

    void (* _gimp_reserved1) (
    void
      )

| No description available.

`_gimp_reserved2`

    void (* _gimp_reserved2) (
    void
      )

| No description available.

`_gimp_reserved3`

    void (* _gimp_reserved3) (
    void
      )

| No description available.

`_gimp_reserved4`

    void (* _gimp_reserved4) (
    void
      )

| No description available.

`_gimp_reserved5`

    void (* _gimp_reserved5) (
    void
      )

| No description available.

`_gimp_reserved6`

    void (* _gimp_reserved6) (
    void
      )

| No description available.

`_gimp_reserved7`

    void (* _gimp_reserved7) (
    void
      )

| No description available.

`_gimp_reserved8`

    void (* _gimp_reserved8) (
    void
      )

| No description available.

#### Virtual methods

###### Gimp.ProcedureClass.create_config

No description available.

###### Gimp.ProcedureClass.install

No description available.

###### Gimp.ProcedureClass.run

Runs the procedure, calling the run_func given in `gimp_procedure_new()`.

Available since: 3.0

###### Gimp.ProcedureClass.set_sensitivity

No description available.

###### Gimp.ProcedureClass.uninstall

No description available.