diff options
Diffstat (limited to 'WebCore/platform/gtk/PopupMenuGtk.h')
-rw-r--r-- | WebCore/platform/gtk/PopupMenuGtk.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/WebCore/platform/gtk/PopupMenuGtk.h b/WebCore/platform/gtk/PopupMenuGtk.h index 8848e06..e47fda6 100644 --- a/WebCore/platform/gtk/PopupMenuGtk.h +++ b/WebCore/platform/gtk/PopupMenuGtk.h @@ -24,11 +24,12 @@ #include "IntRect.h" #include "PopupMenu.h" #include "PopupMenuClient.h" -#include <glib.h> #include <wtf/HashMap.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> +typedef struct _GdkEventKey GdkEventKey; + namespace WebCore { class FrameView; @@ -43,19 +44,27 @@ public: virtual void hide(); virtual void updateFromElement(); virtual void disconnectClient(); + bool typeAheadFind(GdkEventKey*); private: PopupMenuClient* client() const { return m_popupClient; } + void resetTypeAheadFindState(); static void menuItemActivated(GtkMenuItem* item, PopupMenuGtk*); static void menuUnmapped(GtkWidget*, PopupMenuGtk*); static void menuPositionFunction(GtkMenu*, gint*, gint*, gboolean*, PopupMenuGtk*); static void menuRemoveItem(GtkWidget*, PopupMenuGtk*); + static int selectItemCallback(GtkMenuItem*, PopupMenuGtk*); + static int keyPressEventCallback(GtkWidget*, GdkEventKey*, PopupMenuGtk*); PopupMenuClient* m_popupClient; IntPoint m_menuPosition; PlatformRefPtr<GtkMenu> m_popup; HashMap<GtkWidget*, int> m_indexMap; + String m_currentSearchString; + uint32_t m_previousKeyEventTimestamp; + unsigned int m_previousKeyEventCharacter; + GtkWidget* m_currentlySelectedMenuItem; }; } |