JAL-1990 added a progress indicator for Structure Chooser interface
[jalview.git] / src / jalview / structure / StructureSelectionManager.java
index 678bf3b..2f962b5 100644 (file)
@@ -32,6 +32,7 @@ import jalview.datamodel.Annotation;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SearchResults;
 import jalview.datamodel.SequenceI;
+import jalview.gui.IProgressIndicator;
 import jalview.io.AppletFormatAdapter;
 import jalview.util.MappingUtils;
 import jalview.util.MessageManager;
@@ -70,6 +71,10 @@ public class StructureSelectionManager
 
   private boolean addTempFacAnnot = false;
 
+  private IProgressIndicator progressIndicator;
+
+  private long progressSessionId;
+
   /*
    * Set of any registered mappings between (dataset) sequences.
    */
@@ -485,6 +490,8 @@ public class StructureSelectionManager
       ArrayList<StructureMapping> seqToStrucMapping = null;
       if (isMapUsingSIFTs)
       {
+        setProgressBar(null);
+        setProgressBar("Obtaining mapping with SIFTS");
         try
         {
           jalview.datamodel.Mapping sqmpping = maxAlignseq
@@ -518,12 +525,16 @@ public class StructureSelectionManager
           e.printStackTrace();
           System.err
                   .println(">>>>>>> SIFTs mapping could not be obtained... Now mapping with NW alignment");
+          setProgressBar(null);
+          setProgressBar("SIFTs mapping could not be obtained... Now mapping with NW alignment");
           seqToStrucMapping = getNWMappings(seq, pdbFile, maxChainId,
                   maxChain, pdb, maxAlignseq);
         }
       }
       else
       {
+        setProgressBar(null);
+        setProgressBar("Obtaining mapping with NW alignment");
         seqToStrucMapping = getNWMappings(seq, pdbFile,
                 maxChainId, maxChain, pdb,
                 maxAlignseq);
@@ -1224,4 +1235,30 @@ public class StructureSelectionManager
     }
     return null;
   }
+
+  public IProgressIndicator getProgressIndicator()
+  {
+    return progressIndicator;
+  }
+
+  public void setProgressIndicator(IProgressIndicator progressIndicator)
+  {
+    this.progressIndicator = progressIndicator;
+  }
+
+  public long getProgressSessionId()
+  {
+    return progressSessionId;
+  }
+
+  public void setProgressSessionId(long progressSessionId)
+  {
+    this.progressSessionId = progressSessionId;
+  }
+
+  public void setProgressBar(String message)
+  {
+    progressIndicator.setProgressBar(message, progressSessionId);
+  }
+
 }