Conservation etc have autoCalculated flag set true
[jalview.git] / src / jalview / gui / AlignFrame.java
index 07c56c4..b2fa937 100755 (executable)
@@ -310,7 +310,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
               SequenceGroup sg = viewport.getSelectionGroup();
               if (toggleSeqs)
               {
-                if (sg != null && sg.getSize(false) != viewport.alignment.getHeight())
+                if (sg != null && sg.getSize() != viewport.alignment.getHeight())
                 {
                   hideSelSequences_actionPerformed(null);
                   hide = true;
@@ -592,7 +592,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
           dset.deleteSequence(0);
         }
 
-        firePropertyChange("Alignment", null, null);
+        firePropertyChange("Alignment", null, viewport.alignment.getSequences());
 
         updateEditMenuBar();
       }
@@ -825,6 +825,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     alignPanel.makeEPS(f);
   }
 
+
+  public void pageSetup_actionPerformed(ActionEvent e)
+  {
+    PrinterJob printJob = PrinterJob.getPrinterJob();
+    PrintThread.pf = printJob.pageDialog(printJob.defaultPage());
+  }
+
   /**
    * DOCUMENT ME!
    *
@@ -833,7 +840,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
   public void printMenuItem_actionPerformed(ActionEvent e)
   {
     //Putting in a thread avoids Swing painting problems
-    PrintThread thread = new PrintThread();
+    PrintThread thread = new PrintThread(alignPanel);
     thread.start();
   }
 
@@ -990,7 +997,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     if(originalSource!=null)
     {
       originalSource.hasHiddenColumns = viewport.colSel.getHiddenColumns() != null;
-      originalSource.firePropertyChange("alignment", null,null);
+      originalSource.firePropertyChange("alignment",
+                                        null,
+                                        originalSource.alignment.getSequences());
     }
   }
 
@@ -1014,7 +1023,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     if(originalSource!=null)
     {
       originalSource.hasHiddenColumns = viewport.colSel.getHiddenColumns() != null;
-      originalSource.firePropertyChange("alignment", null,null);
+      originalSource.firePropertyChange("alignment",
+                                        null,
+                                        originalSource.alignment.getSequences());
     }
   }
 
@@ -1078,14 +1089,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
       {
         SequenceI seq = viewport.alignment.getSequenceAt(i);
 
-        if (!sg.getSequences(false).contains(seq))
+        if (!sg.getSequences(null).contains(seq))
         {
           continue;
         }
 
         SequenceI temp = viewport.alignment.getSequenceAt(i - 1);
 
-        if (sg.getSequences(false).contains(temp))
+        if (sg.getSequences(null).contains(temp))
         {
           continue;
         }
@@ -1100,14 +1111,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
       {
         SequenceI seq = viewport.alignment.getSequenceAt(i);
 
-        if (!sg.getSequences(false).contains(seq))
+        if (!sg.getSequences(null).contains(seq))
         {
           continue;
         }
 
         SequenceI temp = viewport.alignment.getSequenceAt(i + 1);
 
-        if (sg.getSequences(false).contains(temp))
+        if (sg.getSequences(null).contains(temp))
         {
           continue;
         }
@@ -1152,6 +1163,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
     try
     {
+      jalview.gui.Desktop.internalCopy = true;
       //Its really worth setting the clipboard contents
       //to empty before setting the large StringSelection!!
       Toolkit.getDefaultToolkit().getSystemClipboard()
@@ -1279,7 +1291,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
      }
      else
      {
-       sequences = new FormatAdapter().readFile(str, "Paste", format);
+       sequences = new FormatAdapter().readFile(str, "Paste", format).getSequencesArray();
      }
 
      AlignmentI alignment = null;
@@ -1431,7 +1443,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
     Vector seqs = new Vector();
     SequenceI seq;
-    for (int i = 0; i < sg.getSize(false); i++)
+    for (int i = 0; i < sg.getSize(); i++)
     {
       seq = sg.getSequenceAt(i);
       seqs.addElement(seq);
@@ -1439,7 +1451,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
 
    // If the cut affects all sequences, remove highlighted columns
-   if (sg.getSize(false) == viewport.alignment.getHeight())
+   if (sg.getSize() == viewport.alignment.getHeight())
    {
      viewport.getColumnSelection().removeElements(sg.getStartRes(),
          sg.getEndRes() + 1);
@@ -1604,7 +1616,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
       SequenceI [] seqs;
       if(viewport.getSelectionGroup()!=null)
-        seqs = viewport.getSelectionGroup().getSequencesAsArray(true);
+        seqs = viewport.getSelectionGroup().getSequencesAsArray(viewport.hiddenRepSequences);
       else
         seqs = viewport.alignment.getSequencesArray();
 
@@ -1667,7 +1679,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     SequenceI[] seqs;
     if (viewport.getSelectionGroup() != null)
     {
-      seqs = viewport.getSelectionGroup().getSequencesAsArray(true);
+      seqs = viewport.getSelectionGroup().getSequencesAsArray(viewport.hiddenRepSequences);
       start = viewport.getSelectionGroup().getStartRes();
       end = viewport.getSelectionGroup().getEndRes();
     }
@@ -1711,7 +1723,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     SequenceI[] seqs;
     if (viewport.getSelectionGroup() != null)
     {
-      seqs = viewport.getSelectionGroup().getSequencesAsArray(true);
+      seqs = viewport.getSelectionGroup().getSequencesAsArray(viewport.hiddenRepSequences);
       start = viewport.getSelectionGroup().getStartRes();
       end = viewport.getSelectionGroup().getEndRes();
     }
@@ -2226,7 +2238,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
         if (cs instanceof ClustalxColourScheme)
         {
           sg.cs = new ClustalxColourScheme(
-              sg.getSequences(true), sg.getWidth());
+              sg.getSequences(viewport.hiddenRepSequences), sg.getWidth());
         }
         else if (cs instanceof UserColourScheme)
         {
@@ -2251,7 +2263,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
                 viewport.getIgnoreGapsConsensus());
 
          sg.cs.setConsensus(AAFrequency.calculate(
-             sg.getSequences(true), sg.getStartRes(),
+             sg.getSequences(viewport.hiddenRepSequences), sg.getStartRes(),
              sg.getEndRes()+1));
        }
         else
@@ -2262,7 +2274,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
         {
           Conservation c = new Conservation("Group",
                                             ResidueProperties.propHash, 3,
-                                            sg.getSequences(true),
+                                            sg.getSequences(viewport.hiddenRepSequences),
                                             sg.getStartRes(),
                                             sg.getEndRes()+1);
           c.calculate();
@@ -2514,7 +2526,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
   public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
   {
     if ( (viewport.getSelectionGroup() == null) ||
-        (viewport.getSelectionGroup().getSize(false) < 2))
+        (viewport.getSelectionGroup().getSize() < 2))
     {
       JOptionPane.showInternalMessageDialog(this,
                                             "You must select at least 2 sequences.",
@@ -2537,8 +2549,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
   public void PCAMenuItem_actionPerformed(ActionEvent e)
   {
     if ( ( (viewport.getSelectionGroup() != null) &&
-          (viewport.getSelectionGroup().getSize(false) < 4) &&
-          (viewport.getSelectionGroup().getSize(false) > 0)) ||
+          (viewport.getSelectionGroup().getSize() < 4) &&
+          (viewport.getSelectionGroup().getSize() > 0)) ||
         (viewport.getAlignment().getHeight() < 4))
     {
       JOptionPane.showInternalMessageDialog(this,
@@ -2618,7 +2630,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     TreePanel tp;
 
     if (viewport.getSelectionGroup() != null) {
-      if (viewport.getSelectionGroup().getSize(false) < 3) {
+      if (viewport.getSelectionGroup().getSize() < 3) {
         JOptionPane.showMessageDialog(Desktop.desktop,
                                       "You need to have more than two sequences selected to build a tree!",
                                       "Not enough sequences",
@@ -2630,9 +2642,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
       SequenceGroup sg = viewport.getSelectionGroup();
 
       /* Decide if the selection is a column region */
