diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-11-29 07:45:52 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-11-29 07:45:52 +0000 |
commit | 1c63d43f7cab7f0307e132fb14f3f15415aec9b5 (patch) | |
tree | 6ccc891a38568547fc441727d479dacaa478ada9 /src | |
parent | 3174b270caef486fb59f97c642eff86ebd869bd1 (diff) | |
download | vaadin-framework-1c63d43f7cab7f0307e132fb14f3f15415aec9b5.tar.gz vaadin-framework-1c63d43f7cab7f0307e132fb14f3f15415aec9b5.zip |
better handling of window stacking order
svn changeset:3032/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java | 14 |
1 files changed, 11 insertions, 3 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 6a67b77c48..abf4e2d3ea 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java @@ -345,9 +345,6 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { return; } - if (!isActive()) { - bringToFront(); - } Element target = DOM.eventGetTarget(event); if (dragging || DOM.isOrHasChild(header, target)) { onHeaderEvent(event); @@ -358,6 +355,11 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { } else if (DOM.compare(target, closeBox) && type == Event.ONCLICK) { onCloseClick(); DOM.eventCancelBubble(event, true); + } else { + // clicked inside window, ensure to be on top + if (!isActive()) { + bringToFront(); + } } } @@ -368,6 +370,9 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { private void onResizeEvent(Event event) { switch (DOM.eventGetType(event)) { case Event.ONMOUSEDOWN: + if (!isActive()) { + bringToFront(); + } resizing = true; startX = DOM.eventGetScreenX(event); startY = DOM.eventGetScreenY(event); @@ -423,6 +428,9 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { private void onHeaderEvent(Event event) { switch (DOM.eventGetType(event)) { case Event.ONMOUSEDOWN: + if (!isActive()) { + bringToFront(); + } dragging = true; startX = DOM.eventGetScreenX(event); startY = DOM.eventGetScreenY(event); |