From 0fcade9ddfe7b624faa2e80e6138b5ac5c5ce950 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Mon, 25 Jun 2012 12:04:22 +0300 Subject: Fixed tab index for Button and NativeButton (#9022) --- .../terminal/gwt/client/ui/button/ButtonState.java | 25 +++++++++++++++++++++- src/com/vaadin/ui/Button.java | 18 +++++++++++----- 2 files changed, 37 insertions(+), 6 deletions(-) (limited to 'src/com') diff --git a/src/com/vaadin/terminal/gwt/client/ui/button/ButtonState.java b/src/com/vaadin/terminal/gwt/client/ui/button/ButtonState.java index fdc053b3ae..2daceea0e8 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/button/ButtonState.java +++ b/src/com/vaadin/terminal/gwt/client/ui/button/ButtonState.java @@ -5,6 +5,7 @@ package com.vaadin.terminal.gwt.client.ui.button; import com.vaadin.terminal.gwt.client.ComponentState; +import com.vaadin.terminal.gwt.client.ui.TabIndexState; import com.vaadin.ui.Button; /** @@ -14,9 +15,13 @@ import com.vaadin.ui.Button; * * @since 7.0 */ -public class ButtonState extends ComponentState { +public class ButtonState extends ComponentState implements TabIndexState { private boolean disableOnClick = false; private int clickShortcutKeyCode = 0; + /** + * The tab order number of this field. + */ + private int tabIndex = 0; /** * If caption should be rendered in HTML */ @@ -92,4 +97,22 @@ public class ButtonState extends ComponentState { return htmlContentAllowed; } + /* + * (non-Javadoc) + * + * @see com.vaadin.terminal.gwt.client.ui.TabIndexState#getTabIndex() + */ + public int getTabIndex() { + return tabIndex; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.terminal.gwt.client.ui.TabIndexState#setTabIndex(int) + */ + public void setTabIndex(int tabIndex) { + this.tabIndex = tabIndex; + } + } diff --git a/src/com/vaadin/ui/Button.java b/src/com/vaadin/ui/Button.java index 8e504d828b..0abc50f26f 100644 --- a/src/com/vaadin/ui/Button.java +++ b/src/com/vaadin/ui/Button.java @@ -357,8 +357,6 @@ public class Button extends AbstractComponent implements protected ClickShortcut clickShortcut; - private int tabIndex = 0; - /** * Makes it possible to invoke a click on this button by pressing the given * {@link KeyCode} and (optional) {@link ModifierKey}s.
@@ -471,13 +469,23 @@ public class Button extends AbstractComponent implements requestRepaint(); } + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.Component.Focusable#getTabIndex() + */ public int getTabIndex() { - return tabIndex; + return getState().getTabIndex(); } + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.Component.Focusable#setTabIndex(int) + */ public void setTabIndex(int tabIndex) { - this.tabIndex = tabIndex; - + getState().setTabIndex(tabIndex); + requestRepaint(); } @Override -- cgit v1.2.3 From d3e58e4d0999bb987795f2bc943c1584b2480617 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Mon, 25 Jun 2012 14:09:50 +0300 Subject: Avoid getting root panel document multiple times (#8717) --- src/com/vaadin/terminal/gwt/client/LayoutManagerIE8.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/com') diff --git a/src/com/vaadin/terminal/gwt/client/LayoutManagerIE8.java b/src/com/vaadin/terminal/gwt/client/LayoutManagerIE8.java index 742594671f..ea130779ea 100644 --- a/src/com/vaadin/terminal/gwt/client/LayoutManagerIE8.java +++ b/src/com/vaadin/terminal/gwt/client/LayoutManagerIE8.java @@ -7,6 +7,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Element; import com.google.gwt.user.client.ui.RootPanel; @@ -36,11 +37,12 @@ public class LayoutManagerIE8 extends LayoutManager { @Override protected void cleanMeasuredSizes() { + Document document = RootPanel.get().getElement().getOwnerDocument(); + Iterator i = measuredSizes.keySet().iterator(); while (i.hasNext()) { Element e = i.next(); - if (e.getOwnerDocument() != RootPanel.get().getElement() - .getOwnerDocument()) { + if (e.getOwnerDocument() != document) { i.remove(); } } -- cgit v1.2.3