## PeasGtkConfigurable

PeasGtkConfigurable — Interface for providing a plugin configuration UI.

## Functions

GtkWidget * | peas_gtk_configurable_create_configure_widget ()

## Types and Values

| PeasGtkConfigurable
struct | PeasGtkConfigurableInterface

## Object Hierarchy

        GInterface
        ╰── PeasGtkConfigurable

## Prerequisites

PeasGtkConfigurable requires GObject.

## Description

The PeasGtkConfigurable interface will allow a plugin to provide a graphical interface for the user to configure the plugin through the PeasGtkPluginManager: the PeasGtkPluginManager will make its “Configure Plugin” button active when the selected plugin implements the PeasGtkConfigurable interface.

To allow plugin configuration from the PeasGtkPluginManager, the plugin writer will just need to implement the PeasGtkConfigurableInterface.create_configure_widget() method.

## Functions

### peas_gtk_configurable_create_configure_widget ()

    GtkWidget *
    peas_gtk_configurable_create_configure_widget
                                   (PeasGtkConfigurable *configurable);

Creates the configure widget for the plugin. The returned widget should allow configuring all the relevant aspects of the plugin, and should allow instant-apply, as promoted by the Gnome Human Interface Guidelines.

PeasGtkPluginManager will embed the returned widget into a dialog box, but you shouldn't take this behaviour for granted as other implementations of a plugin manager UI might do otherwise.

This method should always return a valid GtkWidget instance, never `NULL`.

#### Parameters

configurable | A PeasGtkConfigurable |

#### Returns

A GtkWidget used for configuration.

[transfer full]

## Types and Values

### PeasGtkConfigurable

    typedef struct _PeasGtkConfigurable PeasGtkConfigurable;

Interface for configurable plugins.

### struct PeasGtkConfigurableInterface

    struct PeasGtkConfigurableInterface {
      GTypeInterface g_iface;

      GtkWidget  *(*create_configure_widget)  (PeasGtkConfigurable  *configurable);
    };

Provides an interface for configurable plugins.

#### Members

GTypeInterface `g_iface`; | The parent interface. |
`create_configure_widget` () | Creates the configure widget for the plugin. |