EthosUIConfigurable

## EthosUIConfigurable EthosUIConfigurable — interface for plugins that provide a configuration ui |

## Synopsis

    #define             ETHOS_UI_CONFIGURABLE_GET_INTERFACE (obj)
                        EthosUIConfigurable;
                        EthosUIConfigurableIface;
    void                ethos_ui_configurable_configure     (EthosUIConfigurable *configurable,
                                                             GtkWidget *parent);

## Object Hierarchy

      GInterface
       +----EthosUIConfigurable

## Prerequisites

EthosUIConfigurable requires EthosPlugin.

## Description

The EthosUIConfigurable interface provides a way for plugins to expose that they provide a gtk widget that can be used to configure the plugin.

If a plugin implements the interface, the EthosUIManagerWidget will show a "Configure Plugin" button that will display the configuration widget.

## Details

### ETHOS_UI_CONFIGURABLE_GET_INTERFACE()

    #define             ETHOS_UI_CONFIGURABLE_GET_INTERFACE(obj)

`obj` : |

### EthosUIConfigurable

    typedef struct _EthosUIConfigurable EthosUIConfigurable;

### EthosUIConfigurableIface

    typedef struct {
    	GObjectClass parent_class;

    	void         (*configure)  (EthosUIConfigurable *configurable,
    	                            GtkWidget           *parent);

    	void         (*reserved1)  (void);
    	void         (*reserved2)  (void);
    	void         (*reserved3)  (void);
    	void         (*reserved4)  (void);
    } EthosUIConfigurableIface;

### ethos_ui_configurable_configure ()

    void                ethos_ui_configurable_configure     (EthosUIConfigurable *configurable,
                                                             GtkWidget *parent);

Requests that the plugin shows its configuration dialog. If `parent` is non `NULL`, then the configuration dialog is set be transient to `parent`.

`configurable` : | An EthosUIConfigurable
`parent` : | The GtkWindow that generated the request.