JAL-1780 more support for export setting for flatfile output
[jalview.git] / src / jalview / gui / AlignViewport.java
index e32e910..a6f7d41 100644 (file)
  */
 package jalview.gui;
 
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Rectangle;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Set;
+import java.util.Vector;
+
+import javax.swing.JInternalFrame;
+import javax.swing.JOptionPane;
+
 import jalview.analysis.AlignmentUtils;
 import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
 import jalview.analysis.NJTree;
+import jalview.api.AlignExportSettingI;
 import jalview.api.AlignViewportI;
 import jalview.api.FeatureRenderer;
 import jalview.api.ViewStyleI;
@@ -65,18 +79,6 @@ import jalview.util.MessageManager;
 import jalview.viewmodel.AlignmentViewport;
 import jalview.ws.params.AutoCalcSetting;
 
-import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.Rectangle;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Set;
-import java.util.Vector;
-
-import javax.swing.JInternalFrame;
-import javax.swing.JOptionPane;
-
 /**
  * DOCUMENT ME!
  * 
@@ -98,6 +100,10 @@ public class AlignViewport extends AlignmentViewport implements
 
   private FeatureRenderer featureRenderer;
 
+  private boolean includeHiddenRegion = true;
+
+  private AlignExportSettingI exportSettings;
+
   String viewName;
 
   /*
@@ -659,35 +665,32 @@ public class AlignViewport extends AlignmentViewport implements
   /**
    * 
    * @param pdbEntries
-   * @return a series of SequenceI arrays, one for each PDBEntry, listing which
-   *         sequence in the alignment holds a reference to it
+   * @return an array of SequenceI arrays, one for each PDBEntry, listing which
+   *         sequences in the alignment hold a reference to it
    */
   public SequenceI[][] collateForPDB(PDBEntry[] pdbEntries)
   {
-    ArrayList<SequenceI[]> seqvectors = new ArrayList<SequenceI[]>();
+    List<SequenceI[]> seqvectors = new ArrayList<SequenceI[]>();
     for (PDBEntry pdb : pdbEntries)
     {
-      ArrayList<SequenceI> seqs = new ArrayList<SequenceI>();
-      for (int i = 0; i < alignment.getHeight(); i++)
+      List<SequenceI> seqs = new ArrayList<SequenceI>();
+      for (SequenceI sq : alignment.getSequences())
       {
-        Vector pdbs = alignment.getSequenceAt(i).getDatasetSequence()
-                .getPDBId();
+        Vector<PDBEntry> pdbs = sq
+                .getDatasetSequence().getPDBId();
         if (pdbs == null)
         {
           continue;
         }
-        SequenceI sq;
-        for (int p = 0; p < pdbs.size(); p++)
+        for (PDBEntry p1 : pdbs)
         {
-          PDBEntry p1 = (PDBEntry) pdbs.elementAt(p);
           if (p1.getId().equals(pdb.getId()))
           {
-            if (!seqs.contains(sq = alignment.getSequenceAt(i)))
+            if (!seqs.contains(sq))
             {
               seqs.add(sq);
+              continue;
             }
-
-            continue;
           }
         }
       }
@@ -1053,4 +1056,14 @@ public class AlignViewport extends AlignmentViewport implements
   {
     this.featureRenderer = featureRenderer;
   }
+
+  public AlignExportSettingI getExportSettings()
+  {
+    return exportSettings;
+  }
+
+  public void setExportSettings(AlignExportSettingI exportSettings)
+  {
+    this.exportSettings = exportSettings;
+  }
 }