Cuando creo una nueva ventana modal en qooxdoo, obtiene un índice z de 100000. Una segunda ventana obtendrá un índice z de 100002, etc.

¿Cómo puedo establecer un valor inicial en 1000?

1
Raymond 13 dic. 2016 a las 13:44

2 respuestas

La mejor respuesta

La asignación automática de zIndex se realiza mediante una instancia qx.ui.window.Manager. Consulte http://www.qooxdoo.org/5.0.1/pages. /desktop/window_management.html

qx.ui.window.Manager tiene un miembro privado _minZIndex que se inicia con un valor de 10000. Para cambiar eso, debe derivar su propia clase de administrador de ventanas de qx.ui.window.Manager y cambiar ese valor en el constructor anulado, como este:

qx.Class.define("qx.ui.window.MyManager",
{
  extend : qx.ui.window.Manager,

  construct : function() {
    this.base(arguments);
    this._minZIndex = 1000;
  }
}); 

(Cambie la ruta de clases qx.ui.window.MyManager según sus necesidades).

Luego, puede reemplazar el administrador de ventanas de su aplicación utilizando el siguiente código, antes de crear la primera ventana. Un buen lugar sería al comienzo del método main anulado de qx.application.Standalone en su aplicación. (ver: http://www.qooxdoo.org/devel/ api / # qx.application.AbstractGui ~ main):

var oldWindowManager = this.getRoot().getWindowManager();
var desktop = oldWindowManager.getDesktop();
var windowManager = new qx.ui.window.MyManager();
windowManager.setDesktop(desktop);
this.getRoot().setWindowManager(windowManager);
qx.ui.core.queue.Widget.remove(oldWindowManager);
oldWindowManager.dispose();
2
level420 15 dic. 2016 a las 08:25

La ventana es un qx.ui.core.Widget. Hereda la propiedad zIndex. Por lo tanto, use setZIndex http://www.qooxdoo.org/ current / apiviewer / # qx.ui.core.Widget ~ setZIndex

0
voger 13 dic. 2016 a las 16:55