package thaw.plugins.index; import java.awt.BorderLayout; import javax.swing.JPanel; import javax.swing.JSplitPane; import thaw.core.Config; import thaw.fcp.FCPQueueManager; /** * Contains a FileTable, a LinkTable, and a SearchBar */ public class Tables { private JPanel panel; private SearchBar searchBar; private FileTable fileTable; private LinkTable linkTable; private JSplitPane split; private Config config; public Tables(final boolean modifiables, FCPQueueManager queueManager, IndexBrowserPanel indexBrowser, final Config config) { this.config = config; panel = new JPanel(); panel.setLayout(new BorderLayout(10, 10)); fileTable = new FileTable(queueManager, indexBrowser, config); linkTable = new LinkTable(queueManager, indexBrowser, config); searchBar = new SearchBar(indexBrowser); split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, linkTable.getPanel(), fileTable.getPanel()); panel.add(searchBar.getPanel(), BorderLayout.NORTH); panel.add(split, BorderLayout.CENTER); } public JPanel getPanel() { return panel; } public void restoreState() { if (config.getValue("indexFileLinkSplit") != null) split.setDividerLocation(Integer.parseInt(config.getValue("indexFileLinkSplit"))); else split.setDividerLocation(100); } public void saveState() { config.setValue("indexFileLinkSplit", Integer.toString(split.getDividerLocation())); } public void stopRefresh() { fileTable.stopRefresher(); } protected FileTable getFileTable() { return fileTable; } protected LinkTable getLinkTable() { return linkTable; } public SearchBar getSearchBar() { return searchBar; } public void setLinkList(final LinkList linkList) { getLinkTable().setLinkList(linkList); } public void setFileList(final FileList fileList) { getFileTable().setFileList(fileList); } public void setList(final FileAndLinkList l) { setFileList(l); setLinkList(l); } }