Hi,
I’ve noticed a new bug behaviour that has appeared since upgrading to 7.1.3 from 7.0.1.
I’m using a Vaadin Composite object for a form. This uses an AbsoluteLayout to place controls within the form.
In 7.0.x, it didn’t matter where the various ‘mainLayout.addComponent(…)’ calls lived within the code.
In 7.1, it does matter!
The components need to be added in Left/Right/Top/Bottom order.
If they’re not, the controls will be displayed in the form, but it’s then not possible to click on them (although you can to the controls).
For example, given this code snippet:
[code]
mainLayout.addComponent(tfLastName, “top:64.0px;left:340.0px;”);
mainLayout.addComponent(tfEmailAddress, “top:64.0px;left:0.0px;”);
[/code]This will cause the ‘tfLastName’ component to be visible, but not clickable.
If the code is changed to reverse the order:
[code]
mainLayout.addComponent(tfEmailAddress, “top:64.0px;left:0.0px;”);
mainLayout.addComponent(tfLastName, “top:64.0px;left:340.0px;”);
[/code]Then it works as intended.
From looking in Firebug, this looks like it might be because components are using the full width of the layout, thus blocking the focusability of the ‘invisibly-covered’ component.
Note, this isn’t directly related to the Vaadin Composite plugin, but the plugin can make the problem show up if it generates the component code in the wrong order (which depends on the order they’re added in the XUL panel).
It really shouldn’t matter which order components are added to a form for focusability, hence the bug nomenclature.
Thanks,
Peter