*/
package jalview.gui;
+import jalview.api.FeatureSettingsModelI;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.DBRefEntry;
-import jalview.datamodel.DBRefSource;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
-import jalview.io.FormatAdapter;
-import jalview.io.IdentifyFile;
import jalview.util.DBRefUtils;
import jalview.util.MessageManager;
import jalview.ws.dbsources.das.api.DasSourceRegistryI;
private static Thread initingThread = null;
int debounceTrap = 0;
+
/**
* Blocking method that initialises and returns the shared instance of the
* SequenceFetcher client
{
if (guiWindow != null)
{
- guiWindow.setProgressBar(
- MessageManager.getString("status.waiting_sequence_database_fetchers_init"),
- Thread.currentThread().hashCode());
+ guiWindow
+ .setProgressBar(
+ MessageManager
+ .getString("status.waiting_sequence_database_fetchers_init"),
+ Thread.currentThread().hashCode());
}
// initting happening on another thread - so wait around to see if it
// finishes.
}
if (guiWindow != null)
{
- guiWindow.setProgressBar(
- MessageManager.getString("status.waiting_sequence_database_fetchers_init"),
- Thread.currentThread().hashCode());
+ guiWindow
+ .setProgressBar(
+ MessageManager
+ .getString("status.waiting_sequence_database_fetchers_init"),
+ Thread.currentThread().hashCode());
}
}
if (sfetch == null
*/
if (guiWindow != null)
{
- guiWindow.setProgressBar(MessageManager.getString("status.init_sequence_database_fetchers"),
+ guiWindow.setProgressBar(MessageManager
+ .getString("status.init_sequence_database_fetchers"),
Thread.currentThread().hashCode());
}
dasRegistry = jalview.bin.Cache.getDasSourceRegistry();
}
private IProgressIndicator progressIndicator;
+
public SequenceFetcher(IProgressIndicator guiIndic)
{
this.progressIndicator = guiIndic;
JOptionPane
.showInternalMessageDialog(
Desktop.desktop,
- MessageManager.getString("warn.couldnt_create_sequence_fetcher_client"),
- MessageManager.getString("label.couldnt_create_sequence_fetcher"),
+ MessageManager
+ .getString("warn.couldnt_create_sequence_fetcher_client"),
+ MessageManager
+ .getString("label.couldnt_create_sequence_fetcher"),
JOptionPane.ERROR_MESSAGE);
}
});
private String getFrameTitle()
{
- return ((alignFrame == null) ? MessageManager.getString("label.new_sequence_fetcher") : MessageManager.getString("label.additional_sequence_fetcher"));
+ return ((alignFrame == null) ? MessageManager
+ .getString("label.new_sequence_fetcher") : MessageManager
+ .getString("label.additional_sequence_fetcher"));
}
private void jbInit() throws Exception
{
debounceTrap++;
String currentSelection = database.getSelectedItem();
-
if (!currentSelection.equalsIgnoreCase("pdb"))
{
- otherSourceAction();
+ otherSourceAction();
}
- if (currentSelection.equalsIgnoreCase("pdb") && ((debounceTrap % 2) == 0))
+ if (currentSelection.equalsIgnoreCase("pdb")
+ && (database.action == KeyEvent.VK_ENTER || ((debounceTrap % 2) == 0)))
{
pdbSourceAction();
}
-
+ database.action = -1;
}
});
+
dbeg.setText("");
jPanel2.add(databaseButt, java.awt.BorderLayout.NORTH);
jPanel2.add(dbeg, java.awt.BorderLayout.CENTER);
: ""));
String eq = database.getExampleQueries();
dbeg.setText(MessageManager.formatMessage(
- "label.example_query_param", new String[]
- { eq }));
+ "label.example_query_param", new String[] { eq }));
boolean enablePunct = !(eq != null && eq.indexOf(",") > -1);
for (DbSourceProxy dbs : database.getSelectedSources())
{
jPanel3.repaint();
}
-
-
public void close_actionPerformed(ActionEvent e)
{
try
.split(";"));
Iterator<String> en = Arrays.asList(new String[0]).iterator();
int nqueries = qries.length;
+
+ FeatureSettingsModelI preferredFeatureColours = null;
while (proxies.hasNext() && (en.hasNext() || nextfetch.size() > 0))
{
if (!en.hasNext() && nextfetch.size() > 0)
try
{
// update status
- guiWindow.setProgressBar(MessageManager.formatMessage("status.fetching_sequence_queries_from", new String[]{Integer.valueOf(nqueries).toString(),proxy.getDbName()}), Thread
- .currentThread().hashCode());
- isAliSource = proxy.isA(DBRefSource.ALIGNMENTDB);
+ guiWindow
+ .setProgressBar(MessageManager.formatMessage(
+ "status.fetching_sequence_queries_from",
+ new String[] {
+ Integer.valueOf(nqueries).toString(),
+ proxy.getDbName() }), Thread.currentThread()
+ .hashCode());
+ isAliSource = proxy.isAlignmentSource();
if (proxy.getAccessionSeparator() == null)
{
while (en.hasNext())
DBRefEntry dbr = new DBRefEntry(), found[] = null;
dbr.setSource(proxy.getDbSource());
dbr.setVersion(null);
- String accId = DBRefUtils.processQueryToAccessionFor(proxy,
- q);
+ String accId = proxy.getAccessionIdFromQuery(q);
dbr.setAccessionId(accId);
boolean rfound = false;
for (int r = 0; r < rs.length; r++)
{
- if (rs[r] != null
- && (found = DBRefUtils.searchRefs(
- rs[r].getDBRef(), dbr)) != null
- && found.length > 0)
+ if (rs[r] != null)
{
- rfound = true;
- rs[r] = null;
- continue;
+ found = DBRefUtils.searchRefs(rs[r].getDBRefs(), accId);
+ if (found != null && found.length > 0)
+ {
+ rfound = true;
+ rs[r] = null;
+ }
}
}
if (!rfound)
// Stack results ready for opening in alignment windows
if (aresult != null && aresult.size() > 0)
{
+ FeatureSettingsModelI proxyColourScheme = proxy
+ .getFeatureColourScheme();
+ if (proxyColourScheme != null)
+ {
+ preferredFeatureColours = proxyColourScheme;
+ }
+
AlignmentI ar = null;
if (isAliSource)
{
presultTitle.add(titl);
}
}
- guiWindow.setProgressBar(MessageManager.getString("status.finshed_querying"), Thread.currentThread()
+ guiWindow.setProgressBar(MessageManager
+ .getString("status.finshed_querying"), Thread.currentThread()
.hashCode());
}
- guiWindow.setProgressBar((presult.size() > 0) ? MessageManager.getString("status.parsing_results")
- : MessageManager.getString("status.processing"), Thread.currentThread().hashCode());
+ guiWindow.setProgressBar(
+ (presult.size() > 0) ? MessageManager
+ .getString("status.parsing_results") : MessageManager
+ .getString("status.processing"), Thread.currentThread()
+ .hashCode());
// process results
while (presult.size() > 0)
{
- parseResult(presult.remove(0), presultTitle.remove(0), null);
+ parseResult(presult.remove(0), presultTitle.remove(0), null,
+ preferredFeatureColours);
}
// only remove visual delay after we finished parsing.
guiWindow.setProgressBar(null, Thread.currentThread().hashCode());
resetDialog();
}
- AlignmentI parseResult(String result, String title)
- {
- String format = new IdentifyFile().Identify(result, "Paste");
- AlignmentI sequences = null;
- if (FormatAdapter.isValidFormat(format))
- {
- sequences = null;
- try
- {
- sequences = new FormatAdapter().readFile(result.toString(),
- "Paste", format);
- } catch (Exception ex)
- {
- }
-
- if (sequences != null)
- {
- return parseResult(sequences, title, format);
- }
- }
- else
- {
- showErrorMessage("Error retrieving " + textArea.getText() + " from "
- + database.getSelectedItem());
- }
-
- return null;
- }
-
/**
*
* @return a standard title for any results retrieved using the currently
}
AlignmentI parseResult(AlignmentI al, String title,
- String currentFileFormat)
+ String currentFileFormat,
+ FeatureSettingsModelI preferredFeatureColours)
{
if (al != null && al.getHeight() > 0)
}
}
+
+ if (preferredFeatureColours != null)
+ {
+ af.viewport.applyFeaturesStyle(preferredFeatureColours);
+ }
Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT);