aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2007-11-29 07:45:52 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2007-11-29 07:45:52 +0000
commit1c63d43f7cab7f0307e132fb14f3f15415aec9b5 (patch)
tree6ccc891a38568547fc441727d479dacaa478ada9 /src
parent3174b270caef486fb59f97c642eff86ebd869bd1 (diff)
downloadvaadin-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.java14
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);