## Panel Applet Factory Panel Applet Factory — the factory that will create applets. |

## Stability Level

Unstable, unless otherwise indicated

## Functions

gboolean | (*PanelAppletFactoryCallback) ()
#define | PANEL_APPLET_IN_PROCESS_FACTORY()

## Includes

    #include <panel-applet.h>

## Description

This API is used to create an applet factory. You need to call one and only one of these functions to get applets working in your binary.

## Functions

### PanelAppletFactoryCallback ()

    gboolean
    (*PanelAppletFactoryCallback) (PanelApplet *applet,
                                   const gchar *iid,
                                   gpointer user_data);

The type used for callbacks after. The callback will usually check that `iid` is a valid applet type identifier for the applet factory, and will then fill `applet` with widgets, connect to signals, etc.

#### Parameters

applet | a newly-created PanelApplet. |
iid | identifier of the requested applet type. |
user_data | user data. |

#### Returns

`TRUE` if `iid` is a valid applet type identifier for the applet factory and if the creation of `applet` was successfully completed, `FALSE` otherwise.

### PANEL_APPLET_IN_PROCESS_FACTORY()

    #define             PANEL_APPLET_IN_PROCESS_FACTORY(factory_id, type, callback, data)

Convenience macro providing the symbol needed to automatically register the `factory_id` applet factory for an in-process applet.

Applet instances created by the applet factory will use `applet_type` as GType. Unless you subclass PanelApplet, you should use `PANEL_TYPE_APPLET` as `applet_type` .

On creation of the applet instances, `callback` is called to setup the applet. If `callback` returns `FALSE`, the creation of the applet instance is cancelled.

#### Parameters

factory_id | identifier of an applet factory. |
type | GType of the applet this factory creates. |
callback | a `PanelAppletFactoryCallback` to be called when a new applet is created. | [scope call]
data | callback data. | [closure]

## Types and Values