From 6d8c74f97fe4289a984bdc6bd635c71653d5421c Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 26 Jun 2012 12:41:56 +0200 Subject: Refactored GUI into separate module --- src/main/java/com/c2kernel/gui/EntityFinder.java | 217 ----------------------- 1 file changed, 217 deletions(-) delete mode 100644 src/main/java/com/c2kernel/gui/EntityFinder.java (limited to 'src/main/java/com/c2kernel/gui/EntityFinder.java') diff --git a/src/main/java/com/c2kernel/gui/EntityFinder.java b/src/main/java/com/c2kernel/gui/EntityFinder.java deleted file mode 100644 index 0d53545..0000000 --- a/src/main/java/com/c2kernel/gui/EntityFinder.java +++ /dev/null @@ -1,217 +0,0 @@ -package com.c2kernel.gui; - -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.IOException; -import java.util.Enumeration; -import java.util.StringTokenizer; - -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.JToggleButton; - -import com.c2kernel.lookup.DomainPath; -import com.c2kernel.lookup.LDAPLookup; -import com.c2kernel.lookup.Path; -import com.c2kernel.process.Gateway; -import com.c2kernel.utils.Language; -import com.c2kernel.utils.Logger; -import com.c2kernel.utils.Resource; - -public class EntityFinder extends Box implements Runnable { - JTextField inputField; - JButton findButton; - JButton findNextButton; - GridBagLayout gridbag = new GridBagLayout(); - LDAPLookup lookup = Gateway.getLDAPLookup(); - DomainKeyConsumer defaultConsumer = null; - DomainKeyConsumer currentConsumer = null; - Enumeration matches; - Path rootNode = MainFrame.userNode.getPath(); - - static protected ImageIcon mFindIcon = null; - static protected ImageIcon mNextIcon = null; - static { - try - { - mNextIcon =Resource.findImage("next.png"); - mFindIcon =Resource.findImage("find.png"); - } - catch (Exception e) - { - Logger.error("Couldn't load images: " + e); - } - } - - public EntityFinder() { - super(BoxLayout.X_AXIS); - initPanel(); - } - - public void pushNewKey(String key) { - inputField.setText(key); - runSearch(); - } - - public void setDefaultConsumer(DomainKeyConsumer newConsumer) { - defaultConsumer = newConsumer; - currentConsumer = newConsumer; - } - - public void setConsumer(DomainKeyConsumer newConsumer, String label) { - currentConsumer = newConsumer; - findButton.setText(label); - } - - public void clearConsumer(DomainKeyConsumer oldConsumer) { - if (currentConsumer == oldConsumer) { - currentConsumer = defaultConsumer; - findButton.setText(""); - } - } - - private void initPanel() { - - JLabel search = new JLabel(" "+Language.translate("Search")+":"); - add(search); - add(Box.createHorizontalStrut(7)); - - inputField = new JTextField(20); - add(inputField); - add(Box.createHorizontalStrut(5)); - inputField.addActionListener( new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - pushNewKey(inputField.getText()); - } - }); - - findButton = new JButton(mFindIcon);//(Language.translate("Find")); - findButton.setMargin(new Insets(2, 5, 2, 5)); - findButton.addActionListener( new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - pushNewKey(inputField.getText()); - } - }); - add(findButton); - add(Box.createHorizontalStrut(5)); - - findNextButton = new JButton(mNextIcon);//(Language.translate("Next")); - findNextButton.setMargin(new Insets(2, 5, 2, 5)); - findNextButton.addActionListener( new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - MainFrame.status.setText("Navigating to next match"); - nextMatch(); - } - }); - findNextButton.setEnabled(false); - add(findNextButton); - add(Box.createHorizontalStrut(15)); - - // create plugins - Logger.msg(6, "ItemFinder() - creating plugins"); - String requiredListeners = Gateway.getProperty("DomainKeyListeners"); - if (requiredListeners != null) { - StringTokenizer tok = new StringTokenizer(requiredListeners, ","); - while (tok.hasMoreTokens()) { - String listenerName = tok.nextToken(); - Logger.msg(6, "ItemFinder() - creating a " + listenerName); - try { - Class listenerClass = Class.forName(listenerName); - DomainKeyListener newListener = (DomainKeyListener)listenerClass.newInstance(); - newListener.init(); newListener.setConsumer(this); - JToggleButton listenerButton = new JToggleButton(newListener.getIcon(), false); - listenerButton.addItemListener(new ListenerButtonListener(newListener, listenerButton)); - listenerButton.setMargin(new Insets(0, 2, 0, 2)); - listenerButton.setToolTipText("Enable "+newListener.getDescription()); - add(listenerButton); - add(Box.createHorizontalStrut(7)); - } catch (Exception e) { - Logger.error("ItemFinder() - could not create a "+listenerName+": "+e); - } - } - add(Box.createHorizontalGlue()); - } - } - - private void runSearch() { - Thread searcher = new Thread(this); - searcher.start(); - } - - @Override - public void run() { - Thread.currentThread().setName("Entity Search"); - MainFrame.status.setText("Searching. Please Wait"); - findButton.setEnabled(false); findNextButton.setEnabled(false); - String searchTerm = inputField.getText(); - if (searchTerm.length() == 0) return; // don't allow null searches - findNextButton.setEnabled(false); - matches = lookup.search(rootNode,inputField.getText()); - if (!matches.hasMoreElements()) { - MainFrame.status.setText("No results"); - currentConsumer.push(searchTerm); // for subscribers who don't care if it exists - findButton.setEnabled(true); - return; - } - MainFrame.status.setText("Selecting first match."); - nextMatch(); - - } - - void nextMatch() { - findButton.setEnabled(false); findNextButton.setEnabled(false); - DomainPath nextMatch = (DomainPath)matches.nextElement(); - try - { - currentConsumer.push(nextMatch); - } - catch (NullPointerException e) - { - //case the item searched is not found ! - } - findButton.setEnabled(true); - findNextButton.setToolTipText("Click to show next match"); - if (matches.hasMoreElements()) findNextButton.setEnabled(true); - } - - private class ListenerButtonListener implements ItemListener { - private final DomainKeyListener listener; - private final JToggleButton listenerButton; - - public ListenerButtonListener(DomainKeyListener newListener, JToggleButton listenerButton) { - this.listener = newListener; - this.listenerButton = listenerButton; - } - - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - // Switch on - try { - if (!(listener.enable())) listenerButton.doClick(); // allow plugins to disable themselves - } catch (IOException ex) { - JOptionPane.showMessageDialog(null, ex.getMessage(), "Error initialising "+listener.getDescription(), JOptionPane.ERROR_MESSAGE); - listenerButton.doClick(); - } - listenerButton.setToolTipText("Disable "+listener.getDescription()); - } else { - // Switch off - listener.disable(); - listenerButton.setToolTipText("Enable "+listener.getDescription()); - } - } - } - -} -- cgit v1.2.3