From a14876b352538cc63c023d4444db0cbdbfe848cc Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Thu, 14 Oct 2010 07:45:34 +0000 Subject: [PATCH] Merged multiple bug fixes and test updates from 6.4 svn changeset:15546/svn branch:6.5 --- build/build.xml | 5 +- .../terminal/gwt/client/ui/VButton.java | 14 +- .../server/AbstractApplicationPortlet.java | 2 +- src/com/vaadin/ui/Table.java | 8 +- .../tests/components/ComponentTestCase.java | 41 +- .../vaadin/tests/components/table/Tables.java | 410 ++++++++++++++++++ tests/src/com/vaadin/tests/util/Log.java | 2 +- 7 files changed, 462 insertions(+), 20 deletions(-) create mode 100644 tests/src/com/vaadin/tests/components/table/Tables.java diff --git a/build/build.xml b/build/build.xml index e7cad185aa..6bcaa2d2af 100644 --- a/build/build.xml +++ b/build/build.xml @@ -658,7 +658,7 @@ Compiling widgetset ${widgetset}. Output directory: ${widgetsets-output-dir} - + @@ -668,7 +668,8 @@ - + + diff --git a/src/com/vaadin/terminal/gwt/client/ui/VButton.java b/src/com/vaadin/terminal/gwt/client/ui/VButton.java index d537997fbc..5a5eb0eda6 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VButton.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VButton.java @@ -34,6 +34,11 @@ public class VButton extends FocusWidget implements Paintable, ClickHandler, public static final String CLASSNAME = "v-button"; private static final String CLASSNAME_PRESSED = "v-pressed"; + // mouse movement is checked before synthesizing click event on mouseout + protected static int MOVE_THRESHOLD = 3; + protected int mousedownX = 0; + protected int mousedownY = 0; + protected String id; protected ApplicationConnection client; @@ -204,6 +209,11 @@ public class VButton extends FocusWidget implements Paintable, ClickHandler, break; case Event.ONMOUSEDOWN: if (event.getButton() == Event.BUTTON_LEFT) { + // save mouse position to detect movement before synthesizing + // event later + mousedownX = event.getClientX(); + mousedownY = event.getClientY(); + disallowNextClick = true; clickPending = true; setFocus(true); @@ -240,7 +250,9 @@ public class VButton extends FocusWidget implements Paintable, ClickHandler, Element to = event.getRelatedTarget(); if (getElement().isOrHasChild(DOM.eventGetTarget(event)) && (to == null || !getElement().isOrHasChild(to))) { - if (clickPending) { + if (clickPending + && Math.abs(mousedownX - event.getClientX()) < MOVE_THRESHOLD + && Math.abs(mousedownY - event.getClientY()) < MOVE_THRESHOLD) { onClick(); break; } diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java index 407b0dae77..8f806ef693 100644 --- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java +++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java @@ -1009,7 +1009,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet String widgetsetURL = getWidgetsetURL(widgetset, request); writer.write("document.write('');\n"); + + "hidden;opacity:0;top:-100px;left:-100px;\" src=\"javascript:false\">');\n"); writer.write("document.write(\"