1/*
2 * Copyright © 2011, 2013 Canonical Limited
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the licence, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Author: Ryan Lortie <desrt@desrt.ca>
18 */
19
20#ifndef __GTK_MENU_TRACKER_ITEM_PRIVATE_H__
21#define __GTK_MENU_TRACKER_ITEM_PRIVATE_H__
22
23#include "gtkactionobservableprivate.h"
24
25#define GTK_TYPE_MENU_TRACKER_ITEM (gtk_menu_tracker_item_get_type ())
26#define GTK_MENU_TRACKER_ITEM(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
27 GTK_TYPE_MENU_TRACKER_ITEM, GtkMenuTrackerItem))
28#define GTK_IS_MENU_TRACKER_ITEM(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
29 GTK_TYPE_MENU_TRACKER_ITEM))
30
31typedef struct _GtkMenuTrackerItem GtkMenuTrackerItem;
32
33#define GTK_TYPE_MENU_TRACKER_ITEM_ROLE (gtk_menu_tracker_item_role_get_type ())
34
35typedef enum {
36 GTK_MENU_TRACKER_ITEM_ROLE_NORMAL,
37 GTK_MENU_TRACKER_ITEM_ROLE_CHECK,
38 GTK_MENU_TRACKER_ITEM_ROLE_RADIO,
39} GtkMenuTrackerItemRole;
40
41GType gtk_menu_tracker_item_get_type (void) G_GNUC_CONST;
42
43GType gtk_menu_tracker_item_role_get_type (void) G_GNUC_CONST;
44
45GtkMenuTrackerItem * _gtk_menu_tracker_item_new (GtkActionObservable *observable,
46 GMenuModel *model,
47 int item_index,
48 gboolean mac_os_mode,
49 const char *action_namespace,
50 gboolean is_separator);
51
52const char * gtk_menu_tracker_item_get_special (GtkMenuTrackerItem *self);
53
54const char * gtk_menu_tracker_item_get_custom (GtkMenuTrackerItem *self);
55
56const char * gtk_menu_tracker_item_get_display_hint (GtkMenuTrackerItem *self);
57
58const char * gtk_menu_tracker_item_get_text_direction (GtkMenuTrackerItem *self);
59
60GtkActionObservable * _gtk_menu_tracker_item_get_observable (GtkMenuTrackerItem *self);
61
62gboolean gtk_menu_tracker_item_get_is_separator (GtkMenuTrackerItem *self);
63
64gboolean gtk_menu_tracker_item_get_has_link (GtkMenuTrackerItem *self,
65 const char *link_name);
66
67const char * gtk_menu_tracker_item_get_label (GtkMenuTrackerItem *self);
68
69gboolean gtk_menu_tracker_item_get_use_markup (GtkMenuTrackerItem *self);
70
71GIcon * gtk_menu_tracker_item_get_icon (GtkMenuTrackerItem *self);
72
73GIcon * gtk_menu_tracker_item_get_verb_icon (GtkMenuTrackerItem *self);
74
75gboolean gtk_menu_tracker_item_get_sensitive (GtkMenuTrackerItem *self);
76
77GtkMenuTrackerItemRole gtk_menu_tracker_item_get_role (GtkMenuTrackerItem *self);
78
79gboolean gtk_menu_tracker_item_get_toggled (GtkMenuTrackerItem *self);
80
81const char * gtk_menu_tracker_item_get_accel (GtkMenuTrackerItem *self);
82
83GMenuModel * _gtk_menu_tracker_item_get_link (GtkMenuTrackerItem *self,
84 const char *link_name);
85
86char * _gtk_menu_tracker_item_get_link_namespace (GtkMenuTrackerItem *self);
87
88gboolean gtk_menu_tracker_item_may_disappear (GtkMenuTrackerItem *self);
89
90gboolean gtk_menu_tracker_item_get_is_visible (GtkMenuTrackerItem *self);
91
92gboolean gtk_menu_tracker_item_get_should_request_show (GtkMenuTrackerItem *self);
93
94void gtk_menu_tracker_item_activated (GtkMenuTrackerItem *self);
95
96void gtk_menu_tracker_item_request_submenu_shown (GtkMenuTrackerItem *self,
97 gboolean shown);
98
99gboolean gtk_menu_tracker_item_get_submenu_shown (GtkMenuTrackerItem *self);
100
101#endif
102

source code of gtk/gtk/gtkmenutrackeritemprivate.h