aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/Window.java
diff options
context:
space:
mode:
authorHenri Sara <henri.sara@itmill.com>2010-10-28 08:58:56 +0000
committerHenri Sara <henri.sara@itmill.com>2010-10-28 08:58:56 +0000
commit146924c65421cab4779c353706d477b45f63a433 (patch)
treede8091e82b98e46923c87c91187d62cf4c39936c /src/com/vaadin/ui/Window.java
parentbda0e33b9862e176c83607e8b8ca31b80755b962 (diff)
downloadvaadin-framework-146924c65421cab4779c353706d477b45f63a433.tar.gz
vaadin-framework-146924c65421cab4779c353706d477b45f63a433.zip
#3865 closing sub-windows from code should send close event, test for window closing
svn changeset:15758/svn branch:6.5
Diffstat (limited to 'src/com/vaadin/ui/Window.java')
-rw-r--r--src/com/vaadin/ui/Window.java21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/com/vaadin/ui/Window.java b/src/com/vaadin/ui/Window.java
index fde6058f93..fed7dabd36 100644
--- a/src/com/vaadin/ui/Window.java
+++ b/src/com/vaadin/ui/Window.java
@@ -1102,11 +1102,9 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
* </p>
*
* <p>
- * If one wants change the default behavior, register a window close
- * listenter and do something else. For example, you could re-open the
- * browser-level window with mainWindow.open(), re-add the removed
- * sub-window back to its parent or remove browser-level window
- * automatically from the application.
+ * To explicitly close a sub-window, use {@link #removeWindow(Window)}. To
+ * react to a window being closed (after it is closed), register a
+ * {@link CloseListener}.
* </p>
*/
protected void close() {
@@ -1116,7 +1114,6 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
} else {
// subwindow is removed from parent
parent.removeWindow(this);
- fireClose();
}
}
@@ -1250,8 +1247,8 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
* user closes the window.
*
* <p>
- * Note that removing windows using {@link #removeWindow(Window)} will not
- * fire the CloseListener.
+ * Since Vaadin 6.5, removing windows using {@link #removeWindow(Window)}
+ * does fire the CloseListener.
* </p>
*/
public interface CloseListener extends Serializable {
@@ -1277,8 +1274,8 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
* mean it will be destroyed.
*
* <p>
- * Note that removing windows using {@link #removeWindow(Window)} will not
- * fire the CloseListener.
+ * Since Vaadin 6.5, removing windows using {@link #removeWindow(Window)}
+ * does fire the CloseListener.
* </p>
*
* @param listener
@@ -1431,12 +1428,16 @@ public class Window extends Panel implements URIHandler, ParameterHandler {
/**
* Remove the given subwindow from this window.
*
+ * Since Vaadin 6.5, {@link CloseListener}s are called also when explicitly
+ * removing a window by calling this method.
+ *
* @param window
* Window to be removed.
*/
public void removeWindow(Window window) {
subwindows.remove(window);
window.setParent(null);
+ window.fireClose();
requestRepaint();
}