/**
*
*/
package org.hyperdata.scute.demos;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import com.nilo.plaf.nimrod.NimRODLookAndFeel;
import com.nilo.plaf.nimrod.NimRODTheme;
import org.jdesktop.swingx.JXMultiSplitPane;
import org.jdesktop.swingx.MultiSplitLayout;
import org.jdesktop.swingx.MultiSplitLayout.Divider;
import org.jdesktop.swingx.MultiSplitLayout.Leaf;
import org.jdesktop.swingx.MultiSplitLayout.Split;
import org.hyperdata.scute.demos.temp.SourceEditor;
import org.hyperdata.scute.demos.temp.FileTreeSelectionListener;
import org.hyperdata.scute.filemanager.FileExplorerCard;
import org.hyperdata.scute.toolbars.file.FileUI;
import org.hyperdata.scute.toolbars.file.IO;
/**
* @author danny
*
*/
public class ExploreEditDemo {
private JPanel outerPanel;
private FileExplorerCard fileExplorerPane; // left-hand panel
private JPanel editorPanel; // right-hand panel
private JToolBar fileToolBar;
private JScrollPane editorScrollPane;
private SourceEditor editor;
private Leaf left;
private Leaf right;
private IO io;
private FileUI fileUI;
public ExploreEditDemo() {
initLayout();
initFileExplorer();
initEditor();
initToolBar();
outerPanel.add(fileExplorerPane, "left");
editorPanel = new JPanel(new BorderLayout());
editorPanel.add(editor.getScrollPane(), BorderLayout.CENTER);
editorPanel.add(fileToolBar, BorderLayout.NORTH);
outerPanel.add(editorPanel, "right");
centerSplit();
FileTreeSelectionListener treeMouseListener = new FileTreeSelectionListener();
treeMouseListener.attach(fileExplorerPane.getTree(), editor);
}
private void initEditor() {
editor = new SourceEditor();
jsyntaxpane.DefaultSyntaxKit.initKit();
editor.setContentType("text/sparql");
}
private void initToolBar(){
io = new IO(this);
fileUI = new FileUI(io);
// toolsPanel.add(fileUI.getToolBar());
fileToolBar = new JToolBar();
fileToolBar.add(fileUI.getToolBar());
}
/**
* @return
*/
private void initFileExplorer() {
fileExplorerPane = new FileExplorerCard(System.getProperty("user.home"));
fileExplorerPane.setPreferredSize(new Dimension(150,400));
}
public void centerSplit() {
left.setWeight(0.5);
right.setWeight(0.5);
}
private void initLayout() {
Split outer = new Split();
outer.setRowLayout(true);
left = new Leaf("left");
right = new Leaf("right");
outer.setChildren(left, new Divider(), right);
outerPanel = new JXMultiSplitPane();
MultiSplitLayout layout = new MultiSplitLayout(outer);
outerPanel.setLayout(layout);
}
/**
* @return the contentPanel
*/
public JPanel getOuterPanel() {
return this.outerPanel;
}
// ///////////////////////////////////////////////////////////////
public static void main(String[] argv) {
try {
NimRODTheme nt = new NimRODTheme("./Scute.theme");
NimRODLookAndFeel nf = new NimRODLookAndFeel();
nf.setCurrentTheme(nt);
UIManager.setLookAndFeel(nf);
} catch (Exception exception) {
// ignore
}
JFrame frame = new JFrame("File Explorer");
ExploreEditDemo eed = new ExploreEditDemo();
frame.getContentPane().add(eed.getOuterPanel());
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(600, 600);
// frame.pack();
frame.setVisible(true);
}
}