menuitem

menuitem — Helpers for DbusmenuMenuitem properties that require a GTK dependency

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <libdbusmenu-gtk/menuitem.h>

gboolean            dbusmenu_menuitem_property_set_image
                                                        (DbusmenuMenuitem *menuitem,
                                                         const gchar *property,
                                                         const GdkPixbuf *data);
GdkPixbuf *         dbusmenu_menuitem_property_get_image
                                                        (DbusmenuMenuitem *menuitem,
                                                         const gchar *property);
gboolean            dbusmenu_menuitem_property_set_shortcut
                                                        (DbusmenuMenuitem *menuitem,
                                                         guint key,
                                                         GdkModifierType modifier);
gboolean            dbusmenu_menuitem_property_set_shortcut_string
                                                        (DbusmenuMenuitem *menuitem,
                                                         const gchar *shortcut);
gboolean            dbusmenu_menuitem_property_set_shortcut_menuitem
                                                        (DbusmenuMenuitem *menuitem,
                                                         const GtkMenuItem *gmi);
void                dbusmenu_menuitem_property_get_shortcut
                                                        (DbusmenuMenuitem *menuitem,
                                                         guint *key,
                                                         GdkModifierType *modifier);

Description

Some property helpers can't be done without picking up a GTK+ dependency. So those sit in libdbusmenu-gtk but have very similar prototypes to the code in libdbusmenu-glib so your code will look consistent, just with the extra depedency.

Details

dbusmenu_menuitem_property_set_image ()

gboolean            dbusmenu_menuitem_property_set_image
                                                        (DbusmenuMenuitem *menuitem,
                                                         const gchar *property,
                                                         const GdkPixbuf *data);

This function takes the pixbuf that is stored in data and turns it into a base64 encoded PNG so that it can be placed onto a standard DbusmenuMenuitem property.

menuitem :

The DbusmenuMenuitem to set the property on.

property :

Name of the property to set.

data :

The image to place on the property.

Returns :

Whether the function was able to set the property or not.

dbusmenu_menuitem_property_get_image ()

GdkPixbuf *         dbusmenu_menuitem_property_get_image
                                                        (DbusmenuMenuitem *menuitem,
                                                         const gchar *property);

This function looks on the menu item for a property by the name of property. If one exists it tries to turn it into a GdkPixbuf. It assumes that the property is a base64 encoded PNG file like the one created by dbusmenu_menuite_property_set_image.

menuitem :

The DbusmenuMenuitem to look for the property on

property :

The name of the property to look for.

Returns :

A pixbuf or NULL to signal error. [transfer full]

dbusmenu_menuitem_property_set_shortcut ()

gboolean            dbusmenu_menuitem_property_set_shortcut
                                                        (DbusmenuMenuitem *menuitem,
                                                         guint key,
                                                         GdkModifierType modifier);

Takes the modifer described by key and modifier and places that into the format sending across Dbus for shortcuts.

menuitem :

The DbusmenuMenuitem to set the shortcut on

key :

The keycode of the key to send

modifier :

A bitmask of modifiers used to activate the item

Returns :

Whether it was successful at setting the property.

dbusmenu_menuitem_property_set_shortcut_string ()

gboolean            dbusmenu_menuitem_property_set_shortcut_string
                                                        (DbusmenuMenuitem *menuitem,
                                                         const gchar *shortcut);

This function takes a GTK shortcut string as defined in gtk_accelerator_parse and turns that into the information required to send it over DBusmenu.

menuitem :

The DbusmenuMenuitem to set the shortcut on

shortcut :

String describing the shortcut

Returns :

Whether it was successful at setting the property.

dbusmenu_menuitem_property_set_shortcut_menuitem ()

gboolean            dbusmenu_menuitem_property_set_shortcut_menuitem
                                                        (DbusmenuMenuitem *menuitem,
                                                         const GtkMenuItem *gmi);

Takes the shortcut that is installed on a menu item and calls dbusmenu_menuitem_property_set_shortcut with it. It also sets up listeners to watch it change.

menuitem :

The DbusmenuMenuitem to set the shortcut on

gmi :

A menu item to steal the shortcut off of

Returns :

Whether it was successful at setting the property.

dbusmenu_menuitem_property_get_shortcut ()

void                dbusmenu_menuitem_property_get_shortcut
                                                        (DbusmenuMenuitem *menuitem,
                                                         guint *key,
                                                         GdkModifierType *modifier);

This function gets a GTK shortcut as a key and a mask for use to set the accelerators.

menuitem :

The DbusmenuMenuitem to get the shortcut off

key :

Location to put the key value. [out]

modifier :

Location to put the modifier mask. [out]