filebot/source/net/filebot/ui/analyze/AnalyzePanel.java

51 lines
1.4 KiB
Java
Raw Normal View History

2014-04-19 02:30:29 -04:00
package net.filebot.ui.analyze;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JTabbedPane;
import net.miginfocom.swing.MigLayout;
public class AnalyzePanel extends JComponent {
2014-01-05 14:26:33 -05:00
private final FileTreePanel fileTreePanel = new FileTreePanel();
private final JTabbedPane toolsPanel = new JTabbedPane();
2014-01-05 14:26:33 -05:00
public AnalyzePanel() {
toolsPanel.setBorder(BorderFactory.createTitledBorder("Tools"));
2014-01-05 14:26:33 -05:00
setLayout(new MigLayout("insets dialog, gapx 50, fill"));
add(fileTreePanel, "grow, sizegroupx column");
add(toolsPanel, "grow, sizegroupx column");
2014-01-05 14:26:33 -05:00
addTool(new ExtractTool());
addTool(new TypeTool());
addTool(new SplitTool());
2014-01-05 14:26:33 -05:00
addTool(new AttributeTool());
putClientProperty("transferablePolicy", fileTreePanel.getTransferablePolicy());
2014-01-05 14:26:33 -05:00
fileTreePanel.addPropertyChangeListener("filetree", filetreeListener);
}
2014-01-05 14:26:33 -05:00
private void addTool(Tool<?> tool) {
toolsPanel.addTab(tool.getName(), tool);
}
2014-01-05 14:26:33 -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
public void propertyChange(PropertyChangeEvent evt) {
// stopped loading, refresh tools
for (int i = 0; i < toolsPanel.getTabCount(); i++) {
Tool<?> tool = (Tool<?>) toolsPanel.getComponentAt(i);
2014-07-17 07:53:24 -04:00
tool.updateRoot(fileTreePanel.getFileTree().getRoot().getFile());
}
}
};
2014-01-05 14:26:33 -05:00
}