-      while (s < sg.getSize(false))
+      while (s < sg.getSize())
       {
-        if ( ( (SequenceI) sg.getSequences(false).elementAt(s++)).getLength() <
+        if ( ( (SequenceI) sg.getSequences(null).elementAt(s++)).getLength() <
             sg.getEndRes())
         {
           JOptionPane.showMessageDialog(Desktop.desktop,
@@ -2775,7 +2787,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     AlignmentView msa = null;
 
     if ( (viewport.getSelectionGroup() != null) &&
-        (viewport.getSelectionGroup().getSize(false) > 1))
+        (viewport.getSelectionGroup().getSize() > 1))
     {
       // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface!
       /*SequenceGroup seqs = viewport.getSelectionGroup();
@@ -2817,7 +2829,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
    AlignmentView seqs = null;
 
     if ( (viewport.getSelectionGroup() != null) &&
-        (viewport.getSelectionGroup().getSize(false) > 0))
+        (viewport.getSelectionGroup().getSize() > 0))
     {
       seqs = viewport.getAlignmentView(true);
     }
@@ -2927,28 +2939,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     return tp;
   }
 
-  class PrintThread
-      extends Thread
-  {
-    public void run()
-    {
-      PrinterJob printJob = PrinterJob.getPrinterJob();
-      PageFormat pf = printJob.pageDialog(printJob.defaultPage());
-      printJob.setPrintable(alignPanel, pf);
-
-      if (printJob.printDialog())
-      {
-        try
-        {
-          printJob.print();
-        }
-        catch (Exception PrintException)
-        {
-          PrintException.printStackTrace();
-        }
-      }
-    }
-  }
 
   /**
    * Generates menu items and listener event actions for web service clients
@@ -3283,7 +3273,7 @@ public void drop(DropTargetDropEvent evt)
       }
 
       boolean isAnnotation = new AnnotationFile().readAnnotationFile(viewport.
-          alignment, file);
+          alignment, file, protocol);
 
       if (!isAnnotation)
       {
@@ -3351,3 +3341,34 @@ public void drop(DropTargetDropEvent evt)
     return viewport;
   }
 }
+
+class PrintThread extends Thread
+{
+  AlignmentPanel ap;
+  public PrintThread(AlignmentPanel ap)
+  {
+   this.ap = ap;
+  }
+  static PageFormat pf;
+  public void run()
+  {
+    PrinterJob printJob = PrinterJob.getPrinterJob();
+
+    if (pf != null)
+      printJob.setPrintable(ap, pf);
+    else
+      printJob.setPrintable(ap);
+
+    if (printJob.printDialog())
+    {
+      try
+      {
+        printJob.print();
+      }
+      catch (Exception PrintException)
+      {
+        PrintException.printStackTrace();
+      }
+    }
+  }
+}