Windows 的初始 z-Index

Initial z-Index for Windows

当我在 qooxdoo 中创建一个新模态 window 时,它的 z-index 为 100000。 第二个 window 将获得 100002 的 z-index。等等

如何将初始值设置为 1000?

window 是 qx.ui.core.Widget。它继承了 zIndex 属性。所以使用 setZIndex http://www.qooxdoo.org/current/apiviewer/#qx.ui.core.Widget~setZIndex

自动 zIndex 分配由 qx.ui.window.Manager 实例完成。参见 http://www.qooxdoo.org/5.0.1/pages/desktop/window_management.html

qx.ui.window.Manager 有一个私有成员 _minZIndex,它的初始值为 10000。为了改变它,你必须派生你自己的 window 管理器 class 来自 qx.ui.window.Manager 并在覆盖的构造函数中更改该值,如下所示:

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

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

(请根据您的需要更改 class 路径 qx.ui.window.MyManager)。

在创建第一个 window 之前,您可以使用以下代码替换应用程序的 window 管理器。一个好的位置是在您的应用程序中 qx.application.Standalone 的重写 main 方法的开头 (参见: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();