2010-12-27 01:36:51 +00:00
|
|
|
/* GTK - The GIMP Toolkit
|
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* 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 License, 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
|
2012-02-27 13:01:10 +00:00
|
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
2010-12-27 01:36:51 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __GTK_MENU_ITEM_PRIVATE_H__
|
|
|
|
#define __GTK_MENU_ITEM_PRIVATE_H__
|
|
|
|
|
|
|
|
#include <gtk/gtkmenuitem.h>
|
2013-07-20 00:29:11 +00:00
|
|
|
#include <gtk/deprecated/gtkaction.h>
|
2012-08-18 03:01:53 +00:00
|
|
|
#include <gtk/gtkactionhelper.h>
|
2015-12-18 03:12:06 +00:00
|
|
|
#include <gtk/gtkcssgadgetprivate.h>
|
2015-11-03 04:42:14 +00:00
|
|
|
#include <gtk/gtkcssnodeprivate.h>
|
2010-12-27 01:36:51 +00:00
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
struct _GtkMenuItemPrivate
|
|
|
|
{
|
|
|
|
GtkWidget *submenu;
|
|
|
|
GdkWindow *event_window;
|
|
|
|
|
|
|
|
guint16 toggle_size;
|
|
|
|
guint16 accelerator_width;
|
2011-04-12 16:34:53 +00:00
|
|
|
|
|
|
|
guint timer;
|
|
|
|
|
2018-04-17 19:03:07 +00:00
|
|
|
const char *accel_path;
|
2010-12-27 01:36:51 +00:00
|
|
|
|
2011-04-12 16:34:53 +00:00
|
|
|
GtkAction *action;
|
2012-08-18 03:01:53 +00:00
|
|
|
GtkActionHelper *action_helper;
|
2011-04-12 16:34:53 +00:00
|
|
|
|
2015-12-18 03:12:06 +00:00
|
|
|
GtkCssGadget *gadget;
|
2015-12-18 05:41:40 +00:00
|
|
|
GtkCssGadget *arrow_gadget;
|
2015-11-03 04:42:14 +00:00
|
|
|
|
2010-12-27 01:36:51 +00:00
|
|
|
guint submenu_placement : 1;
|
|
|
|
guint submenu_direction : 1;
|
|
|
|
guint right_justify : 1;
|
|
|
|
guint from_menubar : 1;
|
|
|
|
guint use_action_appearance : 1;
|
2010-11-18 08:31:31 +00:00
|
|
|
guint reserve_indicator : 1;
|
2010-12-27 01:36:51 +00:00
|
|
|
};
|
|
|
|
|
2015-12-18 22:45:15 +00:00
|
|
|
GtkCssGadget * _gtk_menu_item_get_gadget (GtkMenuItem *menu_item);
|
2010-12-27 01:36:51 +00:00
|
|
|
void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item,
|
|
|
|
const gchar *prefix,
|
|
|
|
GtkAccelGroup *accel_group,
|
|
|
|
gboolean group_changed);
|
|
|
|
gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item);
|
|
|
|
void _gtk_menu_item_popup_submenu (GtkWidget *menu_item,
|
|
|
|
gboolean with_delay);
|
|
|
|
void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item);
|
2011-01-04 15:14:08 +00:00
|
|
|
void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item,
|
|
|
|
const gchar *prefix,
|
|
|
|
GtkAccelGroup *accel_group,
|
|
|
|
gboolean group_changed);
|
|
|
|
gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item);
|
|
|
|
void _gtk_menu_item_popup_submenu (GtkWidget *menu_item,
|
|
|
|
gboolean with_delay);
|
|
|
|
void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item);
|
2010-12-27 01:36:51 +00:00
|
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|
|
|
|
#endif /* __GTK_MENU_ITEM_PRIVATE_H__ */
|