/* * Scute * * Homepage: http://hyperdata.org/scute * * License : http://www.apache.org/licenses/LICENSE-2.0 * See also license.txt or http://hyperdata.org/wiki/Scute:License * * Danny Ayers 2011 */ package org.hyperdata.scute.filemanager; import java.awt.BorderLayout; import java.awt.Dimension; import java.io.File; import javax.swing.JButton; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTree; import javax.swing.event.TreeSelectionListener; import org.hyperdata.scute.cards.Card; import org.hyperdata.scute.filemanager.actions.SendToSparqlAction; /** * The Class FileExplorer. */ public class FileExplorerCard extends Card implements FileReference { @Override public File getCurrentFile() { return this.currentFile; } @Override public void setCurrentFile(File currentFile) { this.currentFile = currentFile; } private File currentFile; private FilesTreePanel fileTree; public FileExplorerCard(String startPath) { super(new BorderLayout()); FilesTreeModel treeModel = new FilesTreeModel(startPath); // DirListModel directoryModel = new DirListModel((File) treeModel.getRoot()); // JList dirList = new JList(directoryModel); // ListItemRenderer renderer = new ListItemRenderer(); // dirList.setCellRenderer(renderer); fileTree = new FilesTreePanel(treeModel); // fileTree.getTree().addTreeSelectionListener(new TreeListener(this,directoryModel)); // fileTree.getTree().setSelectionRow(0); // ListMouseListener listMouseListener = new ListMouseListener(this, fileTree.getTree()); // dirList.addMouseListener(listMouseListener); JScrollPane treeScroller = new JScrollPane(fileTree); // JScrollPane listScroller = new JScrollPane(dirList); treeScroller.setMinimumSize(new Dimension(5, 0)); // JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treeScroller, listScroller); // splitPane.setContinuousLayout(true); // add(splitPane, BorderLayout.CENTER); add(treeScroller, BorderLayout.CENTER); // add(getButtonBar(), BorderLayout.SOUTH); // integrate better } public void addTreeSelectionListener(TreeSelectionListener listener){ fileTree.addTreeSelectionListener(listener); } public JTree getTree(){ return fileTree.getTree(); } // public File getSelected(){ // return null; // } private JPanel getButtonBar() { JPanel panel = new JPanel(); JButton button = new JButton("Send To SPARQL Editor"); button.setAction(new SendToSparqlAction(this)); panel.add(button); return panel; } }