更智能的窗口放置算法

时间:2013-08-18 18:54:07

标签: javascript extjs

我正在开发具有多个可移动ExtJS窗口的ExtJS应用程序。默认情况下,ExtJS会将所有新窗口创建到相同的预定义位置,这会将新窗口置于同一位置。由于应用程序可以为用户打开10多个窗口,这对可用性来说非常糟糕。此时我注意到我的屏幕中心不断有几个窗口在彼此的顶部(默认行为)。

是否有人知道我可以使用一种简单的算法来确定新窗口的智能位置?

我更喜欢不复杂的东西,但仍会提高我的应用程序的可用性。默认情况下,大多数窗口都相对较小,因此屏幕上应该有更空的空间。我知道我可以查询WindowMgr以获取有关当前窗口的信息,但我仍然需要某种逻辑。

我想可以在默认的x和y上添加10个像素来级联窗口,但感觉有点愚蠢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容级联所有当前窗口。根据自己的喜好改变它

Ext.Array.each(Ext.ComponentQuery.query('window'), function(win, index){
   win.setPosition(index * 10, index * 10);        
})

http://jsfiddle.net/q93Zt/1/