From fbb08908180a688b1c692493d7dff62f7b0ade66 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 1 Feb 2008 13:13:51 +0000 Subject: [PATCH] fixes #1036 and removes some obsolete code svn changeset:3704/svn branch:trunk --- .../gwt/server/ApplicationServlet.java | 2 - .../gwt/server/CommunicationManager.java | 52 +------------------ src/com/itmill/toolkit/ui/Window.java | 18 ++++++- 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"; @@ -104,24 +101,6 @@ public class CommunicationManager implements Paintable.RepaintRequestListener, requireLocale(application.getLocale().toString()); } - /** - * - * - */ - 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. * @@ -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(); } } -- 2.39.5