Author: jflesch
Date: 2006-09-29 13:37:58 +0000 (Fri, 29 Sep 2006)
New Revision: 10565
Added:
trunk/apps/Thaw/src/thaw/plugins/index/IndexSelecter.java
trunk/apps/Thaw/src/thaw/plugins/index/LinkList.java
trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java
trunk/apps/Thaw/src/thaw/plugins/index/Tables.java
Log:
Add missing files
Added: trunk/apps/Thaw/src/thaw/plugins/index/IndexSelecter.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexSelecter.java 2006-09-29
13:33:39 UTC (rev 10564)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexSelecter.java 2006-09-29
13:37:58 UTC (rev 10565)
@@ -0,0 +1,167 @@
+package thaw.plugins.index;
+
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.GridLayout;
+import javax.swing.JLabel;
+import javax.swing.JTextField;
+import javax.swing.JButton;
+
+import thaw.plugins.Hsqldb;
+import thaw.core.I18n;
+import thaw.core.Logger;
+
+/**
+ * Class helping to display a dialog allowing the user to choose an index.
(For example, it's used when you want
+ * to make a link to another index.
+ *
+ * <pre>
+ * Window
+ * *-------------------*------------------*
+ * | Local indexes | Other indexes |
+ * | | | | |
+ * | |-- Cat1 | |-- Cat1 |
+ * | | |-- Index1 | | |-- Index1 |
+ * | | |-- Index2 | | |-- Index2 |
+ * | ... | ... |
+ * | | |
+ * *-------------------*------------------*
+ * | Specific index key |
+ * *-------------------*------------------*
+ * | Cancel button | Ok button |
+ * *-------------------*------------------*
+ * </pre>
+ */
+public class IndexSelecter implements java.awt.event.ActionListener,
java.util.Observer {
+ private JFrame frame;
+
+ private JPanel upPanel;
+
+ private JPanel indexPanel;
+ private IndexTree localIndexes;
+ private IndexTree otherIndexes;
+
+ private JPanel fieldPanel;
+ private JTextField keyField;
+
+ private JPanel downPanel;
+ private JButton cancelButton;
+ private JButton okButton;
+
+ private boolean closeWin;
+ private String selectedIndexKey = null;
+
+ public IndexSelecter() {
+
+ }
+
+ /**
+ * Returned null if canceled. Is blocking !
+ */
+ public String askForAnIndexURI(Hsqldb db) {
+ frame = new
JFrame(I18n.getMessage("thaw.plugin.index.selectIndex"));
+
+ frame.setVisible(false);
+
+ upPanel = new JPanel();
+ Logger.info(this, "indexes");
+ localIndexes = new
IndexTree(I18n.getMessage("thaw.plugin.index.yourIndexes"), true, true, null,
db);
+ otherIndexes = new
IndexTree(I18n.getMessage("thaw.plugin.index.indexes"), false, true, null, db);
+ Logger.info(this, "plus indexes");
+
+ fieldPanel = new JPanel();
+ keyField = new JTextField("");
+
+ downPanel = new JPanel();
+ cancelButton = new
JButton(I18n.getMessage("thaw.common.cancel"));
+ okButton = new JButton(I18n.getMessage("thaw.common.ok"));
+
+ upPanel.setLayout(new BorderLayout());
+ downPanel.setLayout(new GridLayout(1, 2));
+ fieldPanel.setLayout(new BorderLayout());
+
+ indexPanel = new JPanel();
+ indexPanel.setLayout(new GridLayout(1, 2));
+ indexPanel.add(localIndexes.getPanel());
+ indexPanel.add(otherIndexes.getPanel());
+
+ upPanel.add(indexPanel, BorderLayout.CENTER);
+
+ fieldPanel.add(new
JLabel(I18n.getMessage("thaw.plugin.index.indexKey")), BorderLayout.WEST);
+ fieldPanel.add(keyField, BorderLayout.CENTER);
+ upPanel.add(fieldPanel, BorderLayout.SOUTH);
+
+ downPanel.add(okButton);
+ downPanel.add(cancelButton);
+
+ frame.getContentPane().setLayout(new BorderLayout(10, 10));
+ frame.getContentPane().add(upPanel, BorderLayout.CENTER);
+ frame.getContentPane().add(downPanel, BorderLayout.SOUTH);
+
+ frame.setSize(400, 500);
+
+ cancelButton.addActionListener(this);
+ okButton.addActionListener(this);
+ localIndexes.addObserver(this);
+ otherIndexes.addObserver(this);
+
+ frame.setVisible(true);
+
+ for (closeWin = false ; !closeWin ; ) {
+ try {
+ Thread.sleep(500);
+ } catch(java.lang.InterruptedException e) {
+ /* \_o< \_o< \_o< */
+ }
+ }
+
+ frame.setVisible(false);
+
+ frame = null;
+
+ upPanel = null;
+ localIndexes = null;
+ otherIndexes = null;
+
+ fieldPanel = null;
+ keyField = null;
+
+ downPanel = null;
+ cancelButton = null;
+ okButton = null;
+
+ return selectedIndexKey;
+ }
+
+
+ public void update(java.util.Observable o, Object param) {
+ if (param instanceof Index) {
+ Index index = (Index)param;
+ selectedIndexKey = index.getKey();
+
+ Logger.info(this, "Selected index key:
"+selectedIndexKey);
+ keyField.setText(selectedIndexKey);
+ }
+ }
+
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ if (e.getSource() == okButton) {
+ if (keyField.getText() == null ||
keyField.getText().equals(""))
+ selectedIndexKey = null;
+ else
+ selectedIndexKey = keyField.getText();
+ closeWin = true;
+ }
+
+ if (e.getSource() == cancelButton) {
+ selectedIndexKey = null;
+ closeWin = true;
+ }
+
+ localIndexes.deleteObserver(this);
+ otherIndexes.deleteObserver(this);
+ }
+
+}
Added: trunk/apps/Thaw/src/thaw/plugins/index/LinkList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/LinkList.java 2006-09-29
13:33:39 UTC (rev 10564)
+++ trunk/apps/Thaw/src/thaw/plugins/index/LinkList.java 2006-09-29
13:37:58 UTC (rev 10565)
@@ -0,0 +1,17 @@
+package thaw.plugins.index;
+
+import java.util.Vector;
+
+public interface LinkList {
+
+ public void loadLinks(String columnToSort, boolean asc);
+
+ public Vector getLinkList();
+
+ public Link getLink(int index);
+
+ /**
+ * Can update the database.
+ */
+ public void unloadLinks();
+}
Added: trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java 2006-09-29
13:33:39 UTC (rev 10564)
+++ trunk/apps/Thaw/src/thaw/plugins/index/SearchBar.java 2006-09-29
13:37:58 UTC (rev 10565)
@@ -0,0 +1,34 @@
+package thaw.plugins.index;
+
+import javax.swing.JTextField;
+import javax.swing.JButton;
+import javax.swing.JPanel;
+import javax.swing.JLabel;
+
+import java.awt.BorderLayout;
+
+import thaw.core.I18n;
+
+public class SearchBar {
+ private JPanel panel;
+
+ private JTextField userText;
+ private JButton validationButton;
+
+ public SearchBar(FileTable fileTable, LinkTable linkTable) {
+ panel = new JPanel();
+ panel.setLayout(new BorderLayout(10, 10));
+
+ userText = new JTextField("");
+ validationButton = new JButton("
"+I18n.getMessage("thaw.common.search")+" ");
+
+ panel.add(new
JLabel(I18n.getMessage("thaw.plugin.index.search.label")), BorderLayout.WEST);
+ panel.add(userText, BorderLayout.CENTER);
+ panel.add(validationButton, BorderLayout.EAST);
+ }
+
+ public JPanel getPanel() {
+ return panel;
+ }
+
+}
Added: trunk/apps/Thaw/src/thaw/plugins/index/Tables.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Tables.java 2006-09-29 13:33:39 UTC
(rev 10564)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Tables.java 2006-09-29 13:37:58 UTC
(rev 10565)
@@ -0,0 +1,49 @@
+package thaw.plugins.index;
+
+import javax.swing.JPanel;
+import javax.swing.JSplitPane;
+import java.awt.BorderLayout;
+
+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;
+
+ public Tables(boolean modifiables, FCPQueueManager queueManager) {
+ panel = new JPanel();
+ panel.setLayout(new BorderLayout(10, 10));
+
+ fileTable = new FileTable(modifiables, queueManager);
+ linkTable = new LinkTable(modifiables, queueManager);
+
+ searchBar = new SearchBar(fileTable, linkTable);
+
+ panel.add(searchBar.getPanel(), BorderLayout.NORTH);
+ panel.add(new JSplitPane(JSplitPane.VERTICAL_SPLIT,
+ linkTable.getPanel(),
+ fileTable.getPanel()));
+ }
+
+
+ public FileTable getFileTable() {
+ return fileTable;
+ }
+
+ public LinkTable getLinkTable() {
+ return linkTable;
+ }
+
+ public JPanel getPanel() {
+ return panel;
+ }
+
+
+
+}