2013-08-18 20 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/