From: Matti Tahvonen Date: Tue, 30 Sep 2008 07:27:57 +0000 (+0000) Subject: fixes #1235. setting subwindow subwindow readonly now disables client side closing X-Git-Tag: 6.7.0.beta1~4062 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0f61d3473d93f7bd5370a88e680d5229d792b403;p=vaadin-framework.git fixes #1235. setting subwindow subwindow readonly now disables client side closing svn changeset:5552/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java index 193b63f660..40d4d0222a 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java @@ -103,6 +103,8 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { private Element headerText; + private boolean readonly; + public IWindow() { super(); final int order = windowOrder.size(); @@ -212,6 +214,10 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { setResizable(!resizable); } + if (isReadOnly() != uidl.getBooleanAttribute("readonly")) { + setReadOnly(!isReadOnly()); + } + // Initialize the position form UIDL try { final int positionx = uidl.getIntVariable("positionx"); @@ -381,6 +387,19 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { } + private void setReadOnly(boolean readonly) { + this.readonly = readonly; + if (readonly) { + DOM.setStyleAttribute(closeBox, "display", "none"); + } else { + DOM.setStyleAttribute(closeBox, "display", ""); + } + } + + private boolean isReadOnly() { + return readonly; + } + @Override public void show() { if (modal) { diff --git a/src/com/itmill/toolkit/ui/Window.java b/src/com/itmill/toolkit/ui/Window.java index 2d9ce6e9cf..c3d4e234d2 100644 --- a/src/com/itmill/toolkit/ui/Window.java +++ b/src/com/itmill/toolkit/ui/Window.java @@ -833,10 +833,12 @@ public class Window extends Panel implements URIHandler, ParameterHandler { setPositionY(y < 0 ? -1 : y); } - // Closing - final Boolean close = (Boolean) variables.get("close"); - if (close != null && close.booleanValue()) { - close(); + if (!isReadOnly()) { + // Closing + final Boolean close = (Boolean) variables.get("close"); + if (close != null && close.booleanValue()) { + close(); + } } }