]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merge remote-tracking branch 'origin/6.8'
authorJohannes Dahlström <johannesd@vaadin.com>
Fri, 2 Mar 2012 12:24:56 +0000 (14:24 +0200)
committerJohannes Dahlström <johannesd@vaadin.com>
Fri, 2 Mar 2012 12:24:56 +0000 (14:24 +0200)
Conflicts:
src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
src/com/vaadin/ui/TabSheet.java

1  2 
WebContent/VAADIN/themes/base/tabsheet/tabsheet.css
WebContent/VAADIN/themes/chameleon/components/table/table.css
WebContent/VAADIN/themes/reindeer/table/table.css
src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
src/com/vaadin/ui/TabSheet.java
src/com/vaadin/ui/Table.java
tests/testbench/com/vaadin/tests/layouts/layouttester/GridLayoutTests.java

index 5e4b76f828b4a8d0e771e42b9982fdbe02f76972,dea664b7653a7c79ed826e19a3df7e4ca56755a5..5b14bede1d8cea62aa234efe1bd88afbf6d1dce7
@@@ -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.Paintable;
 -import com.vaadin.terminal.gwt.client.RenderInformation;
 -import com.vaadin.terminal.gwt.client.RenderSpace;
 +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.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;
      // Can't use "style" as it's already in use
      public static final String TAB_STYLE_NAME = "tabstyle";
  
 -    private final Element tabs; // tabbar and 'scroller' container
 +    final Element tabs; // tabbar and 'scroller' container
++    Tab focusedTab;
++    int tabulatorIndex = 0;
++
+     private static final FocusImpl focusImpl = FocusImpl.getFocusImplForPanel();
      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
       */
      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
       */
      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)) {
index a651f05cc3803d2f2abd14d095839af1a8785113,70fa95ba975b1cb5d50a4474ac6116a95db8b948..01f808099aa981e7c2ea9b94c268a46b47661b50
@@@ -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;
  
   * @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,
Simple merge