Mercurial > projects > dwt-addons
annotate dwtx/jface/window/WindowManager.d @ 104:04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
These new wrappers now use the tango.util.containers instead of the tango.util.collections.
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 07 Aug 2008 15:01:33 +0200 |
parents | 8a302fdb4140 |
children |
rev | line source |
---|---|
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
1 /******************************************************************************* |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2006 IBM Corporation and others. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
7 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
8 * Contributors: |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
10 * Port to the D programming language: |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
11 * Frank Benoit <benoit@tionex.de> |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
12 *******************************************************************************/ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
13 module dwtx.jface.window.WindowManager; |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
14 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
15 import dwtx.jface.window.Window; |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
16 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
17 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
18 import dwtx.core.runtime.Assert; |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
19 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
20 import dwt.dwthelper.utils; |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
21 import dwtx.dwtxhelper.Collection; |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
22 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
23 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
24 * A manager for a group of windows. Window managers are an optional JFace |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
25 * feature used in applications which create many different windows (dialogs, |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
26 * wizards, etc.) in addition to a main window. A window manager can be used to |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
27 * remember all the windows that an application has created (independent of |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
28 * whether they are presently open or closed). There can be several window |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
29 * managers, and they can be arranged into a tree. This kind of organization |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
30 * makes it simple to close whole subgroupings of windows. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
31 * <p> |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
32 * Creating a window manager is as simple as creating an instance of |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
33 * <code>WindowManager</code>. Associating a window with a window manager is |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
34 * done with <code>WindowManager.add(Window)</code>. A window is automatically |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
35 * removed from its window manager as a side effect of closing the window. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
36 * </p> |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
37 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
38 * @see Window |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
39 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
40 public class WindowManager { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
41 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
42 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
43 * List of windows managed by this window manager |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
44 * (element type: <code>Window</code>). |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
45 */ |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
46 private ArrayList windows; |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
47 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
48 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
49 * List of window managers who have this window manager |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
50 * as their parent (element type: <code>WindowManager</code>). |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
51 */ |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
52 private List subManagers; |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
53 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
54 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
55 * Creates an empty window manager without a parent window |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
56 * manager (that is, a root window manager). |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
57 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
58 public this() { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
59 windows = new ArrayList(); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
60 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
61 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
62 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
63 * Creates an empty window manager with the given |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
64 * window manager as parent. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
65 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
66 * @param parent the parent window manager |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
67 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
68 public this(WindowManager parent) { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
69 windows = new ArrayList(); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
70 Assert.isNotNull(parent); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
71 parent.addWindowManager(this); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
72 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
73 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
74 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
75 * Adds the given window to the set of windows managed by |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
76 * this window manager. Does nothing is this window is |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
77 * already managed by this window manager. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
78 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
79 * @param window the window |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
80 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
81 public void add(Window window) { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
82 if (!windows.contains(window)) { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
83 windows.add(window); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
84 window.setWindowManager(this); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
85 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
86 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
87 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
88 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
89 * Adds the given window manager to the list of |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
90 * window managers that have this one as a parent. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
91 * </p> |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
92 * @param wm the child window manager |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
93 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
94 private void addWindowManager(WindowManager wm) { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
95 if (subManagers is null) { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
96 subManagers = new ArrayList(); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
97 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
98 if (!subManagers.contains(wm)) { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
99 subManagers.add(wm); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
100 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
101 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
102 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
103 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
104 * Attempts to close all windows managed by this window manager, |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
105 * as well as windows managed by any descendent window managers. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
106 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
107 * @return <code>true</code> if all windows were sucessfully closed, |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
108 * and <code>false</code> if any window refused to close |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
109 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
110 public bool close() { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
111 List t = cast(List) windows.clone(); // make iteration robust |
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
112 Iterator e = t.iterator(); |
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
113 while (e.hasNext()) { |
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
114 Window window = cast(Window) e.next(); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
115 bool closed = window.close(); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
116 if (!closed) { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
117 return false; |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
118 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
119 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
120 if (subManagers !is null) { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
121 e = subManagers.iterator(); |
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
122 while (e.hasNext()) { |
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
123 WindowManager wm = cast(WindowManager) e.next(); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
124 bool closed = wm.close(); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
125 if (!closed) { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
126 return false; |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
127 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
128 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
129 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
130 return true; |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
131 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
132 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
133 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
134 * Returns this window manager's number of windows |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
135 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
136 * @return the number of windows |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
137 * @since 3.0 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
138 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
139 public int getWindowCount() { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
140 return windows.size(); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
141 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
142 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
143 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
144 * Returns this window manager's set of windows. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
145 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
146 * @return a possibly empty list of window |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
147 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
148 public Window[] getWindows() { |
104
04b47443bb01
Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents:
7
diff
changeset
|
149 return arraycast!(Window)(windows.toArray()); |
7
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
150 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
151 |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
152 /** |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
153 * Removes the given window from the set of windows managed by |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
154 * this window manager. Does nothing is this window is |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
155 * not managed by this window manager. |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
156 * |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
157 * @param window the window |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
158 */ |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
159 public final void remove(Window window) { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
160 if (windows.contains(window)) { |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
161 windows.remove(window); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
162 window.setWindowManager(null); |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
163 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
164 } |
8a302fdb4140
Jface some window and resource classes
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
165 } |