 ea0ede201e
			
		
	
	ea0ede201e
	
	
	
		
			
			Allow the possibility for items to be marked with a special attribute and expose this via GtkTrackerMenuItem. For internal use only. We will use this to implement the special 'Hide', 'Hide Others' and 'Show All' items and the 'Services' submenu in the Mac OS application menu. https://bugzilla.gnome.org/show_bug.cgi?id=720552
		
			
				
	
	
		
			91 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright © 2011, 2013 Canonical Limited
 | |
|  *
 | |
|  * This library is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU Lesser General Public
 | |
|  * License as published by the Free Software Foundation; either
 | |
|  * version 2 of the licence, or (at your option) any later version.
 | |
|  *
 | |
|  * This library is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  * Lesser General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU Lesser General Public
 | |
|  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
 | |
|  *
 | |
|  * Author: Ryan Lortie <desrt@desrt.ca>
 | |
|  */
 | |
| 
 | |
| #ifndef __GTK_MENU_TRACKER_ITEM_H__
 | |
| #define __GTK_MENU_TRACKER_ITEM_H__
 | |
| 
 | |
| #include "gtkactionobservable.h"
 | |
| 
 | |
| #define GTK_TYPE_MENU_TRACKER_ITEM                          (gtk_menu_tracker_item_get_type ())
 | |
| #define GTK_MENU_TRACKER_ITEM(inst)                         (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
 | |
|                                                              GTK_TYPE_MENU_TRACKER_ITEM, GtkMenuTrackerItem))
 | |
| #define GTK_IS_MENU_TRACKER_ITEM(inst)                      (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
 | |
|                                                              GTK_TYPE_MENU_TRACKER_ITEM))
 | |
| 
 | |
| typedef struct _GtkMenuTrackerItem GtkMenuTrackerItem;
 | |
| 
 | |
| #define GTK_TYPE_MENU_TRACKER_ITEM_ROLE                     (gtk_menu_tracker_item_role_get_type ())
 | |
| 
 | |
| typedef enum  {
 | |
|   GTK_MENU_TRACKER_ITEM_ROLE_NORMAL,
 | |
|   GTK_MENU_TRACKER_ITEM_ROLE_CHECK,
 | |
|   GTK_MENU_TRACKER_ITEM_ROLE_RADIO,
 | |
| } GtkMenuTrackerItemRole;
 | |
| 
 | |
| GType                   gtk_menu_tracker_item_get_type                  (void) G_GNUC_CONST;
 | |
| 
 | |
| GType                   gtk_menu_tracker_item_role_get_type             (void) G_GNUC_CONST;
 | |
| 
 | |
| GtkMenuTrackerItem *   _gtk_menu_tracker_item_new                       (GtkActionObservable *observable,
 | |
|                                                                          GMenuModel          *model,
 | |
|                                                                          gint                 item_index,
 | |
|                                                                          const gchar         *action_namespace,
 | |
|                                                                          gboolean             is_separator);
 | |
| 
 | |
| const gchar *           gtk_menu_tracker_item_get_special               (GtkMenuTrackerItem *self);
 | |
| 
 | |
| GtkActionObservable *  _gtk_menu_tracker_item_get_observable            (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_is_separator          (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_has_submenu           (GtkMenuTrackerItem *self);
 | |
| 
 | |
| const gchar *           gtk_menu_tracker_item_get_label                 (GtkMenuTrackerItem *self);
 | |
| 
 | |
| GIcon *                 gtk_menu_tracker_item_get_icon                  (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_sensitive             (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_visible               (GtkMenuTrackerItem *self);
 | |
| 
 | |
| GtkMenuTrackerItemRole  gtk_menu_tracker_item_get_role                  (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_toggled               (GtkMenuTrackerItem *self);
 | |
| 
 | |
| const gchar *           gtk_menu_tracker_item_get_accel                 (GtkMenuTrackerItem *self);
 | |
| 
 | |
| GMenuModel *           _gtk_menu_tracker_item_get_submenu               (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gchar *                _gtk_menu_tracker_item_get_submenu_namespace     (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean               _gtk_menu_tracker_item_may_disappear             (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean               _gtk_menu_tracker_item_is_visible                (GtkMenuTrackerItem *self);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_should_request_show   (GtkMenuTrackerItem *self);
 | |
| 
 | |
| void                    gtk_menu_tracker_item_activated                 (GtkMenuTrackerItem *self);
 | |
| 
 | |
| void                    gtk_menu_tracker_item_request_submenu_shown     (GtkMenuTrackerItem *self,
 | |
|                                                                          gboolean            shown);
 | |
| 
 | |
| gboolean                gtk_menu_tracker_item_get_submenu_shown         (GtkMenuTrackerItem *self);
 | |
| 
 | |
| #endif
 |