X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkmenushell.h;h=c3bd8797e4c36a1e63fbed35890d8eba86dce85e;hb=aaedf5a35219b034a244730564b8fdf2b7d32540;hp=ec115007384fad19e87ec712ec63c09da37773a4;hpb=8409ada92ff408f41c3014ffa6401ce97da0e5ed;p=~andy%2Fgtk diff --git a/gtk/gtkmenushell.h b/gtk/gtkmenushell.h index ec1150073..c3bd8797e 100644 --- a/gtk/gtkmenushell.h +++ b/gtk/gtkmenushell.h @@ -8,84 +8,75 @@ * * 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 + * 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, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_MENU_SHELL_H__ #define __GTK_MENU_SHELL_H__ -#include -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif +#include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS -#define GTK_TYPE_MENU_SHELL (gtk_menu_shell_get_type ()) -#define GTK_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShell)) -#define GTK_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL, GtkMenuShellClass)) -#define GTK_IS_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_SHELL)) -#define GTK_IS_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL)) +#define GTK_TYPE_MENU_SHELL (gtk_menu_shell_get_type ()) +#define GTK_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShell)) +#define GTK_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL, GtkMenuShellClass)) +#define GTK_IS_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_SHELL)) +#define GTK_IS_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL)) #define GTK_MENU_SHELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShellClass)) -typedef struct _GtkMenuShell GtkMenuShell; -typedef struct _GtkMenuShellClass GtkMenuShellClass; +typedef struct _GtkMenuShell GtkMenuShell; +typedef struct _GtkMenuShellClass GtkMenuShellClass; +typedef struct _GtkMenuShellPrivate GtkMenuShellPrivate; struct _GtkMenuShell { GtkContainer container; - - GList *children; - GtkWidget *active_menu_item; - GtkWidget *parent_menu_shell; - - guint button; - guint32 activate_time; - - guint active : 1; - guint have_grab : 1; - guint have_xgrab : 1; - guint ignore_leave : 1; - guint menu_flag : 1; - guint ignore_enter : 1; + + /*< private >*/ + GtkMenuShellPrivate *priv; }; struct _GtkMenuShellClass { GtkContainerClass parent_class; - + guint submenu_placement : 1; - - void (*deactivate) (GtkMenuShell *menu_shell); - void (*selection_done) (GtkMenuShell *menu_shell); - - void (*move_current) (GtkMenuShell *menu_shell, - GtkMenuDirectionType direction); - void (*activate_current) (GtkMenuShell *menu_shell, - gboolean force_hide); - void (*cancel) (GtkMenuShell *menu_shell); - void (*select_item) (GtkMenuShell *menu_shell, - GtkWidget *menu_item); - void (*insert) (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position); + + void (*deactivate) (GtkMenuShell *menu_shell); + void (*selection_done) (GtkMenuShell *menu_shell); + + void (*move_current) (GtkMenuShell *menu_shell, + GtkMenuDirectionType direction); + void (*activate_current) (GtkMenuShell *menu_shell, + gboolean force_hide); + void (*cancel) (GtkMenuShell *menu_shell); + void (*select_item) (GtkMenuShell *menu_shell, + GtkWidget *menu_item); + void (*insert) (GtkMenuShell *menu_shell, + GtkWidget *child, + gint position); + gint (*get_popup_delay) (GtkMenuShell *menu_shell); + gboolean (*move_selected) (GtkMenuShell *menu_shell, + gint distance); /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -95,29 +86,38 @@ struct _GtkMenuShellClass }; -GType gtk_menu_shell_get_type (void) G_GNUC_CONST; -void gtk_menu_shell_append (GtkMenuShell *menu_shell, - GtkWidget *child); -void gtk_menu_shell_prepend (GtkMenuShell *menu_shell, - GtkWidget *child); -void gtk_menu_shell_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position); -void gtk_menu_shell_deactivate (GtkMenuShell *menu_shell); -void gtk_menu_shell_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item); -void gtk_menu_shell_deselect (GtkMenuShell *menu_shell); -void gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item, - gboolean force_deactivate); - -void gtk_menu_shell_select_first (GtkMenuShell *menu_shell, - gboolean search_sensitive); -void _gtk_menu_shell_activate (GtkMenuShell *menu_shell); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +GType gtk_menu_shell_get_type (void) G_GNUC_CONST; + +void gtk_menu_shell_append (GtkMenuShell *menu_shell, + GtkWidget *child); +void gtk_menu_shell_prepend (GtkMenuShell *menu_shell, + GtkWidget *child); +void gtk_menu_shell_insert (GtkMenuShell *menu_shell, + GtkWidget *child, + gint position); +void gtk_menu_shell_deactivate (GtkMenuShell *menu_shell); +void gtk_menu_shell_select_item (GtkMenuShell *menu_shell, + GtkWidget *menu_item); +void gtk_menu_shell_deselect (GtkMenuShell *menu_shell); +void gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, + GtkWidget *menu_item, + gboolean force_deactivate); +void gtk_menu_shell_select_first (GtkMenuShell *menu_shell, + gboolean search_sensitive); +void gtk_menu_shell_cancel (GtkMenuShell *menu_shell); +gboolean gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell); +void gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell, + gboolean take_focus); + +GtkWidget *gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell); +GtkWidget *gtk_menu_shell_get_parent_shell (GtkMenuShell *menu_shell); + +GDK_AVAILABLE_IN_3_6 +void gtk_menu_shell_bind_model (GtkMenuShell *menu_shell, + GMenuModel *model, + const gchar *action_namespace, + gboolean with_separators); + +G_END_DECLS #endif /* __GTK_MENU_SHELL_H__ */