Revision 42601
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.coreplugin.app/org.gvsig.coreplugin.app.mainplugin/src/main/java/org/gvsig/coreplugin/mdiManager/FrameWindowSupport.java | ||
---|---|---|
26 | 26 |
import java.awt.Component; |
27 | 27 |
import java.awt.Dimension; |
28 | 28 |
import java.awt.Image; |
29 |
import java.awt.event.ComponentEvent; |
|
30 |
import java.awt.event.ComponentListener; |
|
29 | 31 |
import java.util.Hashtable; |
30 | 32 |
import java.util.Iterator; |
31 | 33 |
|
... | ... | |
35 | 37 |
import javax.swing.JFrame; |
36 | 38 |
import javax.swing.JInternalFrame; |
37 | 39 |
import javax.swing.JPanel; |
40 |
import org.gvsig.andami.PluginServices; |
|
38 | 41 |
|
39 | 42 |
import org.gvsig.andami.ui.mdiFrame.MDIFrame; |
40 | 43 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
... | ... | |
109 | 112 |
frameView.put(nuevo, p); |
110 | 113 |
|
111 | 114 |
nuevo.setModal(vi.isModal()); |
115 |
closeOnHide(p); |
|
112 | 116 |
return nuevo; |
113 | 117 |
} else { |
114 | 118 |
return dlg; |
... | ... | |
175 | 179 |
nuevo.setMaximizable(wi.isMaximizable()); |
176 | 180 |
nuevo.setLocation(wi.getX(), wi.getY()); |
177 | 181 |
nuevo.setMinimumSize(wi.getMinimumSize()); |
178 |
|
|
182 |
closeOnHide(p); |
|
179 | 183 |
nuevo.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE); |
180 | 184 |
return nuevo; |
181 | 185 |
} |
182 | 186 |
|
187 |
private void closeOnHide(final IWindow p) { |
|
188 |
((JPanel)p).addComponentListener(new ComponentListener() { |
|
189 |
|
|
190 |
@Override |
|
191 |
public void componentResized(ComponentEvent ce) { |
|
192 |
} |
|
193 |
|
|
194 |
@Override |
|
195 |
public void componentMoved(ComponentEvent ce) { |
|
196 |
} |
|
197 |
|
|
198 |
@Override |
|
199 |
public void componentShown(ComponentEvent ce) { |
|
200 |
} |
|
201 |
|
|
202 |
@Override |
|
203 |
public void componentHidden(ComponentEvent ce) { |
|
204 |
PluginServices.getMDIManager().closeWindow(p); |
|
205 |
} |
|
206 |
}); |
|
207 |
|
|
208 |
} |
|
209 |
|
|
183 | 210 |
public IWindow getWindow(Component dlg){ |
184 | 211 |
return (IWindow) frameView.get(dlg); |
185 | 212 |
} |
Also available in: Unified diff