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

Reply via email to