2013-08-18 15 views
0

我正在开发带有多个可移动ExtJS窗口的ExtJS应用程序页面。默认情况下,ExtJS会将所有新窗口创建为相同的预定义位置,这会将新窗口置于同一位置。由于应用程序可以为用户打开10个以上的窗口,这对可用性来说非常糟糕。在这一刻,我注意到我的屏幕中间不断有多个窗口相互重叠(默认行为)。更智能的窗口放置算法

是否有人知道一个简单的算法,我可以用它来确定更聪明的新窗口放置?

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

我想可以只添加10像素到默认的x和y来级联窗口,但是这有点愚蠢。

+0

这就是Windows那样,虽然... :-) – Hubro

+0

级联就是Windows用户使用,大多数人都在窗口为什么不能用一个熟悉的UI棒。否则,我建议你使用小部件方法,并使用drap和放置区来放置。 – bakamike

+0

当你开始打开窗户时,你知道打开窗户的总数吗? –

回答

0

您可以使用类似以下的方式级联所有当前窗口。将其更改为自己的喜好

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

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