aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-08-20 08:53:33 +0300
committerLeif Åstrand <leif@vaadin.com>2012-08-20 08:53:33 +0300
commit890356e6ab17661364a04d60ded9fe01628b0830 (patch)
treef602189d4f3f47e1026f7327eb4324e89b3c5a9d /server
parente69c4908ba61b1fd09f0b50ecbc2e0ec11cd06f5 (diff)
downloadvaadin-framework-890356e6ab17661364a04d60ded9fe01628b0830.tar.gz
vaadin-framework-890356e6ab17661364a04d60ded9fe01628b0830.zip
Support @Delayable and change window size update to use it (#8421)
Diffstat (limited to 'server')
-rw-r--r--server/src/com/vaadin/terminal/Page.java20
-rw-r--r--server/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java1
-rw-r--r--server/src/com/vaadin/terminal/gwt/server/LegacyChangeVariablesInvocation.java50
-rw-r--r--server/src/com/vaadin/ui/Root.java13
-rw-r--r--server/src/com/vaadin/ui/Window.java19
5 files changed, 15 insertions, 88 deletions
diff --git a/server/src/com/vaadin/terminal/Page.java b/server/src/com/vaadin/terminal/Page.java
index d5d474e2e3..933f9b39e6 100644
--- a/server/src/com/vaadin/terminal/Page.java
+++ b/server/src/com/vaadin/terminal/Page.java
@@ -376,23 +376,17 @@ public class Page implements Serializable {
.getBrowser();
}
- public void setBrowserWindowSize(Integer width, Integer height) {
+ public void setBrowserWindowSize(int width, int height) {
boolean fireEvent = false;
- if (width != null) {
- int newWidth = width.intValue();
- if (newWidth != browserWindowWidth) {
- browserWindowWidth = newWidth;
- fireEvent = true;
- }
+ if (width != browserWindowWidth) {
+ browserWindowWidth = width;
+ fireEvent = true;
}
- if (height != null) {
- int newHeight = height.intValue();
- if (newHeight != browserWindowHeight) {
- browserWindowHeight = newHeight;
- fireEvent = true;
- }
+ if (height != browserWindowHeight) {
+ browserWindowHeight = height;
+ fireEvent = true;
}
if (fireEvent) {
diff --git a/server/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/server/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
index 00e65382cd..96ae70f27c 100644
--- a/server/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
+++ b/server/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
@@ -69,6 +69,7 @@ import com.vaadin.external.json.JSONObject;
import com.vaadin.shared.ApplicationConstants;
import com.vaadin.shared.Connector;
import com.vaadin.shared.Version;
+import com.vaadin.shared.communication.LegacyChangeVariablesInvocation;
import com.vaadin.shared.communication.MethodInvocation;
import com.vaadin.shared.communication.SharedState;
import com.vaadin.shared.communication.UidlValue;
diff --git a/server/src/com/vaadin/terminal/gwt/server/LegacyChangeVariablesInvocation.java b/server/src/com/vaadin/terminal/gwt/server/LegacyChangeVariablesInvocation.java
deleted file mode 100644
index fc3fbd6c00..0000000000
--- a/server/src/com/vaadin/terminal/gwt/server/LegacyChangeVariablesInvocation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2011 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.terminal.gwt.server;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.vaadin.shared.ApplicationConstants;
-import com.vaadin.shared.communication.MethodInvocation;
-
-public class LegacyChangeVariablesInvocation extends MethodInvocation {
- private Map<String, Object> variableChanges = new HashMap<String, Object>();
-
- public LegacyChangeVariablesInvocation(String connectorId,
- String variableName, Object value) {
- super(connectorId, ApplicationConstants.UPDATE_VARIABLE_INTERFACE,
- ApplicationConstants.UPDATE_VARIABLE_METHOD);
- setVariableChange(variableName, value);
- }
-
- public static boolean isLegacyVariableChange(String interfaceName,
- String methodName) {
- return ApplicationConstants.UPDATE_VARIABLE_METHOD
- .equals(interfaceName)
- && ApplicationConstants.UPDATE_VARIABLE_METHOD
- .equals(methodName);
- }
-
- public void setVariableChange(String name, Object value) {
- variableChanges.put(name, value);
- }
-
- public Map<String, Object> getVariableChanges() {
- return variableChanges;
- }
-
-}
diff --git a/server/src/com/vaadin/ui/Root.java b/server/src/com/vaadin/ui/Root.java
index 685296c55a..b37005a16e 100644
--- a/server/src/com/vaadin/ui/Root.java
+++ b/server/src/com/vaadin/ui/Root.java
@@ -434,6 +434,13 @@ public abstract class Root extends AbstractComponentContainer implements
public void click(MouseEventDetails mouseDetails) {
fireEvent(new ClickEvent(Root.this, mouseDetails));
}
+
+ @Override
+ public void resize(int viewWidth, int viewHeight, int windowWidth,
+ int windowHeight) {
+ // TODO We're not doing anything with the view dimensions
+ getPage().setBrowserWindowSize(windowWidth, windowHeight);
+ }
};
/**
@@ -582,12 +589,6 @@ public abstract class Root extends AbstractComponentContainer implements
.get(RootConstants.FRAGMENT_VARIABLE);
getPage().setFragment(fragment, true);
}
-
- if (variables.containsKey("height") || variables.containsKey("width")) {
- getPage().setBrowserWindowSize((Integer) variables.get("width"),
- (Integer) variables.get("height"));
- }
-
}
/*
diff --git a/server/src/com/vaadin/ui/Window.java b/server/src/com/vaadin/ui/Window.java
index 13ef7e5784..d1d2c25d8b 100644
--- a/server/src/com/vaadin/ui/Window.java
+++ b/server/src/com/vaadin/ui/Window.java
@@ -32,7 +32,6 @@ import com.vaadin.event.ShortcutAction.KeyCode;
import com.vaadin.event.ShortcutAction.ModifierKey;
import com.vaadin.event.ShortcutListener;
import com.vaadin.shared.MouseEventDetails;
-import com.vaadin.shared.ui.root.RootConstants;
import com.vaadin.shared.ui.window.WindowServerRpc;
import com.vaadin.shared.ui.window.WindowState;
import com.vaadin.terminal.PaintException;
@@ -76,10 +75,6 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
}
};
- private int browserWindowWidth = -1;
-
- private int browserWindowHeight = -1;
-
/**
* Creates a new unnamed window with a default layout.
*/
@@ -170,20 +165,6 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
.get("width") != getWidth())) {
sizeHasChanged = true;
}
- Integer browserHeightVar = (Integer) variables
- .get(RootConstants.BROWSER_HEIGHT_VAR);
- if (browserHeightVar != null
- && browserHeightVar.intValue() != browserWindowHeight) {
- browserWindowHeight = browserHeightVar.intValue();
- sizeHasChanged = true;
- }
- Integer browserWidthVar = (Integer) variables
- .get(RootConstants.BROWSER_WIDTH_VAR);
- if (browserWidthVar != null
- && browserWidthVar.intValue() != browserWindowWidth) {
- browserWindowWidth = browserWidthVar.intValue();
- sizeHasChanged = true;
- }
super.changeVariables(source, variables);