aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2008-02-01 13:13:51 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2008-02-01 13:13:51 +0000
commitfbb08908180a688b1c692493d7dff62f7b0ade66 (patch)
treeac9d4f55325dec21b994d6faedb3a21357d94697 /src
parent3cce6ee15bf75db2a6ba90934100a25bcca040ff (diff)
downloadvaadin-framework-fbb08908180a688b1c692493d7dff62f7b0ade66.tar.gz
vaadin-framework-fbb08908180a688b1c692493d7dff62f7b0ade66.zip
fixes #1036 and removes some obsolete code
svn changeset:3704/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java2
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java52
-rw-r--r--src/com/itmill/toolkit/ui/Window.java18
3 files changed, 18 insertions, 54 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java
index 2965acea8a..9e33d47825 100644
--- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java
+++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java
@@ -1401,8 +1401,6 @@ public class ApplicationServlet extends HttpServlet {
// Creates new manager
mgr = new CommunicationManager(application, this);
applicationToAjaxAppMgrMap.put(application, mgr);
- // Manager takes control over the application
- mgr.takeControl();
}
return mgr;
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java
index 2b45bafe3d..5f84961591 100644
--- a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java
+++ b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java
@@ -36,8 +36,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itmill.toolkit.Application;
-import com.itmill.toolkit.Application.WindowAttachEvent;
-import com.itmill.toolkit.Application.WindowDetachEvent;
import com.itmill.toolkit.external.org.apache.commons.fileupload.FileItemIterator;
import com.itmill.toolkit.external.org.apache.commons.fileupload.FileItemStream;
import com.itmill.toolkit.external.org.apache.commons.fileupload.FileUploadException;
@@ -62,8 +60,7 @@ import com.itmill.toolkit.ui.Window;
* @VERSION@
* @since 5.0
*/
-public class CommunicationManager implements Paintable.RepaintRequestListener,
- Application.WindowAttachListener, Application.WindowDetachListener {
+public class CommunicationManager implements Paintable.RepaintRequestListener {
private static String GET_PARAM_REPAINT_ALL = "repaintAll";
@@ -105,24 +102,6 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
}
/**
- *
- *
- */
- public void takeControl() {
- application.addListener((Application.WindowAttachListener) this);
- application.addListener((Application.WindowDetachListener) this);
- }
-
- /**
- *
- *
- */
- public void releaseControl() {
- application.removeListener((Application.WindowAttachListener) this);
- application.removeListener((Application.WindowDetachListener) this);
- }
-
- /**
* Handles file upload request submitted via Upload component.
*
* @param request
@@ -423,7 +402,6 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
outWriter.flush();
outWriter.close();
- out.flush();
}
out.flush();
@@ -834,34 +812,6 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
p.requestRepaintRequests();
}
- /**
- * @see com.itmill.toolkit.Application.WindowAttachListener#windowAttached(com.itmill.toolkit.Application.WindowAttachEvent)
- */
- public void windowAttached(WindowAttachEvent event) {
- event.getWindow().addListener(this);
- if (!dirtyPaintabletSet.contains(event.getWindow())) {
- dirtyPaintabletSet.add(event.getWindow());
- }
- }
-
- /**
- * @see com.itmill.toolkit.Application.WindowDetachListener#windowDetached(com.itmill.toolkit.Application.WindowDetachEvent)
- */
- public void windowDetached(WindowDetachEvent event) {
- event.getWindow().removeListener(this);
- // Notify client of the close operation
- removedWindows.add(event.getWindow());
- }
-
- /**
- *
- * @return
- */
- public synchronized Set getRemovedWindows() {
- return Collections.unmodifiableSet(removedWindows);
-
- }
-
private final class SingleValueMap implements Map {
private final String name;
diff --git a/src/com/itmill/toolkit/ui/Window.java b/src/com/itmill/toolkit/ui/Window.java
index 92ed8db5ad..2eca2e0a40 100644
--- a/src/com/itmill/toolkit/ui/Window.java
+++ b/src/com/itmill/toolkit/ui/Window.java
@@ -124,7 +124,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
private LinkedList notifications;
- private boolean modal;
+ private boolean modal = false;
/* ********************************************************************* */
@@ -871,8 +871,24 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
// Closing
final Boolean close = (Boolean) variables.get("close");
if (close != null && close.booleanValue()) {
+ close();
+ }
+ }
+
+ /**
+ * Method that handles window closing (from UI). If one wants to have window
+ * that cannot be closed (with server side check), override this with and
+ * empty method.
+ */
+ protected void close() {
+ Window parent = (Window) getParent();
+ if (parent == null) {
setVisible(false);
fireClose();
+ } else {
+ // subwindow is removed from parent
+ parent.removeWindow(this);
+ fireClose();
}
}