I think you are confusing an Always-On-Top and Modal. It is always possible
to open another application on top of your modal window, but what should not
be possible is for your application-Always On Top window to open a modal
window that opens up under itself. In your description that is what would
happen if I had an Always on Top window that launched a modal File Open
dialog, especially if the AOT window was a large window. I feel modal
windows should be the top most window in your application. We can't control
what happens in other applications only what happens inside our browser
window. One must keep in mind that even though it looks like a Windows
application, we are still just running inside a browser so anything we do
with windows can be topped by any other application or any other browser
window. All we can control is the order of the windows inside our browser
window, and to that end a modal window should always be on top of all other
of our windows. Imagine if your AOT window was in the center of the screen
and large and you opened a modal File Open Dialog that was smaller and also
popped up in the center of the screen. In your scenario, the AOT window
would still be on top, the modal window would be underneath it and since it
was modal you would not be able to focus on your AOT window to move it out
of the way. You are in a frozen condition with a modal window that you can't
get to. Modal windows need to be on top of all other windows in our
application.
Jim
D4PHP.ORG
On 4/13/07, Ralf Sternberg <[EMAIL PROTECTED]> wrote:
Hi,
I didn't notice that this thread continues ...
Alex Beck:
> currently there is no solution out-of-the-box available.
> How has to look the API in your case? Should this "on-top" property be
> application-wide or do you need another/finer control?
Application wide suffices. In SWT, which is our reference point, there
is a flag ON_TOP. Setting this flag raises a window on top of all other
windows.
Jim Hunter schrieb:
> In my opinion, the Z-Index of Windows might look like this:
>
> 1000-1999 : Z-Index of normal windows
> 2000-2999 : Z-Index of 'Alway on Top' windows, last one created has the
> highest Z-Index
Yes, this is matches the behavior of always-on-top windows in Win32. If
one creates multiple on-top windows, they all stay on top of all other
windows but can freely be rearranged, just like normal windows.
> 3000+ : Z-Index of Modal Windows, they should pop up over 'Always
> on Top' Windows.
I don't agree with this point. In Windows, ON_TOP windows are also on
top of modal windows. I think this makes sense, since the purpose of a
modal window is to block the application (at least if application-modal)
but it doesn't have to be on top of all other windows. For example, a
file open dialog is usually application-modal, but you can still open
another application on top of it.
Meanwhile I added a property "alwaysOnTop" to our Window subclass and
overrode the function _sentTo like this to make sure that on-top-windows
always have a higher z-order than others:
qx.Proto._sendTo = function() {
var vAll = qx.lang.Object.getValues(
this.getWindowManager().getAll() );
vAll = vAll.sort( qx.util.Compare.byZIndex );
var vLength = vAll.length;
var vIndex = this._minZIndex;
for( var i = 0; i < vLength; i++ ) {
var newZIndex = vIndex++;
if( vAll[ i ].getAlwaysOnTop() ) {
newZIndex += vLength; // <--- raise on top of all other windows
}
vAll[ i ].setZIndex( newZIndex );
}
}
This is also my suggestion for an implementation in qooxdoo.
Regards,
Ralf
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel