From: Matti Tahvonen Date: Fri, 15 Aug 2008 13:49:53 +0000 (+0000) Subject: fixes #1986 (tabindex missing from client side) X-Git-Tag: 6.7.0.beta1~4347 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cb83fa7848009ed6f504528dc4241d07a0b53c70;p=vaadin-framework.git fixes #1986 (tabindex missing from client side) svn changeset:5196/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java index 3516b0a5f7..212bbbf875 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java @@ -757,7 +757,11 @@ public class ApplicationConnection { boolean enabled = !uidl.getBooleanAttribute("disabled"); if (component instanceof FocusWidget) { - ((FocusWidget) component).setEnabled(enabled); + FocusWidget fw = (FocusWidget) component; + fw.setEnabled(enabled); + if (uidl.hasAttribute("tabindex")) { + fw.setTabIndex(uidl.getIntAttribute("tabindex")); + } } StringBuffer styleBuf = new StringBuffer(); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java index 57c11c3f67..d096c7e42a 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java @@ -549,6 +549,11 @@ public class IFilterSelect extends Composite implements Paintable, Field, return; } + // not a FocusWidget -> needs own tabindex handling + if (uidl.hasAttribute("tabindex")) { + tb.setTabIndex(uidl.getIntAttribute("tabindex")); + } + immediate = uidl.hasAttribute("immediate"); nullSelectionAllowed = uidl.hasAttribute("nullselect"); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java index a08dcba1be..688e0c960d 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITextualDate.java @@ -56,6 +56,10 @@ public class ITextualDate extends IDateField implements Paintable, Field, formatStr = null; } buildDate(); + // not a FocusWidget -> needs own tabindex handling + if (uidl.hasAttribute("tabindex")) { + text.setTabIndex(uidl.getIntAttribute("tabindex")); + } } protected String getFormatString() { diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1986.java b/src/com/itmill/toolkit/tests/tickets/Ticket1986.java index 3f5461bdf3..1f0bc6cad2 100644 --- a/src/com/itmill/toolkit/tests/tickets/Ticket1986.java +++ b/src/com/itmill/toolkit/tests/tickets/Ticket1986.java @@ -1,6 +1,8 @@ package com.itmill.toolkit.tests.tickets; import com.itmill.toolkit.Application; +import com.itmill.toolkit.ui.ComboBox; +import com.itmill.toolkit.ui.DateField; import com.itmill.toolkit.ui.GridLayout; import com.itmill.toolkit.ui.TextField; import com.itmill.toolkit.ui.Window; @@ -13,16 +15,17 @@ public class Ticket1986 extends Application { GridLayout layout = new GridLayout(2, 2); TextField f1 = new TextField("1"); - int index = 0; + int index = 1; f1.setTabIndex(index++); TextField f2 = new TextField("2"); f2.setTabIndex(index++); - TextField f3 = new TextField("3"); + + DateField f3 = new DateField("3"); f3.setTabIndex(index++); - TextField f4 = new TextField("4"); - f4.setTabIndex(index++); + ComboBox cb = new ComboBox("4"); + cb.setTabIndex(index++); - layout.addComponent(f4); + layout.addComponent(cb); layout.addComponent(f3); layout.addComponent(f2); layout.addComponent(f1);