package net.sourceforge.pain.tools.guitool;
import net.sourceforge.pain.tools.guitool.dialog.*;
import net.sourceforge.pain.tools.guitool.action.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
public class WorkspacePanel extends JPanel {
public final Explorer explorer;
public final JPanel workPanel;
public final LogPanel logPanel;
JSplitPane hSplitPane;
JSplitPane vSplitPane;
public WorkspacePanel() {
explorer = new Explorer(this);
logPanel = new LogPanel();
workPanel = new JPanel();
workPanel.setLayout(new BorderLayout());
vSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, workPanel, logPanel);
vSplitPane.setContinuousLayout(true);
vSplitPane.setOneTouchExpandable(true);
vSplitPane.setBorder(new EtchedBorder());
vSplitPane.setResizeWeight(5 / 6D);
vSplitPane.setDividerSize(9);
hSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, explorer.tree, vSplitPane);
hSplitPane.setContinuousLayout(true);
hSplitPane.setOneTouchExpandable(true);
hSplitPane.setResizeWeight(1 / 4D);
hSplitPane.setDividerSize(9);
setLayout(new BorderLayout());
add(hSplitPane, BorderLayout.CENTER);
setBackground(Color.black);
updateState();
}
public void addNotify() {
super.addNotify();
explorer.selectPath(null);
}
public void updateState() {
final boolean connected = GlobalPerformer.isConnected();
explorer.tree.setEnabled(connected);
if (!connected) {
try {
setActiveComponent(new WorldExplorerAction().getComponent());
} catch (Exception e) {
e.printStackTrace();
}
}
// explorer.tree.setEnabled(true);
}
public void setActiveComponent(Component component) {
workPanel.setVisible(false);
workPanel.removeAll();
workPanel.add(component);
workPanel.setVisible(true);
}
}