JAL-1648 refactored and improved caching architecture implementation. The improved...
[jalview.git] / src / jalview / jbgui / GFinder.java
index f676a49..144c67d 100755 (executable)
@@ -24,9 +24,7 @@ import jalview.datamodel.AlignmentI;
 import jalview.io.DataSourceType;
 import jalview.io.FileFormat;
 import jalview.io.FormatAdapter;
-import jalview.io.cache.AppCache;
-import jalview.io.cache.CacheBoxI;
-import jalview.io.cache.Cacheable;
+import jalview.io.cache.JvCacheableInputBox;
 import jalview.util.MessageManager;
 
 import java.awt.BorderLayout;
@@ -39,7 +37,6 @@ import java.awt.event.KeyEvent;
 
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.SwingConstants;
@@ -48,7 +45,7 @@ import javax.swing.event.CaretEvent;
 import javax.swing.event.CaretListener;
 import javax.swing.text.JTextComponent;
 
-public class GFinder extends JPanel implements Cacheable
+public class GFinder extends JPanel
 {
   JLabel jLabelFind = new JLabel();
 
@@ -62,7 +59,7 @@ public class GFinder extends JPanel implements Cacheable
 
   protected JButton createNewGroup = new JButton();
 
-  protected JComboBox<String> searchBox = new JComboBox<String>();
+  protected JvCacheableInputBox<String> searchBox = new JvCacheableInputBox<String>(getCacheKey());
 
   BorderLayout mainBorderLayout = new BorderLayout();
 
@@ -137,9 +134,6 @@ public class GFinder extends JPanel implements Cacheable
       }
     });
     searchBox.setFont(new java.awt.Font("Verdana", Font.PLAIN, 12));
-    searchBox.setEditable(true);
-    searchBox
-.setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXXXXXXXXXX");
     ((JTextComponent) searchBox.getEditor().getEditorComponent())
             .addCaretListener(new CaretListener()
     {
@@ -247,73 +241,18 @@ public class GFinder extends JPanel implements Cacheable
 
 
 
-  @Override
-  public CacheBoxI<String> getCacheComboBox()
-  {
-    return new CacheBoxI<String>()
-    {
-
-      @Override
-      public void setSelectedItem(Object anObject)
-      {
-        searchBox.setSelectedItem(anObject);
-      }
-
-      @Override
-      public void requestFocus()
-      {
-        searchBox.requestFocusInWindow();
-      }
-
-      @Override
-      public void looseFocus()
-      {
-        jPanel6.requestFocusInWindow();
-      }
-
-      @Override
-      public void addItem(String item)
-      {
-        searchBox.addItem(item);
-      }
 
-      @Override
-      public void removeAllItems()
-      {
-        searchBox.removeAllItems();
-      }
-
-      @Override
-      public int getItemCount()
-      {
-        return searchBox.getItemCount();
-      }
-
-      @Override
-      public String getUserInput()
-      {
-        return searchBox.getEditor().getItem() == null ? "" : searchBox
-                .getEditor().getItem().toString().trim();
-      }
-    };
-  }
-
-  @Override
+  /**
+   * Returns unique key used for storing Finder cache items in the cache data
+   * structure
+   * 
+   * @return
+   */
   public String getCacheKey()
   {
     return FINDER_CACHE_KEY;
   }
 
-  @Override
-  public void initCache()
-  {
-    AppCache.getInstance().initCache(this);
-  }
 
-  @Override
-  public void updateCache()
-  {
-    AppCache.getInstance().updateCache(this);
-  }
 
 }