diff options
author | John Alhroos <john.ahlroos@itmill.com> | 2010-06-01 08:06:21 +0000 |
---|---|---|
committer | John Alhroos <john.ahlroos@itmill.com> | 2010-06-01 08:06:21 +0000 |
commit | c251eb74448b8271e5be5809a70771175a9ea4dd (patch) | |
tree | 3f2d4643f52c90e4b64fc89fcb95abe6054259b9 /src | |
parent | 440d646d699e04e82cbaf88a4728b6f53b0d2cf4 (diff) | |
parent | 57ee892bcd00ecc982448d6cc31c51a855da367e (diff) | |
download | vaadin-framework-c251eb74448b8271e5be5809a70771175a9ea4dd.tar.gz vaadin-framework-c251eb74448b8271e5be5809a70771175a9ea4dd.zip |
Merged fix for #3699 from 6.3 to 6.4
svn changeset:13454/svn branch:6.4
Diffstat (limited to 'src')
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java index 55acabb07d..089c61080f 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java @@ -11,14 +11,16 @@ import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyDownEvent;
import com.google.gwt.event.dom.client.KeyDownHandler;
+import com.google.gwt.event.dom.client.MouseDownEvent;
+import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Panel;
import com.vaadin.terminal.gwt.client.UIDL;
-
-public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler {
+ +public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler, MouseDownHandler {
private static final String CLASSNAME = "v-select-twincol";
@@ -67,9 +69,12 @@ public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler { buttons.add(remove);
panel.add(buttons);
panel.add(selections);
-
+ options.addKeyDownHandler(this);
- selections.addKeyDownHandler(this);
+ options.addMouseDownHandler(this);
+
+ selections.addMouseDownHandler(this);
+ selections.addKeyDownHandler(this); }
@Override
@@ -280,7 +285,7 @@ public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler { public void focus() {
options.setFocus(true);
- }
+ } /**
* Get the key that selects an item in the table. By default it is the Enter
@@ -355,4 +360,25 @@ public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler { }
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.google.gwt.event.dom.client.MouseDownHandler#onMouseDown(com.google
+ * .gwt.event.dom.client.MouseDownEvent)
+ */
+ public void onMouseDown(MouseDownEvent event) {
+ // Ensure that items are deselected when selecting
+ // from a different source. See #3699 for details.
+ if (event.getSource() == options) {
+ for (int i = 0; i < selections.getItemCount(); i++) {
+ selections.setItemSelected(i, false);
+ }
+ } else if (event.getSource() == selections) {
+ for (int i = 0; i < options.getItemCount(); i++) {
+ options.setItemSelected(i, false);
+ }
+ }
+
+ } }
|