]> source.dussan.org Git - vaadin-framework.git/commitdiff
#8720 Improve handling of tab container scrolling
authorJohannes Dahlström <johannes.dahlstrom@vaadin.com>
Fri, 11 May 2012 15:08:46 +0000 (15:08 +0000)
committerJohannes Dahlström <johannes.dahlstrom@vaadin.com>
Fri, 11 May 2012 15:08:46 +0000 (15:08 +0000)
svn changeset:23721/svn branch:6.8

src/com/vaadin/terminal/gwt/client/ui/VTabsheetPanel.java

index f1dbea18b2844aab92a1942fda81b2c860263921..d8ab30a1e1c18057f2ef6e29ed52c115cd0cabe7 100644 (file)
@@ -6,7 +6,6 @@ package com.vaadin.terminal.gwt.client.ui;
 
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Element;
-import com.google.gwt.user.client.Event;
 import com.google.gwt.user.client.ui.ComplexPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.vaadin.terminal.gwt.client.Util;
@@ -25,15 +24,13 @@ public class VTabsheetPanel extends ComplexPanel {
 
     private Widget visibleWidget;
 
-    private TouchScrollHandler touchScrollHandler;
+    private final TouchScrollHandler touchScrollHandler;
 
     /**
      * Creates an empty tabsheet panel.
      */
     public VTabsheetPanel() {
         setElement(DOM.createDiv());
-        sinkEvents(Event.TOUCHEVENTS);
-
         touchScrollHandler = TouchScrollDelegate.enableTouchScrolling(this);
     }
 
@@ -54,6 +51,7 @@ public class VTabsheetPanel extends ComplexPanel {
         Element el = DOM.createDiv();
         DOM.setStyleAttribute(el, "position", "absolute");
         hide(el);
+        touchScrollHandler.addElement(el);
         return el;
     }
 
@@ -97,6 +95,7 @@ public class VTabsheetPanel extends ComplexPanel {
             if (parent != null) {
                 DOM.removeChild(getElement(), parent);
             }
+            touchScrollHandler.removeElement(parent);
         }
         return removed;
     }
@@ -117,8 +116,6 @@ public class VTabsheetPanel extends ComplexPanel {
             }
             visibleWidget = newVisible;
             unHide(DOM.getParent(visibleWidget.getElement()));
-            touchScrollHandler.setElements(visibleWidget.getElement()
-                    .getParentElement());
         }
     }