refactored Alignframe padGaps code to Alignment and Added AlignmentI method.
authorjprocter <Jim Procter>
Wed, 11 Jan 2006 13:27:21 +0000 (13:27 +0000)
committerjprocter <Jim Procter>
Wed, 11 Jan 2006 13:27:21 +0000 (13:27 +0000)
src/jalview/datamodel/Alignment.java
src/jalview/datamodel/AlignmentI.java
src/jalview/gui/AlignFrame.java

index f0aeed9..e9af7f4 100755 (executable)
@@ -734,4 +734,21 @@ public class Alignment implements AlignmentI
       return dataset;\r
     }\r
 \r
+    public boolean padGaps() {\r
+      boolean modified=false;\r
+      int Width = getWidth();\r
+      SequenceI current;\r
+      for (int i = 0; i < sequences.size();\r
+           i++)\r
+      {\r
+        current = getSequenceAt(i);\r
+\r
+        if (current.getLength() < Width)\r
+        {\r
+          current.insertCharAt(Width - 1, gapCharacter);\r
+          modified=true;\r
+        }\r
+      }\r
+      return modified;\r
+    }\r
 }\r
index 2a39847..59610b3 100755 (executable)
@@ -300,6 +300,11 @@ public interface AlignmentI
     public Alignment getDataset();\r
 \r
     public void setDataset(Alignment dataset);\r
+    /**\r
+     * pads sequences with gaps (to ensure the set looks like an alignment)\r
+     * @return boolean true if alignment was modified\r
+     */\r
+    public boolean padGaps();\r
 \r
 \r
 }\r
index d2b5fc8..bfdc40b 100755 (executable)
@@ -1259,22 +1259,8 @@ public class AlignFrame
   {\r
     addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment,\r
                                    HistoryItem.HIDE));\r
-\r
-    SequenceI current;\r
-    int Width = viewport.getAlignment().getWidth();\r
-\r
-    for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
-         i++)\r
-    {\r
-      current = viewport.getAlignment().getSequenceAt(i);\r
-\r
-      if (current.getLength() < Width)\r
-      {\r
-        current.insertCharAt(Width - 1, viewport.getGapCharacter());\r
-      }\r
-    }\r
-\r
-    alignmentChanged();\r
+    if (viewport.getAlignment().padGaps())\r
+      alignmentChanged();\r
   }\r
 \r
   /**\r