From 1c63d43f7cab7f0307e132fb14f3f15415aec9b5 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Thu, 29 Nov 2007 07:45:52 +0000 Subject: [PATCH] better handling of window stacking order svn changeset:3032/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/IWindow.java | 14 +++++++++++--- 1 file 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); -- 2.39.5