package org.compiere.apps;
import java.awt.Component;
import java.awt.Window;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.ArrayList;
import java.util.List;
import org.compiere.apps.form.FormFrame;
import org.compiere.swing.CFrame;
import org.eevolution.form.VBrowser;
private List<CFrame> windows = new ArrayList<CFrame>();
private WindowEventListener eventListener = new WindowEventListener(this);
public void add(CFrame window) {
windows.add(window);
window.addComponentListener(eventListener);
window.addWindowListener(eventListener);
}
for ( CFrame w : windows ) {
w.removeComponentListener(eventListener);
w.removeWindowListener(eventListener);
w.dispose();
}
windows = new ArrayList<CFrame>();
}
for ( CFrame w : windows ) {
w.removeComponentListener(eventListener);
w.removeWindowListener(eventListener);
if ( !w.equals(window)) {
w.dispose();
}
}
windows = new ArrayList<CFrame>();
add(window);
}
public void remove(CFrame window) {
if ( windows.remove(window) ) {
window.removeComponentListener(eventListener);
window.removeWindowListener(eventListener);
}
}
CFrame[] a = new CFrame[windows.size()];
return windows.toArray(a);
}
return windows.size();
}
public AWindow
find(
int AD_Window_ID) {
for ( CFrame w : windows ) {
if ( w instanceof AWindow ) {
AWindow a = (AWindow)w;
if ( a.getAD_Window_ID() == AD_Window_ID )
return a;
}
}
return null;
}
public FormFrame
findForm(
int AD_FORM_ID) {
for ( CFrame w : windows ) {
if ( w instanceof FormFrame ) {
FormFrame ff = (FormFrame)w;
if ( ff.getAD_Form_ID() == AD_FORM_ID )
return ff;
}
}
return null;
}
for ( CFrame w : windows ) {
}
return null;
}
}
WindowManager windowManager;
this.windowManager = windowManager;
}
Component c = e.getComponent();
if ( c instanceof CFrame ) {
c.removeComponentListener(this);
((CFrame)c).removeWindowListener(this);
windowManager.remove((CFrame)c);
}
}
}
}
}
}
Window w = e.getWindow();
if ( w instanceof CFrame ) {
w.removeComponentListener(this);
w.removeWindowListener(this);
windowManager.remove((CFrame)w);
}
}
}
}
}
}
}
}