X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FGFTSPanel.java;h=c0d005fa4e1fad6813a997070756be5cf918fd44;hb=e464da0ea20b0322846ce623598a16f2a1cba7ae;hp=918b3c99c0b6b55d0352b93c7415248d0273c932;hpb=3cd147b2caead40e9abea8c58eb48f6a47975378;p=jalview.git diff --git a/src/jalview/fts/core/GFTSPanel.java b/src/jalview/fts/core/GFTSPanel.java index 918b3c9..c0d005f 100644 --- a/src/jalview/fts/core/GFTSPanel.java +++ b/src/jalview/fts/core/GFTSPanel.java @@ -28,9 +28,7 @@ import jalview.gui.Desktop; import jalview.gui.IProgressIndicator; import jalview.gui.JvSwingUtils; import jalview.gui.SequenceFetcher; -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; @@ -85,7 +83,7 @@ import javax.swing.text.JTextComponent; */ @SuppressWarnings("serial") -public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable +public abstract class GFTSPanel extends JPanel implements GFTSPanelI { protected JInternalFrame mainFrame = new JInternalFrame( getFTSFrameTitle()); @@ -100,7 +98,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable protected JButton btn_cancel = new JButton(); - protected JComboBox txt_search; + protected JvCacheableInputBox txt_search; protected SequenceFetcher seqFetcher; @@ -114,14 +112,14 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable protected StringBuilder errorWarning = new StringBuilder(); - protected ImageIcon warningImage = new ImageIcon(getClass().getResource( - "/images/warning.gif")); + protected ImageIcon warningImage = new ImageIcon( + getClass().getResource("/images/warning.gif")); - protected ImageIcon loadingImage = new ImageIcon(getClass().getResource( - "/images/loading.gif")); + protected ImageIcon loadingImage = new ImageIcon( + getClass().getResource("/images/loading.gif")); - protected ImageIcon balnkPlaceholderImage = new ImageIcon(getClass() - .getResource("/images/blank_16x16_placeholder.png")); + protected ImageIcon balnkPlaceholderImage = new ImageIcon( + getClass().getResource("/images/blank_16x16_placeholder.png")); protected JLabel lbl_warning = new JLabel(warningImage); @@ -151,6 +149,10 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable protected HashSet paginatorCart = new HashSet(); + private static final int MIN_WIDTH = 670; + + private static final int MIN_HEIGHT = 300; + protected static final DecimalFormat totalNumberformatter = new DecimalFormat( "###,###"); @@ -224,8 +226,9 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable e.printStackTrace(); } toolTipText = (toolTipText == null ? null - : (toolTipText.length() > 500 ? JvSwingUtils.wrapTooltip( - true, toolTipText.subSequence(0, 500) + "...") + : (toolTipText.length() > 500 + ? JvSwingUtils.wrapTooltip(true, + toolTipText.subSequence(0, 500) + "...") : JvSwingUtils.wrapTooltip(true, toolTipText))); return toolTipText; @@ -239,6 +242,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable try { jbInit(); + mainFrame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); mainFrame.addFocusListener(new FocusAdapter() { @Override @@ -263,10 +267,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable private void jbInit() throws Exception { - txt_search = new JComboBox(); - txt_search.setEditable(true); - txt_search - .setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); + txt_search = new JvCacheableInputBox(getCacheKey()); populateCmbSearchTargetOptions(); Integer width = getTempUserPrefs().get("FTSPanel.width") == null ? 800 : getTempUserPrefs().get("FTSPanel.width"); @@ -375,8 +376,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable } }); btn_next_page.setEnabled(false); - btn_next_page.setToolTipText(MessageManager - .getString("label.next_page_tooltip")); + btn_next_page.setToolTipText( + MessageManager.getString("label.next_page_tooltip")); btn_next_page.setFont(new java.awt.Font("Verdana", 0, 12)); btn_next_page.setText(MessageManager.getString("action.next_page")); btn_next_page.addActionListener(new java.awt.event.ActionListener() @@ -400,8 +401,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable }); btn_prev_page.setEnabled(false); - btn_prev_page.setToolTipText(MessageManager - .getString("label.prev_page_tooltip")); + btn_prev_page.setToolTipText( + MessageManager.getString("label.prev_page_tooltip")); btn_prev_page.setFont(new java.awt.Font("Verdana", 0, 12)); btn_prev_page.setText(MessageManager.getString("action.prev_page")); btn_prev_page.addActionListener(new java.awt.event.ActionListener() @@ -467,13 +468,13 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable if (e.getStateChange() == ItemEvent.SELECTED) { String tooltipText; - if ("all".equalsIgnoreCase(getCmbSearchTarget().getSelectedItem() - .toString())) + if ("all".equalsIgnoreCase( + getCmbSearchTarget().getSelectedItem().toString())) { tooltipText = MessageManager.getString("label.search_all"); } - else if ("pdb id".equalsIgnoreCase(getCmbSearchTarget() - .getSelectedItem().toString())) + else if ("pdb id".equalsIgnoreCase( + getCmbSearchTarget().getSelectedItem().toString())) { tooltipText = MessageManager .getString("label.separate_multiple_accession_ids"); @@ -481,43 +482,40 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable else { tooltipText = MessageManager.formatMessage( - "label.separate_multiple_query_values", - new Object[] { getCmbSearchTarget().getSelectedItem() - .toString() }); + "label.separate_multiple_query_values", new Object[] + { getCmbSearchTarget().getSelectedItem().toString() }); } - txt_search.setToolTipText(JvSwingUtils.wrapTooltip(true, - tooltipText)); + txt_search.setToolTipText( + JvSwingUtils.wrapTooltip(true, tooltipText)); searchAction(true); } } }); - txt_search.setFont(new java.awt.Font("Verdana", 0, 12)); txt_search.getEditor().getEditorComponent() .addKeyListener(new KeyAdapter() - { - @Override - public void keyPressed(KeyEvent e) - { - if (e.getKeyCode() == KeyEvent.VK_ENTER) - { - if (getTypedText() == null || getTypedText().isEmpty()) - { - return; - } - String primaryKeyName = getFTSRestClient().getPrimaryKeyColumn() - .getName(); - if (primaryKeyName.equalsIgnoreCase(getCmbSearchTarget() - .getSelectedItem().toString())) - { - transferToSequenceFetcher(getTypedText()); - } - } - } - }); - + { + @Override + public void keyPressed(KeyEvent e) + { + if (e.getKeyCode() == KeyEvent.VK_ENTER) + { + if (getTypedText() == null || getTypedText().isEmpty()) + { + return; + } + String primaryKeyName = getFTSRestClient() + .getPrimaryKeyColumn().getName(); + if (primaryKeyName.equalsIgnoreCase(getCmbSearchTarget() + .getSelectedItem().toString())) + { + transferToSequenceFetcher(getTypedText()); + } + } + } + }); final DeferredTextInputListener listener = new DeferredTextInputListener( 1500, new ActionListener() { @@ -580,8 +578,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable txt_search.setEnabled(false); cmb_searchTarget.setEnabled(false); previousWantedFields = getFTSRestClient() - .getAllDefaultDisplayedFTSDataColumns().toArray( - new Object[0]); + .getAllDefaultDisplayedFTSDataColumns() + .toArray(new Object[0]); } if (sourceTabbedPane.getTitleAt(index).equals(searchTabTitle)) { @@ -628,8 +626,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable mainFrame.setVisible(true); mainFrame.setContentPane(this); mainFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - mainFrame - .addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() + mainFrame.addInternalFrameListener( + new javax.swing.event.InternalFrameAdapter() { @Override public void internalFrameClosing(InternalFrameEvent e) @@ -656,7 +654,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable getTempUserPrefs().put("FTSPanel.x", mainFrame.getX()); getTempUserPrefs().put("FTSPanel.y", mainFrame.getY()); mainFrame.dispose(); - AppCache.getInstance().persistCache(this); + txt_search.persistCache(); } public class DeferredTextInputListener implements DocumentListener @@ -770,8 +768,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable { lbl_loading.setVisible(false); lbl_blank.setVisible(false); - lbl_warning.setToolTipText(JvSwingUtils.wrapTooltip(true, - errorWarning.toString())); + lbl_warning.setToolTipText( + JvSwingUtils.wrapTooltip(true, errorWarning.toString())); lbl_warning.setVisible(true); } } @@ -835,11 +833,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable @Override public String getTypedText() { - String typed = txt_search.getEditor().getItem() == null ? "" - : txt_search - .getEditor().getItem().toString().trim(); - System.out.println("Typed : " + typed); - return typed; + return txt_search.getUserInput(); } @Override @@ -923,8 +917,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable int totalRows = resultTable.getRowCount(); try { - primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex( - wantedFields, false); + primaryKeyColIndex = getFTSRestClient() + .getPrimaryKeyColumIndex(wantedFields, false); } catch (Exception e) { e.printStackTrace(); @@ -957,8 +951,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable int primaryKeyColIndex = 0; try { - primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex( - wantedFields, false); + primaryKeyColIndex = getFTSRestClient() + .getPrimaryKeyColumIndex(wantedFields, false); } catch (Exception e) { e.printStackTrace(); @@ -998,77 +992,4 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI, Cacheable mainFrame.setTitle(getFTSFrameTitle()); } - @Override - public void initCache() - { - AppCache.getInstance().initCache(this); - } - - @Override - public void updateCache() - { - AppCache.getInstance().updateCache(this); - } - - - - @Override - public String getCacheKey() - { - return getCacheKey(); - } - - @Override - public CacheBoxI getCacheComboBox() - { - return new CacheBoxI() - { - - @Override - public void setSelectedItem(Object anObject) - { - txt_search.setSelectedItem(anObject); - } - - @Override - public void requestFocus() - { - txt_search.requestFocusInWindow(); - } - - @Override - public void looseFocus() - { - mainFrame.requestFocusInWindow(); - } - - @Override - public void addItem(String item) - { - txt_search.addItem(item); - } - - @Override - public void removeAllItems() - { - txt_search.removeAllItems(); - } - - @Override - public int getItemCount() - { - return txt_search.getItemCount(); - } - - @Override - public String getUserInput() - { - return txt_search.getEditor().getItem() == null ? "" : txt_search - .getEditor().getItem().toString().trim(); - } - }; - } - - - }