diff options
author | Matthias Clasen <mclasen@redhat.com> | 2004-12-10 22:09:22 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-12-10 22:09:22 +0000 |
commit | f3a74ace5f69840657813cd68f441ceadea671e8 (patch) | |
tree | f7472b9e2844e5b6a983fc8586bf0b6d08edf6ca /gtk/gtkmnemonichash.h | |
parent | 5c98a5ebee6c2554d5d230e18091e071aca7292a (diff) | |
download | gtk+-f3a74ace5f69840657813cd68f441ceadea671e8.tar.gz |
Support no-Alt mnemnonics in menu bars (#101309, Owen Taylor)
2004-12-10 Matthias Clasen <mclasen@redhat.com>
Support no-Alt mnemnonics in menu bars (#101309, Owen Taylor)
* gtk/gtkwindow.c: Factor out mnemonic hash code into
a separate file.
* gtk/gtkmnemonichash.[hc]: Factored out mnemonic hash
code from gtkwindow.c.
* gtk/Makefile.am (gtk_c_sources): Add gtkmnemonichash.[hc].
* gtk/gtkmenushell.c (struct _GtkMenuShellPrivate): Give
menu shells their own mnemonic hash.
* gtk/gtkmenushell.h: Add private api to support mnemonics.
* gtk/gtklabel.c (gtk_label_setup_mnemonic): Add mnemonic to
the menushell mnemonic hash when inside a menu.
Diffstat (limited to 'gtk/gtkmnemonichash.h')
-rw-r--r-- | gtk/gtkmnemonichash.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gtk/gtkmnemonichash.h b/gtk/gtkmnemonichash.h new file mode 100644 index 0000000000..534137f077 --- /dev/null +++ b/gtk/gtkmnemonichash.h @@ -0,0 +1,54 @@ +/* gtkmnemonichash.h: Sets of mnemonics with cycling + * + * GTK - The GIMP Toolkit + * Copyright (C) 2002, Red Hat Inc. + * + * 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 + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_MNEMONIC_HASH_H__ +#define __GTK_MNEMONIC_HASH_H__ + +#include <gdk/gdk.h> +#include <gtk/gtkwidget.h> + +G_BEGIN_DECLS + +typedef struct _GtkMnemnonicHash GtkMnemonicHash; + +typedef void (*GtkMnemonicHashForeach) (guint keyval, + GSList *targets, + gpointer data); + +GtkMnemonicHash *_gtk_mnemonic_hash_new (void); +void _gtk_mnemonic_hash_free (GtkMnemonicHash *mnemonic_hash); +void _gtk_mnemonic_hash_add (GtkMnemonicHash *mnemonic_hash, + guint keyval, + GtkWidget *target); +void _gtk_mnemonic_hash_remove (GtkMnemonicHash *mnemonic_hash, + guint keyval, + GtkWidget *target); +gboolean _gtk_mnemonic_hash_activate (GtkMnemonicHash *mnemonic_hash, + guint keyval); +GSList * _gtk_mnemonic_hash_lookup (GtkMnemonicHash *mnemonic_hash, + guint keyval); +void _gtk_mnemonic_hash_foreach (GtkMnemonicHash *mnemonic_hash, + GtkMnemonicHashForeach func, + gpointer func_data); + +G_END_DECLS + +#endif /* __GTK_MNEMONIC_HASH_H__ */ |