X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=1c488fe5ec722791e505443576a939411eaf2d9f;hb=9862477ece665df66d95f54921796b8703cd7971;hp=1795c1a2ce708e057718512c98ccd54928441924;hpb=a57e62adb20b8c9be0172f2d5d1e767c3aa528ca;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 1795c1a..1c488fe 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -587,10 +587,18 @@ public class AlignFrame validate(); } - - - - + /** + * + * @return true if any progress bars are still active + */ + public boolean operationInProgress() + { + if (progressBars!=null && progressBars.size()>0) + { + return true; + } + return false; + } /* Added so Castor Mapping file can obtain Jalview Version */ @@ -696,10 +704,8 @@ public class AlignFrame { JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache. getProperty( "LAST_DIRECTORY"), - new String[] - { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc","amsa","jar" }, - new String[] - { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview" }, + jalview.io.AppletFormatAdapter.WRITABLE_EXTENSIONS, + jalview.io.AppletFormatAdapter.WRITABLE_FNAMES, currentFileFormat, false); @@ -781,7 +787,7 @@ public class AlignFrame String output = f.formatSequences( format, (Alignment) viewport.alignment, // class cast exceptions will occur in the distant future - omitHidden, f.getCacheSuffixDefault(format)); + omitHidden, f.getCacheSuffixDefault(format), viewport.colSel); if (output == null) { @@ -853,7 +859,7 @@ public class AlignFrame cap.setText(new FormatAdapter().formatSequences( e.getActionCommand(), viewport.alignment, - omitHidden)); + omitHidden, viewport.colSel)); } /** @@ -2860,7 +2866,7 @@ public class AlignFrame { SequenceI [] oldOrder = viewport.getAlignment().getSequencesArray(); AlignmentSorter.sortByPID(viewport.getAlignment(), - viewport.getAlignment().getSequenceAt(0)); + viewport.getAlignment().getSequenceAt(0), null); addHistoryItem(new OrderCommand("Pairwise Sort", oldOrder, viewport.alignment)); alignPanel.paintAlignment(true); @@ -3123,7 +3129,7 @@ public class AlignFrame public void actionPerformed(ActionEvent e) { SequenceI [] oldOrder = viewport.getAlignment().getSequencesArray(); - AlignmentSorter.sortByAnnotationScore(scoreLabel, viewport.getAlignment()); + AlignmentSorter.sortByAnnotationScore(scoreLabel, viewport.getAlignment());//,viewport.getSelectionGroup()); addHistoryItem(new OrderCommand("Sort by "+scoreLabel, oldOrder, viewport.alignment)); alignPanel.paintAlignment(true); } @@ -3424,6 +3430,11 @@ public class AlignFrame */ public void BuildWebServiceMenu() { + // TODO: add support for context dependent disabling of services based on alignment and current selection + // TODO: refactor to allow list of AbstractName/Handler bindings to be stored or retrieved from elsewhere + // TODO: add additional serviceHandle parameter to specify abstract handler class independently of AbstractName + // TODO: add in rediscovery GUI function to restart discoverer + // TODO: group services by location as well as function and/or introduce object broker mechanism. if ( (Discoverer.services != null) && (Discoverer.services.size() > 0)) { @@ -3523,9 +3534,6 @@ public class AlignFrame resetWebServiceMenu(); this.webService.add(this.webServiceNoServices); } - // TODO: add in rediscovery function - // TODO: reduce code redundancy. - // TODO: group services by location as well as function. } @@ -3614,6 +3622,7 @@ public class AlignFrame public void actionPerformed(ActionEvent e) { + // TODO: new thread for this call with vis-delay af.showProductsFor(sel, ds, isRegSel, dna, source); } @@ -3631,33 +3640,61 @@ public class AlignFrame } protected void showProductsFor(SequenceI[] sel, Alignment ds, boolean isRegSel, boolean dna, String source) { - ds = this.getViewport().alignment.getDataset(); // update our local dataset reference - Alignment prods = CrossRef.findXrefSequences(sel, dna, source, ds); - if (prods!=null) - { - SequenceI[] sprods = new SequenceI[prods.getHeight()]; - for (int s=0; s