This commit is contained in:
Denis Molony 2016-03-03 17:19:40 +11:00
parent ddebad0b67
commit 0658fa4e7c
3 changed files with 15 additions and 9 deletions

View File

@ -21,7 +21,11 @@ import java.util.List;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTree; import javax.swing.JTree;
import javax.swing.tree.*; import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import com.bytezone.diskbrowser.gui.RedoHandler.RedoData; import com.bytezone.diskbrowser.gui.RedoHandler.RedoData;
import com.bytezone.diskbrowser.gui.TreeBuilder.FileNode; import com.bytezone.diskbrowser.gui.TreeBuilder.FileNode;
@ -33,19 +37,21 @@ abstract class AbstractTab extends JPanel implements Tab
private Font font; private Font font;
private final JScrollPane scrollpane; private final JScrollPane scrollpane;
final DiskAndFileSelector eventHandler; final DiskAndFileSelector eventHandler;
final RedoHandler navMan; final RedoHandler redoHandler;
final RedoData redoData; final RedoData redoData;
protected JTree tree; protected JTree tree;
public AbstractTab (RedoHandler navMan, DiskAndFileSelector selector, Font font) public AbstractTab (RedoHandler redoHandler, DiskAndFileSelector selector, Font font)
{ {
super (new BorderLayout ()); super (new BorderLayout ());
this.eventHandler = selector; this.eventHandler = selector;
this.font = font; this.font = font;
this.navMan = navMan; this.redoHandler = redoHandler;
this.redoData = navMan.createData (); this.redoData = redoHandler.createData ();
scrollpane = new JScrollPane (null, VERTICAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_NEVER); scrollpane =
new JScrollPane (null, VERTICAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_NEVER);
scrollpane.setBorder (null); scrollpane.setBorder (null);
add (scrollpane, BorderLayout.CENTER); add (scrollpane, BorderLayout.CENTER);
} }
@ -85,7 +91,7 @@ abstract class AbstractTab extends JPanel implements Tab
protected Object getSelectedObject () protected Object getSelectedObject ()
{ {
DefaultMutableTreeNode node = DefaultMutableTreeNode node =
(DefaultMutableTreeNode) tree.getLastSelectedPathComponent (); (DefaultMutableTreeNode) tree.getLastSelectedPathComponent ();
return node == null ? null : node.getUserObject (); return node == null ? null : node.getUserObject ();
} }

View File

@ -85,7 +85,7 @@ class AppleDiskTab extends AbstractTab
eventHandler.fireDiskSelectionEvent (disk); eventHandler.fireDiskSelectionEvent (disk);
eventHandler.redo = false; eventHandler.redo = false;
tree.setSelectionPath (null); // turn off any current selection to force an event tree.setSelectionPath (null); // turn off any current selection to force an event
navMan.setCurrentData (redoData); redoHandler.setCurrentData (redoData);
} }
@Override @Override

View File

@ -92,7 +92,7 @@ class FileSystemTab extends AbstractTab
public void activate () public void activate ()
{ {
tree.setSelectionPath (null); // turn off any current selection to force an event tree.setSelectionPath (null); // turn off any current selection to force an event
navMan.setCurrentData (redoData); redoHandler.setCurrentData (redoData);
} }
// connected to RefreshTreeAction // connected to RefreshTreeAction