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;
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
getFTSFrameTitle());
protected JTabbedPane tabs = new JTabbedPane();
-
+
protected IProgressIndicator progressIndicator;
protected JComboBox<FTSDataColumnI> cmb_searchTarget = new JComboBox<>();
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();
}
}
txt_search.getComponent().setToolTipText(
JvSwingUtils.wrapTooltip(true, tooltipText));
+ // if (btn_autosearch.isSelected())
searchAction(true);
+
+ setCmbSearchTargetTooltip();
}
}
});
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()
{
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);
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)
{
@Override
public abstract void okAction();
+
+ private void setCmbSearchTargetTooltip()
+ {
+ JComboBox<FTSDataColumnI> 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("");
+ }
+ }
}