2014-04-19 02:30:29 -04:00
|
|
|
package net.filebot.ui.analyze;
|
2007-12-23 14:28:04 -05:00
|
|
|
|
|
|
|
import java.beans.PropertyChangeEvent;
|
|
|
|
import java.beans.PropertyChangeListener;
|
|
|
|
|
|
|
|
import javax.swing.BorderFactory;
|
2009-03-13 20:30:24 -04:00
|
|
|
import javax.swing.JComponent;
|
2007-12-23 14:28:04 -05:00
|
|
|
import javax.swing.JTabbedPane;
|
2009-03-14 06:20:59 -04:00
|
|
|
|
2008-10-19 08:44:55 -04:00
|
|
|
import net.miginfocom.swing.MigLayout;
|
2007-12-23 14:28:04 -05:00
|
|
|
|
2009-03-13 20:30:24 -04:00
|
|
|
public class AnalyzePanel extends JComponent {
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2008-03-19 18:14:38 -04:00
|
|
|
private final FileTreePanel fileTreePanel = new FileTreePanel();
|
2009-02-22 05:45:41 -05:00
|
|
|
private final JTabbedPane toolsPanel = new JTabbedPane();
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2007-12-23 14:28:04 -05:00
|
|
|
public AnalyzePanel() {
|
2008-10-19 08:44:55 -04:00
|
|
|
toolsPanel.setBorder(BorderFactory.createTitledBorder("Tools"));
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2009-01-17 06:03:09 -05:00
|
|
|
setLayout(new MigLayout("insets dialog, gapx 50, fill"));
|
2008-12-28 15:04:13 -05:00
|
|
|
add(fileTreePanel, "grow, sizegroupx column");
|
|
|
|
add(toolsPanel, "grow, sizegroupx column");
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2012-02-26 11:57:00 -05:00
|
|
|
addTool(new ExtractTool());
|
|
|
|
addTool(new TypeTool());
|
2014-08-05 09:07:38 -04:00
|
|
|
addTool(new SplitTool());
|
2014-01-05 14:26:33 -05:00
|
|
|
addTool(new AttributeTool());
|
|
|
|
|
2009-03-13 20:30:24 -04:00
|
|
|
putClientProperty("transferablePolicy", fileTreePanel.getTransferablePolicy());
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2008-12-27 06:35:53 -05:00
|
|
|
fileTreePanel.addPropertyChangeListener("filetree", filetreeListener);
|
2008-10-22 18:07:02 -04:00
|
|
|
}
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2008-12-27 06:35:53 -05:00
|
|
|
private void addTool(Tool<?> tool) {
|
|
|
|
toolsPanel.addTab(tool.getName(), tool);
|
2008-03-19 18:14:38 -04:00
|
|
|
}
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2008-12-27 06:35:53 -05:00
|
|
|
private final PropertyChangeListener filetreeListener = new PropertyChangeListener() {
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2015-07-25 18:47:19 -04:00
|
|
|
@Override
|
2007-12-23 14:28:04 -05:00
|
|
|
public void propertyChange(PropertyChangeEvent evt) {
|
2008-12-27 06:35:53 -05:00
|
|
|
// stopped loading, refresh tools
|
2008-10-19 08:44:55 -04:00
|
|
|
for (int i = 0; i < toolsPanel.getTabCount(); i++) {
|
2008-12-27 06:35:53 -05:00
|
|
|
Tool<?> tool = (Tool<?>) toolsPanel.getComponentAt(i);
|
2014-07-17 07:53:24 -04:00
|
|
|
tool.updateRoot(fileTreePanel.getFileTree().getRoot().getFile());
|
2008-03-19 18:14:38 -04:00
|
|
|
}
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
};
|
2014-01-05 14:26:33 -05:00
|
|
|
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|