From 9150841ab5d8526bcfdd6fd093e6910cd67a6986 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Mon, 25 Aug 2008 09:59:50 +0000 Subject: [PATCH] #1986 (tabindex for some selects) svn changeset:5255/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/IListSelect.java | 4 ++++ .../terminal/gwt/client/ui/INativeSelect.java | 4 ++++ .../toolkit/terminal/gwt/client/ui/IOptionGroup.java | 12 ++++++++++++ .../terminal/gwt/client/ui/IOptionGroupBase.java | 5 +++++ .../terminal/gwt/client/ui/ITwinColSelect.java | 7 +++++++ 5 files changed, 32 insertions(+) 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 ccc149a52e..6c4584edf2 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IListSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IListSelect.java @@ -94,6 +94,10 @@ public class IListSelect extends IOptionGroupBase { super.setWidth(width); } + protected void setTabIndex(int tabIndex) { + ((TooltipListBox) optionsContainer).setTabIndex(tabIndex); + } + } /** 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 9cc1e685c8..8bb4bd35dd 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/INativeSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/INativeSelect.java @@ -88,4 +88,8 @@ public class INativeSelect extends IOptionGroupBase implements Field { super.setWidth(width); } + protected void setTabIndex(int tabIndex) { + ((TooltipListBox) optionsContainer).setTabIndex(tabIndex); + } + } 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 5120d913ec..d771f5e644 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroup.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroup.java @@ -75,4 +75,16 @@ public class IOptionGroup extends IOptionGroupBase { } } + protected void setTabIndex(int tabIndex) { + for (Iterator iterator = panel.iterator(); iterator.hasNext();) { + if (isMultiselect()) { + ICheckBox cb = (ICheckBox) iterator.next(); + cb.setTabIndex(tabIndex); + } else { + RadioButton rb = (RadioButton) iterator.next(); + rb.setTabIndex(tabIndex); + } + } + } + } 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 04ac2cee78..ffb204dee0 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroupBase.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOptionGroupBase.java @@ -173,8 +173,13 @@ abstract class IOptionGroupBase extends Composite implements Paintable, Field, container.remove(newItemButton); } + setTabIndex(uidl.hasAttribute("tabindex") ? uidl + .getIntAttribute("tabindex") : 0); + } + abstract protected void setTabIndex(int tabIndex); + public void onClick(Widget sender) { if (sender == newItemButton && !newItemField.getText().equals("")) { client.updateVariable(id, "newitem", newItemField.getText(), true); 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 40aae9d852..d33fc5a8b9 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITwinColSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITwinColSelect.java @@ -217,4 +217,11 @@ public class ITwinColSelect extends IOptionGroupBase { selections.setWidth("42%"); widthSet = true; } + + protected void setTabIndex(int tabIndex) { + options.setTabIndex(tabIndex); + selections.setTabIndex(tabIndex); + add.setTabIndex(tabIndex); + remove.setTabIndex(tabIndex); + } } -- 2.39.5