X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSequenceFetcher.java;h=a33fdc308a4fd5999052c4b4ec2a31a270268b19;hb=c406d789d51e6ac1ff45e3568d37e9ed53025f03;hp=fc6fb0d0a27d856d8a5dd0e40bac43aaa48b45d3;hpb=27b7c61518e2956d1e23e0ef79033c9cce8c71e8;p=jalview.git diff --git a/src/jalview/gui/SequenceFetcher.java b/src/jalview/gui/SequenceFetcher.java index fc6fb0d..a33fdc3 100755 --- a/src/jalview/gui/SequenceFetcher.java +++ b/src/jalview/gui/SequenceFetcher.java @@ -20,12 +20,11 @@ */ package jalview.gui; +import jalview.api.FeatureSettingsI; import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; 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; @@ -527,6 +526,8 @@ public class SequenceFetcher extends JPanel implements Runnable .split(";")); Iterator en = Arrays.asList(new String[0]).iterator(); int nqueries = qries.length; + + FeatureSettingsI preferredFeatureColours = null; while (proxies.hasNext() && (en.hasNext() || nextfetch.size() > 0)) { if (!en.hasNext() && nextfetch.size() > 0) @@ -693,6 +694,12 @@ public class SequenceFetcher extends JPanel implements Runnable // Stack results ready for opening in alignment windows if (aresult != null && aresult.size() > 0) { + FeatureSettingsI proxyColourScheme = proxy.getFeatureColourScheme(); + if (proxyColourScheme != null) + { + preferredFeatureColours = proxyColourScheme; + } + AlignmentI ar = null; if (isAliSource) { @@ -743,7 +750,8 @@ public class SequenceFetcher extends JPanel implements Runnable // 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()); @@ -771,35 +779,6 @@ public class SequenceFetcher extends JPanel implements Runnable 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 @@ -811,7 +790,7 @@ public class SequenceFetcher extends JPanel implements Runnable } AlignmentI parseResult(AlignmentI al, String title, - String currentFileFormat) + String currentFileFormat, FeatureSettingsI preferredFeatureColours) { if (al != null && al.getHeight() > 0) @@ -849,6 +828,11 @@ public class SequenceFetcher extends JPanel implements Runnable } } + + if (preferredFeatureColours != null) + { + af.viewport.applyFeaturesStyle(preferredFeatureColours); + } Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);