]> source.dussan.org Git - vaadin-framework.git/commitdiff
Get scroll position from state, where it is available
authorArtur Signell <artur@vaadin.com>
Wed, 14 Mar 2012 13:34:53 +0000 (15:34 +0200)
committerArtur Signell <artur@vaadin.com>
Wed, 14 Mar 2012 14:01:28 +0000 (16:01 +0200)
src/com/vaadin/terminal/gwt/client/ui/WindowConnector.java
src/com/vaadin/ui/Window.java

index 7e9f7c95804ce9ab98b433ff12924b9936e13447..f1b7232de65fc5fea0588027397dcec44f19dee2 100644 (file)
@@ -21,12 +21,17 @@ import com.vaadin.terminal.gwt.client.ComponentConnector;
 import com.vaadin.terminal.gwt.client.LayoutManager;
 import com.vaadin.terminal.gwt.client.UIDL;
 import com.vaadin.terminal.gwt.client.Util;
+import com.vaadin.terminal.gwt.client.ui.PanelConnector.PanelState;
 import com.vaadin.terminal.gwt.client.ui.ShortcutActionHandler.BeforeShortcutActionListener;
 
 public class WindowConnector extends AbstractComponentContainerConnector
         implements BeforeShortcutActionListener, SimpleManagedLayout,
         PostLayoutListener {
 
+    public static class WindowState extends PanelState {
+
+    }
+
     private static final String CLICK_EVENT_IDENTIFIER = PanelConnector.CLICK_EVENT_IDENTIFIER;
 
     private ClickEventHandler clickEventHandler = new ClickEventHandler(this,
@@ -178,10 +183,9 @@ public class WindowConnector extends AbstractComponentContainerConnector
         }
 
         // setting scrollposition must happen after children is rendered
-        getWidget().contentPanel.setScrollPosition(uidl
-                .getIntVariable("scrollTop"));
-        getWidget().contentPanel.setHorizontalScrollPosition(uidl
-                .getIntVariable("scrollLeft"));
+        getWidget().contentPanel.setScrollPosition(getState().getScrollTop());
+        getWidget().contentPanel.setHorizontalScrollPosition(getState()
+                .getScrollLeft());
 
         // Center this window on screen if requested
         // This had to be here because we might not know the content size before
@@ -306,4 +310,8 @@ public class WindowConnector extends AbstractComponentContainerConnector
         window.updateShadowSizeAndPosition();
     }
 
+    @Override
+    public WindowState getState() {
+        return (WindowState) super.getState();
+    }
 }
index 57ed11f3bac6df6dc86a78bc278432dd8941129a..41bef54fe24f7cca2f5d0cb09e719db1acc69e8b 100644 (file)
@@ -21,9 +21,9 @@ import com.vaadin.event.ShortcutAction.ModifierKey;
 import com.vaadin.event.ShortcutListener;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
-import com.vaadin.terminal.gwt.client.ui.PanelConnector.PanelState;
 import com.vaadin.terminal.gwt.client.ui.VView;
 import com.vaadin.terminal.gwt.client.ui.WindowConnector;
+import com.vaadin.terminal.gwt.client.ui.WindowConnector.WindowState;
 
 /**
  * A component that represents an application (browser native) window or a sub
@@ -74,10 +74,6 @@ import com.vaadin.terminal.gwt.client.ui.WindowConnector;
 @ClientWidget(WindowConnector.class)
 public class Window extends Panel implements FocusNotifier, BlurNotifier {
 
-    public class WindowState extends PanelState {
-
-    }
-
     /**
      * <b>Sub window only</b>. Top offset in pixels for the sub window (relative
      * to the parent application window) or -1 if unspecified.
@@ -892,4 +888,13 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier {
         bringToFront();
     }
 
+    @Override
+    public WindowState getState() {
+        return (WindowState) super.getState();
+    }
+
+    @Override
+    protected WindowState createState() {
+        return new WindowState();
+    }
 }