package com.clearlyspam23.GLE.GUI.level;
import java.awt.BorderLayout;
import java.awt.Frame;
import javax.swing.JDialog;
import bibliothek.gui.dock.common.CControl;
import bibliothek.gui.dock.common.CGrid;
import bibliothek.gui.dock.common.DefaultSingleCDockable;
import bibliothek.gui.dock.common.intern.DefaultCDockable.Permissions;
import bibliothek.gui.dock.util.DirectWindowProvider;
import com.clearlyspam23.GLE.GUI.ComponentData;
import com.clearlyspam23.GLE.edit.LayerEditManager;
public class LayerDockingDialog extends JDialog{
public LayerDockingDialog(Frame frame, String layerName, LayerEditManager<?> manager){
super(frame, layerName);
control = new CControl(new DirectWindowProvider(this));
// addWindowListener( new WindowAdapter(){
// public void windowClosing( WindowEvent e ){
// dispose();
// }
//
// public void windowClosed( WindowEvent e ){
// control.destroy();
// }
// });
add( control.getContentArea(), BorderLayout.CENTER );
CGrid grid = new CGrid( control );
int i = 0;
ComponentData main = manager.getMainComponent();
DefaultSingleCDockable dockable = new DefaultSingleCDockable(Integer.toString(i++), main.icon, main.name, null, Permissions.MAX);
dockable.add(main.component);
grid.add(0, 0, 1, 1, dockable);
for(ComponentData c : manager.getSubComponents()){
dockable = new DefaultSingleCDockable(Integer.toString(i++), main.icon, main.name, null, Permissions.MAX_EXT_STACK);
dockable.add(c.component);
grid.add(0, 1, 1, 1, dockable);
}
control.getContentArea().deploy( grid );
setSize(400, 800);
}
/**
*
*/
private static final long serialVersionUID = 1L;
private CControl control;
public CControl getControl() {
return control;
}
public void setControl(CControl control) {
this.control = control;
}
}