RootWindow 上的 ChildWindow

利用 rootWindow = DockingUtil.createRootWindow(viewMap, true); 所取得的 RootWindow 裏面永遠只有五個 ChildWindow。前面四個就是上右下左的 WindowBar,最後一個就是 TabWindow。

原本在 RootWindow 上顯示 WindowBar 要用下列的程式碼

WindowBar downBar = rootWindow.getWindowBar(Direction.DOWN); downBar.setEnabled(true); downBar.addTab(views[7]);

現在也可以改以下列方式來顯示

WindowBar downBar = (WindowBar) rootWindow.getChildWindow(2); downBar.setEnabled(true); downBar.addTab(views[7]);

0 - Up WindowBar,1 - Right WindowBar,2 - Down WindowBar,3 - Left WindowBar。

加入一個 View

  1. 根據 src\net\infonode\docking\util\WindowMenuUtil.java,addNewViewMenuItems 函數。
  2. ((RootWindow) window).setWindow(view)
  3. tabWindow.addTab(view);
  4. setWindow 會把 RootWindow 上的 view 全清光,再放入 view,但不包含 FloatingWindow。
  5. 所以仍要先找出 RootWindow 上的 tabWindow 才好。

其它

  1. RootWindow 的 removeView 會刪除在這個 View 內所有的 Views ,但是 View 內好像不能再放進去 View,真奇怪。
  2. ViewMap 的 removeView 刪除了 View 之後,在 RootWindow 上的 View 並不會跟著消失,需要加上 ViewMap.getView(id).close() 才會從 RootWindow 完整刪除這個 View。
  3. to be continue...
創作者介紹

邱小新の工作筆記

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()