new sort by length method, justify edit menu entries and experimental support for...
[jalview.git] / src / jalview / gui / AlignFrame.java
index d5ddf7d..eee57fc 100755 (executable)
@@ -2149,11 +2149,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   public void padGapsMenuitem_actionPerformed(ActionEvent e)
   {
     viewport.padGaps = padGapsMenuitem.isSelected();
-
     viewport.firePropertyChange("alignment", null, viewport.getAlignment()
             .getSequences());
   }
-
+  
+  //else
+  {
+    // if (justifySeqs>0)
+    {
+      // alignment.justify(justifySeqs!=RIGHT_JUSTIFY);
+    }
+  }
+  //}
+  
   /**
    * DOCUMENT ME!
    * 
@@ -2413,7 +2421,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   }
 
   /**
-   * DOCUMENT ME!
+   * Set or clear 'Show Sequence Features'
    * 
    * @param evt
    *                DOCUMENT ME!
@@ -2427,6 +2435,27 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       alignPanel.getOverviewPanel().updateOverviewImage();
     }
   }
+  /**
+   * Set or clear 'Show Sequence Features'
+   * 
+   * @param evt
+   *                DOCUMENT ME!
+   */
+  public void showSeqFeaturesHeight_actionPerformed(ActionEvent evt)
+  {
+    viewport.setShowSequenceFeaturesHeight(showSeqFeaturesHeight.isSelected());
+    if (viewport.getShowSequenceFeaturesHeight())
+    {
+      // ensure we're actually displaying features
+      viewport.setShowSequenceFeatures(true);
+      showSeqFeatures.setSelected(true);
+    }
+    alignPanel.paintAlignment(true);
+    if (alignPanel.getOverviewPanel() != null)
+    {
+      alignPanel.getOverviewPanel().updateOverviewImage();
+    }
+  }
 
   /**
    * DOCUMENT ME!
@@ -3008,6 +3037,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     addHistoryItem(new OrderCommand("ID Sort", oldOrder, viewport.alignment));
     alignPanel.paintAlignment(true);
   }
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *                DOCUMENT ME!
+   */
+  public void sortLengthMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByLength(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Length Sort", oldOrder, viewport.alignment));
+    alignPanel.paintAlignment(true);
+  }
 
   /**
    * DOCUMENT ME!
@@ -4267,6 +4309,24 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       }
     }
   }
+  /**
+   *  Left justify the whole alignment.
+   */
+  protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
+  {
+    AlignmentI al = viewport.getAlignment();
+    al.justify(false);
+    viewport.firePropertyChange("alignment", null, al);
+  }
+  /**
+   *  Right justify the whole alignment.
+   */
+  protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
+  {
+    AlignmentI al = viewport.getAlignment();
+    al.justify(true);
+    viewport.firePropertyChange("alignment", null, al);
+  }
 }
 
 class PrintThread extends Thread