![]() |
![]() |
![]() |
Osso Addressbook Reference Manual | ![]() |
---|---|---|---|---|
#define OSSO_ABOOK_DEFINE_MENU_PLUGIN (TN, t_n, TP, LC, UC) #define OSSO_ABOOK_DEFINE_MENU_PLUGIN_SYMBOLS(t_n, LC, UC) OssoABookMenuEntry; OssoABookMenuExtension; int osso_abook_menu_extension_get_n_menu_entries (OssoABookMenuExtension *menu_extension); const OssoABookMenuEntry* osso_abook_menu_extension_get_menu_entries (OssoABookMenuExtension *menu_extension);
The addressbook provides a way to add protocol-specific menu items to the
'groups' view. For example, in the addressbook, if you select menu item
"Groups", and then select a group (e.g. a google talk account), it will show
a window with all of the contacts from that account. If you define a menu
extension class and set OssoABookMenuExtensionClass::name to be the same
value as the account profile name (in this case "google-talk"), then the menu
items returned from osso_abook_menu_extension_get_menu_entries()
will be
added to the menu for that group view.
#define OSSO_ABOOK_DEFINE_MENU_PLUGIN(TN, t_n, TP, LC, UC)
Registers a class as a menu extension. The arguments TN
, t_n
, and TP
correspond directly to the parameters of G_DEFINE_DYNAMIC_TYPE()
(which is
called internally)
TN : |
the name of the new type, in Camel case |
t_n : |
the name of hte new type, in lowercase, with words separated by '_' |
TP : |
the GType of the parent type |
LC : |
code to execute when the module is loaded |
UC : |
code to execute when the module is unloaded |
typedef struct { const char *label; unsigned accel_key; GdkModifierType accel_mods; GCallback callback; const char *name; } OssoABookMenuEntry;
const char *label ; |
a label for the menu item |
GdkModifierType accel_mods ; |
modifier keys to use for the menu item |
GCallback callback ; |
a function to call when the menu item is activated |
const char *name ; |
the name of the menu item. |
typedef struct _OssoABookMenuExtension OssoABookMenuExtension;
Base class for menu extensions. To implement a menu extension, create a
class that derives from OssoABookMenuExtension, implement the virtual
methods get_n_menu_entries()
and get_menu_entries()
, and register the
extension with OSSO_ABOOK_DEFINE_MENU_PLUGIN()
int osso_abook_menu_extension_get_n_menu_entries (OssoABookMenuExtension *menu_extension);
menu_extension : |
a OssoABookMenuExtension |
Returns : | The number of menu entries provided by the extension. |
const OssoABookMenuEntry* osso_abook_menu_extension_get_menu_entries (OssoABookMenuExtension *menu_extension);
menu_extension : |
a OssoABookMenuExtension |
Returns : | An array of menu entries. |