diff options
author | Leif Åstrand <leif@vaadin.com> | 2012-11-27 08:11:24 +0000 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2012-11-27 08:11:24 +0000 |
commit | ec9b340b8d2bbbaed560834ad828f7d9857eaf15 (patch) | |
tree | 5d91ed044110432bee783dd086b2fe31349a3f27 /server/src/com/vaadin/ui | |
parent | 68ce534db7bf2aae75f9a6bf2ccdf3bea9fd69e4 (diff) | |
parent | 785b0b0afbcce7ecfaa30e837ed41387dee03267 (diff) | |
download | vaadin-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.java | 16 | ||||
-rw-r--r-- | server/src/com/vaadin/ui/Window.java | 18 |
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) */ |