From bced63332088e945356d6bc36d0db07af4a84948 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Tue, 30 Sep 2008 11:23:39 +0000 Subject: [PATCH] fixes #2128, implemented Focusable for some client side selects svn changeset:5560/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/IListSelect.java | 4 ++++ .../toolkit/terminal/gwt/client/ui/INativeSelect.java | 4 ++++ .../toolkit/terminal/gwt/client/ui/IOptionGroup.java | 8 ++++++++ .../toolkit/terminal/gwt/client/ui/IOptionGroupBase.java | 3 ++- .../toolkit/terminal/gwt/client/ui/ITwinColSelect.java | 4 ++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IListSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IListSelect.java index 4b7a3a0477..7bc4863dfb 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IListSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IListSelect.java @@ -98,6 +98,10 @@ public class IListSelect extends IOptionGroupBase { ((TooltipListBox) optionsContainer).setTabIndex(tabIndex); } + public void focus() { + select.setFocus(true); + } + } /** diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/INativeSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/INativeSelect.java index 8bb4bd35dd..8cb8d6ca61 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/INativeSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/INativeSelect.java @@ -92,4 +92,8 @@ public class INativeSelect extends IOptionGroupBase implements Field { ((TooltipListBox) optionsContainer).setTabIndex(tabIndex); } + public void focus() { + select.setFocus(true); + } + } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroup.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroup.java index d771f5e644..c737a52e95 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroup.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroup.java @@ -9,6 +9,7 @@ import java.util.Iterator; import java.util.Map; import com.google.gwt.user.client.ui.CheckBox; +import com.google.gwt.user.client.ui.HasFocus; import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.RadioButton; import com.google.gwt.user.client.ui.Widget; @@ -87,4 +88,11 @@ public class IOptionGroup extends IOptionGroupBase { } } + public void focus() { + Iterator iterator = panel.iterator(); + if (iterator.hasNext()) { + ((HasFocus) iterator.next()).setFocus(true); + } + } + } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroupBase.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroupBase.java index ffb204dee0..2dc44cc33f 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroupBase.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroupBase.java @@ -14,11 +14,12 @@ import com.google.gwt.user.client.ui.KeyboardListener; import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; +import com.itmill.toolkit.terminal.gwt.client.Focusable; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; abstract class IOptionGroupBase extends Composite implements Paintable, Field, - ClickListener, ChangeListener, KeyboardListener { + ClickListener, ChangeListener, KeyboardListener, Focusable { public static final String CLASSNAME_OPTION = "i-select-option"; diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITwinColSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITwinColSelect.java index d33fc5a8b9..b6a95ffb73 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITwinColSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITwinColSelect.java @@ -224,4 +224,8 @@ public class ITwinColSelect extends IOptionGroupBase { add.setTabIndex(tabIndex); remove.setTabIndex(tabIndex); } + + public void focus() { + options.setFocus(true); + } } -- 2.39.5