Page setup added
[jalview.git] / src / jalview / gui / AlignFrame.java
index f813457..b2fa937 100755 (executable)
@@ -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();
   }
 
@@ -2932,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
@@ -3356,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();
+      }
+    }
+  }
+}