19
19
with this program. If not, see <http://www.gnu.org/licenses/>.
22
#ifndef __WINDOW_MENUS_H__
23
#define __WINDOW_MENUS_H__
22
#ifndef __WINDOW_MENU_DBUSMENU_H__
23
#define __WINDOW_MENU_DBUSMENU_H__
25
#include <glib-object.h>
26
#include <libindicator/indicator-object.h>
27
#include <libdbusmenu-glib/client.h>
25
#include "window-menu.h"
31
#define WINDOW_MENUS_TYPE (window_menus_get_type ())
32
#define WINDOW_MENUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINDOW_MENUS_TYPE, WindowMenus))
33
#define WINDOW_MENUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINDOW_MENUS_TYPE, WindowMenusClass))
34
#define IS_WINDOW_MENUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINDOW_MENUS_TYPE))
35
#define IS_WINDOW_MENUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINDOW_MENUS_TYPE))
36
#define WINDOW_MENUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINDOW_MENUS_TYPE, WindowMenusClass))
38
#define WINDOW_MENUS_SIGNAL_ENTRY_ADDED "entry-added"
39
#define WINDOW_MENUS_SIGNAL_ENTRY_REMOVED "entry-removed"
40
#define WINDOW_MENUS_SIGNAL_ERROR_STATE "error-state"
41
#define WINDOW_MENUS_SIGNAL_STATUS_CHANGED "status-changed"
42
#define WINDOW_MENUS_SIGNAL_SHOW_MENU "show-menu"
43
#define WINDOW_MENUS_SIGNAL_A11Y_UPDATE "a11y-update"
45
typedef struct _WindowMenus WindowMenus;
46
typedef struct _WindowMenusClass WindowMenusClass;
48
struct _WindowMenusClass {
49
GObjectClass parent_class;
52
void (*entry_added) (WindowMenus * wm, IndicatorObjectEntry * entry, gpointer user_data);
53
void (*entry_removed) (WindowMenus * wm, IndicatorObjectEntry * entry, gpointer user_data);
55
void (*error_state) (WindowMenus * wm, gboolean state, gpointer user_data);
56
void (*status_changed) (WindowMenus * wm, DbusmenuStatus status, gpointer user_data);
58
void (*show_menu) (WindowMenus * wm, IndicatorObjectEntry * entry, guint timestamp, gpointer user_data);
59
void (*a11y_update) (WindowMenus * wm, IndicatorObjectEntry * entry, gpointer user_data);
66
GType window_menus_get_type (void);
67
WindowMenus * window_menus_new (const guint windowid, const gchar * dbus_addr, const gchar * dbus_object);
68
GList * window_menus_get_entries (WindowMenus * wm);
69
guint window_menus_get_location (WindowMenus * wm, IndicatorObjectEntry * entry);
71
guint window_menus_get_xid (WindowMenus * wm);
72
gchar * window_menus_get_path (WindowMenus * wm);
73
gchar * window_menus_get_address (WindowMenus * wm);
75
gboolean window_menus_get_error_state (WindowMenus * wm);
76
DbusmenuStatus window_menus_get_status (WindowMenus * wm);
77
void window_menus_entry_restore (WindowMenus * wm, IndicatorObjectEntry * entry);
79
void window_menus_entry_activate (WindowMenus * wm, IndicatorObjectEntry * entry, guint timestamp);
29
#define WINDOW_MENU_DBUSMENU_TYPE (window_menu_dbusmenu_get_type ())
30
#define WINDOW_MENU_DBUSMENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINDOW_MENU_DBUSMENU_TYPE, WindowMenuDbusmenu))
31
#define WINDOW_MENU_DBUSMENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINDOW_MENU_DBUSMENU_TYPE, WindowMenuDbusmenuClass))
32
#define IS_WINDOW_MENU_DBUSMENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINDOW_MENU_DBUSMENU_TYPE))
33
#define IS_WINDOW_MENU_DBUSMENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINDOW_MENU_DBUSMENU_TYPE))
34
#define WINDOW_MENU_DBUSMENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINDOW_MENU_DBUSMENU_TYPE, WindowMenuDbusmenuClass))
36
typedef struct _WindowMenuDbusmenu WindowMenuDbusmenu;
37
typedef struct _WindowMenuDbusmenuClass WindowMenuDbusmenuClass;
39
struct _WindowMenuDbusmenuClass {
40
WindowMenuClass parent_class;
43
struct _WindowMenuDbusmenu {
47
GType window_menu_dbusmenu_get_type (void);
48
WindowMenuDbusmenu * window_menu_dbusmenu_new (const guint windowid, const gchar * dbus_addr, const gchar * dbus_object);
49
gchar * window_menu_dbusmenu_get_path (WindowMenuDbusmenu * wm);
50
gchar * window_menu_dbusmenu_get_address (WindowMenuDbusmenu * wm);