X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FGFTSPanel.java;h=dd7fd9434462decd2570e2bca9ba9e6fd0c8701a;hb=b72ed01b68a8572022f912687db5be60b53c15cf;hp=47e9440e96e486b516d6c307dbc60157e7013597;hpb=d9f0a24d9662a0b530fd79b51108dd074d03d6e0;p=jalview.git diff --git a/src/jalview/fts/core/GFTSPanel.java b/src/jalview/fts/core/GFTSPanel.java index 47e9440..dd7fd94 100644 --- a/src/jalview/fts/core/GFTSPanel.java +++ b/src/jalview/fts/core/GFTSPanel.java @@ -21,18 +21,6 @@ package jalview.fts.core; -import jalview.bin.Cache; -import jalview.fts.api.FTSDataColumnI; -import jalview.fts.api.GFTSPanelI; -import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; -import jalview.gui.Desktop; -import jalview.gui.IProgressIndicator; -import jalview.gui.JvSwingUtils; -import jalview.gui.SequenceFetcher; -import jalview.io.cache.JvCacheableInputBox; -import jalview.util.MessageManager; -import jalview.util.Platform; - import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Dimension; @@ -77,6 +65,18 @@ import javax.swing.event.InternalFrameEvent; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; +import jalview.bin.Cache; +import jalview.fts.api.FTSDataColumnI; +import jalview.fts.api.GFTSPanelI; +import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; +import jalview.gui.Desktop; +import jalview.gui.IProgressIndicator; +import jalview.gui.JvSwingUtils; +import jalview.gui.SequenceFetcher; +import jalview.io.cache.JvCacheableInputBox; +import jalview.util.MessageManager; +import jalview.util.Platform; + /** * This class provides the swing GUI layout for FTS Panel and implements most of * the contracts defined in GFSPanelI @@ -93,8 +93,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected JInternalFrame mainFrame = new JInternalFrame( getFTSFrameTitle()); - protected JTabbedPane tabs = jalview.jbgui.GDesktop.createTabbedPane(); - + protected JTabbedPane tabs = new JTabbedPane(); + protected IProgressIndicator progressIndicator; protected JComboBox cmb_searchTarget = new JComboBox<>(); @@ -136,7 +136,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected JLabel lbl_blank = new JLabel(balnkPlaceholderImage); - JTabbedPane tabbedPane = jalview.jbgui.GDesktop.createTabbedPane(); + JTabbedPane tabbedPane = new JTabbedPane(); private JPanel pnl_actions = new JPanel(); @@ -274,8 +274,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI public void focusGained(FocusEvent e) { // TODO: make selected tab gain focus in correct widget - if (tabs != null - && tabs.getSelectedComponent() == ftsPanel) + if (tabs != null && tabs.getSelectedComponent() == ftsPanel) { txt_search.getComponent().requestFocusInWindow(); } @@ -297,7 +296,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI private void jbInit() throws Exception { - txt_search = new JvCacheableInputBox<>(getCacheKey()); + txt_search = new JvCacheableInputBox<>(getCacheKey(), 45); populateCmbSearchTargetOptions(); Integer width = getTempUserPrefs().get("FTSPanel.width") == null ? 800 : getTempUserPrefs().get("FTSPanel.width"); @@ -377,14 +376,15 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI btn_autosearch.setText(MessageManager.getString("option.autosearch")); btn_autosearch.setToolTipText( MessageManager.getString("option.enable_disable_autosearch")); + // disable autosearch by default btn_autosearch.setSelected(!Platform.isJS() - && Cache.getDefault(getAutosearchPreference(), true)); + && Cache.getDefault(getAutosearchPreference(), false)); btn_autosearch.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(ActionEvent e) { - jalview.bin.Cache.setProperty(getAutosearchPreference(), + Cache.setProperty(getAutosearchPreference(), Boolean.toString(btn_autosearch.isSelected())); } }); @@ -544,7 +544,10 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } txt_search.getComponent().setToolTipText( JvSwingUtils.wrapTooltip(true, tooltipText)); + // if (btn_autosearch.isSelected()) searchAction(true); + + setCmbSearchTargetTooltip(); } } }); @@ -552,32 +555,32 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI txt_search.getComponent().setFont(VERDANA_12); txt_search.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())) - { - // TODO: nicer to show the list in the result set before - // viewing in Jalview perhaps ? - transferToSequenceFetcher(getTypedText()); - } - else - { - performSearchAction(); - } - } - } - }); + { + @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())) + { + // TODO: nicer to show the list in the result set before + // viewing in Jalview perhaps ? + transferToSequenceFetcher(getTypedText()); + } + else + { + performSearchAction(); + } + } + } + }); final DeferredTextInputListener listener = new DeferredTextInputListener( 1500, new ActionListener() { @@ -678,6 +681,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI pnl_actions.add(btn_cancel); pnl_results.add(tabbedPane); + setCmbSearchTargetTooltip(); pnl_inputs.add(cmb_searchTarget); pnl_inputs.add(txt_search.getComponent()); pnl_inputs.add(txt_help); @@ -692,6 +696,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI this.add(pnl_inputs, java.awt.BorderLayout.NORTH); this.add(pnl_results, java.awt.BorderLayout.CENTER); this.add(pnl_actions, java.awt.BorderLayout.SOUTH); + mainFrame.setFrameIcon(null); mainFrame.setVisible(true); if (tabs != null) { @@ -1085,4 +1090,28 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI @Override public abstract void okAction(); + + private void setCmbSearchTargetTooltip() + { + JComboBox cmb = getCmbSearchTarget(); + if (cmb.isEnabled()) + { + boolean isAll = "all" + .equalsIgnoreCase(cmb.getSelectedItem().toString()); + FTSDataColumnI index = (FTSDataColumnI) cmb.getSelectedItem(); + String indexCode = index.getAltCode(); + String dbName = getDbName(); + String message = isAll ? MessageManager + .formatMessage("label.search_db_all", new Object[] + { dbName }) + : MessageManager.formatMessage("label.search_db_index", + new Object[] + { dbName, indexCode }); + cmb.setToolTipText(message); + } + else + { + cmb.setToolTipText(""); + } + } }