Top |
Functions
GpAppletInfo * | (*GpGetAppletInfoFunc) () |
const gchar * | (*GetAppletIdFromIidFunc) () |
GtkWidget * | (*GetStandaloneMenuFunc) () |
void | gp_module_set_abi_version () |
void | gp_module_set_gettext_domain () |
void | gp_module_set_id () |
void | gp_module_set_version () |
void | gp_module_set_applet_ids () |
void | gp_module_set_get_applet_info () |
void | gp_module_set_compatibility () |
void | gp_module_set_standalone_menu () |
void | gp_module_load () |
Description
A module with one or more applets.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
static gboolean example1_setup_about (GtkAboutDialog *dialog) { gtk_about_dialog_set_comments (about, "..."); gtk_about_dialog_set_copyright (about, "..."); // ... } static GpAppletInfo * example_get_applet_info (const gchar *id) { GpAppletInfo *info; if (g_strcmp0 (id, "example1") == 0) { info = gp_applet_info_new (example1_get_type, _("Example 1 name"), _("Example 1 description"), "example1-icon"); gp_applet_info_set_about_dialog (info, example1_setup_about); gp_applet_info_set_help_uri (info, "help:example"); } else if (g_strcmp0 (id, "example2") == 0) { info = gp_applet_info_new (example2_get_type, _("Example 2 name"), _("Example 2 description"), "example2-icon"); gp_applet_info_set_backends (info, "x11"); } else { info = NULL; } return info; } static const gchar * example_get_applet_id_from_iid (const gchar *iid) { if (g_strcmp0 (iid, "ExampleAppletFactory::Example1Applet") == 0) { return "example1"; } else if (g_strcmp0 (iid, "ExampleAppletFactory::Example2Applet") == 0) { return "example2"; } return NULL; } void gp_module_load (GpModule *module) { bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); gp_module_set_gettext_domain (module, GETTEXT_PACKAGE); gp_module_set_abi_version (module, GP_MODULE_ABI_VERSION); gp_module_set_id (module, "org.example.example"); gp_module_set_version (module, PACKAGE_VERSION); gp_module_set_applet_ids (module, "example1", "example2", NULL); gp_module_set_get_applet_info (module, example_get_applet_info); gp_module_set_compatibility (module, example_get_applet_id_from_iid); } |
Functions
GpGetAppletInfoFunc ()
GpAppletInfo *
(*GpGetAppletInfoFunc) (const gchar *id
);
Returns a GpAppletInfo.
GetAppletIdFromIidFunc ()
const gchar *
(*GetAppletIdFromIidFunc) (const gchar *iid
);
Specifies the type of the module function called to convert old applet
iid to new id. See gp_module_set_compatibility()
.
GetStandaloneMenuFunc ()
GtkWidget * (*GetStandaloneMenuFunc) (gboolean enable_tooltips
,gboolean locked_down
,guint menu_icon_size
);
Specifies the type of the module function called to create a standalone menu.
gp_module_set_abi_version ()
void gp_module_set_abi_version (GpModule *module
,guint32 abi_version
);
This function must be called from gp_module_load()
.
gp_module_set_gettext_domain ()
void gp_module_set_gettext_domain (GpModule *module
,const gchar *gettext_domain
);
Sets the gettext domain for this module.
gp_module_set_id ()
void gp_module_set_id (GpModule *module
,const gchar *id
);
The module id
must be globally unique. For this reason, it is very
strongly recommended to use reverse domain style identifier:
https://wiki.gnome.org/HowDoI/ChooseApplicationID
gp_module_set_version ()
void gp_module_set_version (GpModule *module
,const gchar *version
);
Sets the version of this module.
gp_module_set_applet_ids ()
void gp_module_set_applet_ids (GpModule *module
,...
);
Sets the applets available in this module.
gp_module_set_get_applet_info ()
void gp_module_set_get_applet_info (GpModule *module
,GpGetAppletInfoFunc func
);
Specifies a function to be used to get GpAppletInfo.
gp_module_set_compatibility ()
void gp_module_set_compatibility (GpModule *module
,GetAppletIdFromIidFunc func
);
Specifies a function to be used to convert old applet iid to id.
The function must check if iid is known to module and only then return new applet id.
gp_module_set_standalone_menu ()
void gp_module_set_standalone_menu (GpModule *module
,GetStandaloneMenuFunc func
);
Specifies a function to be used to create standalone menu.
gp_module_load ()
void
gp_module_load (GpModule *module
);
Required API for GNOME Panel modules to implement.
This function will be called after module has been loaded and should be
used to setup all required module info. As minimum gp_module_set_id()
and
gp_module_set_abi_version()
should be called.
Types and Values
GpModule
typedef struct _GpModule GpModule;
GpModule is an opaque data structure and can only be accessed using the following functions.