package de.open4me.depot.gui.parts;
import java.rmi.RemoteException;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import de.willuhn.jameica.gui.AbstractView;
import de.willuhn.jameica.gui.Part;
import de.willuhn.jameica.gui.util.SWTUtil;
public class ReplaceableComposite extends Composite {
public ReplaceableComposite(Composite parent, int style) {
super(parent, style);
setLayoutData(new GridData(GridData.FILL_BOTH));
setLayout(new GridLayout());
}
public void replace(Part tab) {
SWTUtil.disposeChildren(this);
setLayoutData(new GridData(GridData.FILL_BOTH));
setLayout(new GridLayout());
try {
tab.paint(this);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
layout(true);
}
public void replace(Composite comp) {
// SWTUtil.disposeChildren(this);
// setLayoutData(new GridData(GridData.FILL_BOTH));
// setLayout(new GridLayout());
// try {
// comp.paint(this);
// } catch (RemoteException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// layout(true);
}
public void replace(AbstractView rv) {
SWTUtil.disposeChildren(this);
setLayoutData(new GridData(GridData.FILL_BOTH));
setLayout(new GridLayout());
rv.setParent(this);
try {
rv.bind();
} catch (Exception e) {
e.printStackTrace();
}
layout(true);
}
}