summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-11-27 08:11:24 +0000
committerVaadin Code Review <review@vaadin.com>2012-11-27 08:11:24 +0000
commitec9b340b8d2bbbaed560834ad828f7d9857eaf15 (patch)
tree5d91ed044110432bee783dd086b2fe31349a3f27 /server/src/com/vaadin/ui
parent68ce534db7bf2aae75f9a6bf2ccdf3bea9fd69e4 (diff)
parent785b0b0afbcce7ecfaa30e837ed41387dee03267 (diff)
downloadvaadin-framework-ec9b340b8d2bbbaed560834ad828f7d9857eaf15.tar.gz
vaadin-framework-ec9b340b8d2bbbaed560834ad828f7d9857eaf15.zip
Merge "Fail if a Window is attached to something else than a UI (#10374)"
Diffstat (limited to 'server/src/com/vaadin/ui')
-rw-r--r--server/src/com/vaadin/ui/UI.java16
-rw-r--r--server/src/com/vaadin/ui/Window.java18
2 files changed, 34 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/UI.java b/server/src/com/vaadin/ui/UI.java
index e99846c84b..55f756010e 100644
--- a/server/src/com/vaadin/ui/UI.java
+++ b/server/src/com/vaadin/ui/UI.java
@@ -969,4 +969,20 @@ public abstract class UI extends AbstractSingleComponentContainer implements
public void detach() {
super.detach();
}
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.vaadin.ui.AbstractSingleComponentContainer#setContent(com.vaadin.
+ * ui.Component)
+ */
+ @Override
+ public void setContent(Component content) {
+ if (content instanceof Window) {
+ throw new IllegalArgumentException(
+ "A Window cannot be added using setContent. Use addWindow(Window window) instead");
+ }
+ super.setContent(content);
+ }
}
diff --git a/server/src/com/vaadin/ui/Window.java b/server/src/com/vaadin/ui/Window.java
index b6f45db86a..30f1fa9e02 100644
--- a/server/src/com/vaadin/ui/Window.java
+++ b/server/src/com/vaadin/ui/Window.java
@@ -31,6 +31,7 @@ import com.vaadin.event.ShortcutAction;
import com.vaadin.event.ShortcutAction.KeyCode;
import com.vaadin.event.ShortcutAction.ModifierKey;
import com.vaadin.event.ShortcutListener;
+import com.vaadin.server.ClientConnector;
import com.vaadin.server.PaintException;
import com.vaadin.server.PaintTarget;
import com.vaadin.shared.MouseEventDetails;
@@ -126,6 +127,23 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
/*
* (non-Javadoc)
*
+ * @see
+ * com.vaadin.ui.AbstractComponent#setParent(com.vaadin.server.ClientConnector
+ * )
+ */
+ @Override
+ public void setParent(ClientConnector parent) {
+ if (parent == null || parent instanceof UI) {
+ super.setParent(parent);
+ } else {
+ throw new IllegalArgumentException(
+ "A Window can only be added to a UI using UI.addWindow(Window window)");
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
* @see com.vaadin.ui.Panel#changeVariables(java.lang.Object, java.util.Map)
*/