From da85d29c08615d189eeb323125433527c9ffccd1 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Thu, 30 Aug 2007 10:20:55 +0000 Subject: [PATCH] bit lighter implementation for iview (without focus panel) svn changeset:2156/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/IView.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java index f657dba417..8492f66121 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java @@ -3,16 +3,21 @@ package com.itmill.toolkit.terminal.gwt.client.ui; import java.util.HashSet; import java.util.Iterator; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Event; import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.ui.FocusPanel; -import com.google.gwt.user.client.ui.KeyboardListener; +import com.google.gwt.user.client.ui.KeyboardListenerCollection; import com.google.gwt.user.client.ui.RootPanel; +import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; -public class IView extends FocusPanel implements Paintable, KeyboardListener { +/** + * + */ +public class IView extends SimplePanel implements Paintable { private String theme; @@ -26,7 +31,7 @@ public class IView extends FocusPanel implements Paintable, KeyboardListener { public IView() { super(); - addKeyboardListener(this); + DOM.sinkEvents(getElement(), Event.ONKEYDOWN); } public String getTheme() { @@ -102,19 +107,16 @@ public class IView extends FocusPanel implements Paintable, KeyboardListener { RootPanel.get().remove(w); } } - - public void onKeyDown(Widget sender, char keyCode, int modifiers) { - if(actionHandler != null) - actionHandler.handleKeyboardEvent(keyCode, modifiers); - } - - public void onKeyPress(Widget sender, char keyCode, int modifiers) { - + + public void onBrowserEvent(Event event) { + super.onBrowserEvent(event); + if (DOM.eventGetType(event) == Event.ONKEYDOWN && actionHandler != null) { + int modifiers = KeyboardListenerCollection.getKeyboardModifiers(event); + actionHandler.handleKeyboardEvent( + (char) DOM.eventGetKeyCode(event), modifiers); + return; + } } - public void onKeyUp(Widget sender, char keyCode, int modifiers) { - - } - } -- 2.39.5