Hi, I've been trying to usw the new TabLayoutPanel for different layouts. Here are my findings:
1. The .gwt-TabLayoutPanelTabs style gets applied to the wrapper element with width set to >16000 px. This makes it impossible to create a border around the tab bar. As a workaround I had to apply a style to wrapper element like this: ((Element) tabPanel.getElement().getChild(1)).setClassName(".gwt- TabLayoutPanel-wrapper"); This is very ugly and will fail as soon as the TabLayoutPanel impl changes. Please consider applying the ".gwt-TabLayoutPanelTabs" style to the appropriate wrapper element. 2. The setStyle(Primary)Name methods will not change the substyles. When using different TabLayoutPanels with different styles in the same application you'll have to overwrite each css property as you'll inherit all styles by default. It would be much better to change all substyles as it has been the case with the "old" gwt widgets or - even better - to pass a ClientBundle defining all styles as an optional argument to the cstr of the TabLayoutPanel. A default style factory could provide default styles if no ClientBundle is provided. Replacing the default style factory using deferred binding could make the default styles themable. I've used this approach in my own app and it works fine.
-- http://groups.google.com/group/Google-Web-Toolkit-Contributors