summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2008-09-30 07:27:57 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2008-09-30 07:27:57 +0000
commit0f61d3473d93f7bd5370a88e680d5229d792b403 (patch)
tree220cc119f592d6c82d7195423709bd58d2eb71cf
parentbb65ebb4ed6f4932f9aadc94c04461af4ae1ca08 (diff)
downloadvaadin-framework-0f61d3473d93f7bd5370a88e680d5229d792b403.tar.gz
vaadin-framework-0f61d3473d93f7bd5370a88e680d5229d792b403.zip
fixes #1235. setting subwindow subwindow readonly now disables client side closing
svn changeset:5552/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java19
-rw-r--r--src/com/itmill/toolkit/ui/Window.java10
2 files changed, 25 insertions, 4 deletions
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();
+ }
}
}