Added PadGaps and made treeSortMenu dynamic (it gets added when there is a tree order...
authorjprocter <Jim Procter>
Mon, 23 May 2005 17:55:18 +0000 (17:55 +0000)
committerjprocter <Jim Procter>
Mon, 23 May 2005 17:55:18 +0000 (17:55 +0000)
src/jalview/gui/AlignFrame.java

index 846ab24..725ffe9 100755 (executable)
 
 package jalview.gui;
 
-import jalview.jbgui.GAlignFrame;
-import jalview.schemes.*;
-import jalview.datamodel.*;
-import jalview.analysis.*;
-import jalview.io.*;
-import jalview.ws.*;
+import java.util.*;
+
 import java.awt.*;
+import java.awt.datatransfer.*;
 import java.awt.event.*;
 import java.awt.print.*;
 import javax.swing.*;
 import javax.swing.event.*;
-import java.util.*;
-import java.awt.datatransfer.*;
+
+import jalview.analysis.*;
+import jalview.datamodel.*;
+import jalview.io.*;
+import jalview.jbgui.*;
+import jalview.schemes.*;
+import jalview.ws.*;
 
 
 public class AlignFrame extends GAlignFrame
@@ -168,6 +170,7 @@ public class AlignFrame extends GAlignFrame
 
   Stack historyList = new Stack();
   Stack redoList = new Stack();
+  private int treeCount = 0;
 
   void updateEditMenuBar()
    {
@@ -425,7 +428,7 @@ public class AlignFrame extends GAlignFrame
      {
        SequenceI seq = sg.getSequenceAt(i);
        int index = viewport.getAlignment().findIndex(seq);
-       seq.deleteChars(sg.getStartRes(), sg.getEndRes()+1);
+       seq.deleteChars(sg.getStartRes(),sg.getEndRes()+1);
 
        if(seq.getSequence().length()<1)
           viewport.getAlignment().deleteSequence(seq);
@@ -575,6 +578,26 @@ public class AlignFrame extends GAlignFrame
   }
 
 
+  public void padGapsMenuitem_actionPerformed(ActionEvent e)
+    {
+      addHistoryItem(new HistoryItem("Pad Gaps",
+                                     viewport.alignment,
+                                     HistoryItem.HIDE));
+      SequenceI current;
+      int Width = viewport.getAlignment().getWidth()-1;
+      for (int i=0; i < viewport.getAlignment().getSequences().size();i++)
+      {
+        current = viewport.getAlignment().getSequenceAt(i);
+
+        if (current.getLength()<Width)
+          current.insertCharAt(Width, viewport.getGapCharacter());
+      }
+      viewport.updateConservation();
+      viewport.updateConsensus();
+      alignPanel.repaint();
+  }
+
+
   public void findMenuItem_actionPerformed(ActionEvent e)
   {
     JInternalFrame frame = new JInternalFrame();
@@ -1067,8 +1090,8 @@ public class AlignFrame extends GAlignFrame
   }
 
   public void addSortByOrderMenuItem(String title, final AlignmentOrder order) {
-    final JMenuItem item = new JMenuItem(title);
-    sortByTreeMenu.add(item);
+    final JMenuItem item = new JMenuItem("by "+title);
+    sort.add(item);
     item.addActionListener(new java.awt.event.ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -1085,6 +1108,12 @@ public class AlignFrame extends GAlignFrame
   void addTreeMenuItem(final TreePanel treePanel, String title)
   {
     final JMenuItem item = new JMenuItem(title);
+
+    treeCount++;
+
+    if (treeCount==1)
+      sort.add(sortByTreeMenu);
+
     sortByTreeMenu.add(item);
     item.addActionListener(new java.awt.event.ActionListener()
     {
@@ -1101,7 +1130,10 @@ public class AlignFrame extends GAlignFrame
     {
       public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt)
       {
+        treeCount--;
         sortByTreeMenu.remove(item);
+        if (treeCount==0)
+          sort.remove(sortByTreeMenu);
       };
     });
 
@@ -1164,7 +1196,7 @@ public class AlignFrame extends GAlignFrame
           msa[i] = (SequenceI) seqs.getSequenceAt(i);
         }
 
-        JPredClient ct = new JPredClient(msa);
+        JPredClient ct = new JPredClient(title, msa);
       }
 
     }
@@ -1185,7 +1217,7 @@ public class AlignFrame extends GAlignFrame
           msa[i] = (SequenceI) seqs.elementAt(i);
         }
 
-        JPredClient ct = new JPredClient(msa);
+        JPredClient ct = new JPredClient(title, msa);
       }
 
     }
@@ -1270,5 +1302,4 @@ public class AlignFrame extends GAlignFrame
      }catch(Exception ex){ex.printStackTrace();}
   }
 
-
 }