Panel Applet Factory

Panel Applet Factory — the factory that will create applets.

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <panel-applet.h>

gboolean            (*PanelAppletFactoryCallback)       (PanelApplet *applet,
                                                         const gchar *iid,
                                                         gpointer user_data);
#define             PANEL_APPLET_OUT_PROCESS_FACTORY    (id,
                                                         type,
                                                         callback,
                                                         data)
#define             PANEL_APPLET_IN_PROCESS_FACTORY     (id,
                                                         type,
                                                         callback,
                                                         data)
int                 panel_applet_factory_main           (const gchar *factory_id,
                                                         GType applet_type,
                                                         PanelAppletFactoryCallback callback,
                                                         gpointer data);

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.

Details

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.

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_OUT_PROCESS_FACTORY()

#define             PANEL_APPLET_OUT_PROCESS_FACTORY(id, type, callback, data)

Convenience macro providing a main() function for an out-of-process applet. Internally, it will call panel_applet_factory_main() to create the factory_id applet factory.

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.

It can only be used once, and is incompatible with the use of PANEL_APPLET_IN_PROCESS_FACTORY and panel_applet_factory_main().

id :

identifier of an applet factory.

type :

GType of the applet this factory creates.

callback :

callback to be called when a new applet is created. [scope call]

data :

callback data. [closure]

PANEL_APPLET_IN_PROCESS_FACTORY()

#define             PANEL_APPLET_IN_PROCESS_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.

It can only be used once, and is incompatible with the use of PANEL_APPLET_OUT_PROCESS_FACTORY and panel_applet_factory_main().

id :

identifier of an applet factory.

type :

GType of the applet this factory creates.

callback :

callback to be called when a new applet is created. [scope call]

data :

callback data. [closure]

panel_applet_factory_main ()

int                 panel_applet_factory_main           (const gchar *factory_id,
                                                         GType applet_type,
                                                         PanelAppletFactoryCallback callback,
                                                         gpointer data);

Creates the applet factory for factory_id, so that the factory can create instances of the applet types it is associated with.

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.

If using C, it is recommended to use PANEL_APPLET_OUT_PROCESS_FACTORY instead as it will create a main() function for you.

It can only be used once, and is incompatible with the use of PANEL_APPLET_IN_PROCESS_FACTORY and PANEL_APPLET_OUT_PROCESS_FACTORY.

factory_id :

identifier of an applet factory.

applet_type :

GType of the applet this factory creates.

callback :

callback to be called when a new applet is created. [scope call]

data :

callback data. [closure]

Returns :

0 on success, 1 if there is an error.