From: Johannes Dahlström Date: Fri, 2 Mar 2012 12:24:56 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/6.8' X-Git-Tag: 7.0.0.alpha2~394 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7ae5f809f7421d3d78aa71cfae4103af79051c2e;p=vaadin-framework.git Merge remote-tracking branch 'origin/6.8' Conflicts: src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java src/com/vaadin/ui/TabSheet.java --- 7ae5f809f7421d3d78aa71cfae4103af79051c2e diff --cc src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java index 5e4b76f828,dea664b765..5b14bede1d --- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java @@@ -20,18 -32,21 +31,22 @@@ import com.google.gwt.user.client.Event import com.google.gwt.user.client.ui.ComplexPanel; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.Widget; + import com.google.gwt.user.client.ui.impl.FocusImpl; import com.vaadin.terminal.gwt.client.ApplicationConnection; import com.vaadin.terminal.gwt.client.BrowserInfo; +import com.vaadin.terminal.gwt.client.ComponentConnector; +import com.vaadin.terminal.gwt.client.ComponentState; +import com.vaadin.terminal.gwt.client.ConnectorMap; + import com.vaadin.terminal.gwt.client.EventId; + import com.vaadin.terminal.gwt.client.Focusable; -import com.vaadin.terminal.gwt.client.Paintable; -import com.vaadin.terminal.gwt.client.RenderInformation; -import com.vaadin.terminal.gwt.client.RenderSpace; import com.vaadin.terminal.gwt.client.TooltipInfo; import com.vaadin.terminal.gwt.client.UIDL; import com.vaadin.terminal.gwt.client.Util; import com.vaadin.terminal.gwt.client.VCaption; +import com.vaadin.terminal.gwt.client.ui.label.VLabel; - public class VTabsheet extends VTabsheetBase { + public class VTabsheet extends VTabsheetBase implements Focusable, + FocusHandler, BlurHandler, KeyDownHandler { private static class VCloseEvent { private Tab tab; @@@ -474,7 -546,9 +526,12 @@@ // Can't use "style" as it's already in use public static final String TAB_STYLE_NAME = "tabstyle"; + final Element tabs; // tabbar and 'scroller' container ++ Tab focusedTab; ++ int tabulatorIndex = 0; ++ + private static final FocusImpl focusImpl = FocusImpl.getFocusImplForPanel(); + - private final Element tabs; // tabbar and 'scroller' container private final Element scroller; // tab-scroller element private final Element scrollerNext; // tab-scroller next button element private final Element scrollerPrev; // tab-scroller prev button element @@@ -484,13 -562,16 +541,13 @@@ */ private int scrollerIndex = 0; -- private final TabBar tb = new TabBar(this); - private final VTabsheetPanel tp = new VTabsheetPanel(); - private final Element contentNode, deco; ++ final TabBar tb = new TabBar(this); + final VTabsheetPanel tp = new VTabsheetPanel(); + final Element contentNode; - private String height; - private String width; + private final Element deco; - private boolean waitingForResponse; - - private final RenderInformation renderInformation = new RenderInformation(); + boolean waitingForResponse; /** * Previous visible widget is set invisible with CSS (not display: none, but @@@ -499,11 -580,16 +556,14 @@@ */ private Widget previousVisibleWidget; - private boolean rendering = false; - private String currentStyle; - private void onTabSelected(final int tabIndex) { + /** + * @return Whether the tab could be selected or not. + */ + private boolean onTabSelected(final int tabIndex) { if (disabled || waitingForResponse) { - return; + return false; } final Object tabKey = tabKeys.get(tabIndex); if (disabledTabKeys.contains(tabKey)) { diff --cc src/com/vaadin/ui/TabSheet.java index a651f05cc3,70fa95ba97..01f808099a --- a/src/com/vaadin/ui/TabSheet.java +++ b/src/com/vaadin/ui/TabSheet.java @@@ -19,11 -25,9 +25,12 @@@ import com.vaadin.terminal.KeyMapper import com.vaadin.terminal.PaintException; import com.vaadin.terminal.PaintTarget; import com.vaadin.terminal.Resource; +import com.vaadin.terminal.gwt.client.ui.AbstractComponentConnector; +import com.vaadin.terminal.gwt.client.ui.TabsheetBaseConnector; +import com.vaadin.terminal.gwt.client.ui.TabsheetConnector; import com.vaadin.terminal.gwt.client.ui.VTabsheet; import com.vaadin.terminal.gwt.server.CommunicationManager; + import com.vaadin.ui.Component.Focusable; import com.vaadin.ui.themes.Reindeer; import com.vaadin.ui.themes.Runo; @@@ -56,8 -60,10 +63,9 @@@ * @VERSION@ * @since 3.0 */ -@SuppressWarnings("serial") -@ClientWidget(VTabsheet.class) +@ClientWidget(TabsheetConnector.class) - public class TabSheet extends AbstractComponentContainer { + public class TabSheet extends AbstractComponentContainer implements Focusable, + FocusNotifier, BlurNotifier { /** * List of component tabs (tab contents). In addition to being on this list,