JAL-4036 Add getDbName to the GFTSPanelI and add an index code message to the index...
[jalview.git] / src / jalview / fts / core / GFTSPanel.java
index f73d430..a6ef37d 100644 (file)
@@ -546,6 +546,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
                   JvSwingUtils.wrapTooltip(true, tooltipText));
           if (btn_autosearch.isSelected())
             searchAction(true);
+
+          setCmbSearchTargetTooltip();
         }
       }
     });
@@ -679,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);
@@ -1086,4 +1089,28 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
 
   @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("");
+    }
+  }
 }