| 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) #define OSSO_ABOOK_MENU_NAME_MAIN_VIEW #define OSSO_ABOOK_MENU_NAME_CONTACT_VIEW #define OSSO_ABOOK_MENU_NAME_MECARD_VIEW #define OSSO_ABOOK_MENU_NAME_SIM_VIEW OssoABookMenuEntry; OssoABookMenuExtension; int osso_abook_menu_extension_get_n_menu_entries (OssoABookMenuExtension *extension); const OssoABookMenuEntry* osso_abook_menu_extension_get_menu_entries (OssoABookMenuExtension *extension); GtkWindow* osso_abook_menu_extension_get_parent (OssoABookMenuExtension *extension); const char* osso_abook_menu_extension_get_menu_name (OssoABookMenuExtension *extension); OssoABookContact* osso_abook_menu_extension_get_contact (OssoABookMenuExtension *extension);
"contact" OssoABookContact* : Read / Write / Construct Only "menu-name" gchar* : Read / Write / Construct Only "parent" GtkWindow* : Read / Write / Construct Only
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 |
#define OSSO_ABOOK_MENU_NAME_CONTACT_VIEW "osso-abook-contact-view"
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 *extension);
extension : |
a OssoABookMenuExtension |
| Returns : | The number of menu entries provided by the extension. |
const OssoABookMenuEntry* osso_abook_menu_extension_get_menu_entries (OssoABookMenuExtension *extension);
extension : |
a OssoABookMenuExtension |
| Returns : | An array of menu entries. |
GtkWindow* osso_abook_menu_extension_get_parent
(OssoABookMenuExtension *extension);
const char* osso_abook_menu_extension_get_menu_name
(OssoABookMenuExtension *extension);
Retrieves name of the application menu from which currently activated OssoABookMenuEntry was called.
Examples are OSSO_ABOOK_MENU_NAME_MAIN_VIEW
widget : |
the widget passed to the OssoABookMenuEntry callback |
| Returns : | The application menu name (e.g. OSSO_ABOOK_MENU_NAME_MAIN_VIEW),
or NULL.
|
OssoABookContact* osso_abook_menu_extension_get_contact (OssoABookMenuExtension *extension);
"contact" property"contact" OssoABookContact* : Read / Write / Construct Only
Contact for which this this extension is created.
"menu-name" property"menu-name" gchar* : Read / Write / Construct Only
Name of the menu for which this extension is created.
Default value: NULL