JAL-1526 simple function to write a snapshot of the desktop.
[jalview.git] / src / jalview / gui / Desktop.java
index f8f4019..b7057d1 100644 (file)
@@ -26,6 +26,7 @@ import jalview.io.FormatAdapter;
 import jalview.io.IdentifyFile;
 import jalview.io.JalviewFileChooser;
 import jalview.io.JalviewFileView;
+import jalview.util.ImageMaker;
 import jalview.util.MessageManager;
 import jalview.ws.params.ParamManager;
 
@@ -2771,4 +2772,20 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     dialogPause = false;
     block.release();
   }
+  @Override
+  protected void snapShotWindow_actionPerformed(ActionEvent e)
+  {
+    invalidate();
+    File of;
+    ImageMaker im = new jalview.util.ImageMaker(this, ImageMaker.EPS, "View of Desktop", getWidth(), getHeight(), of=new File("Jalview_snapshot"+System.currentTimeMillis()+".eps"), "View of desktop");
+    try {
+      paintAll(im.getGraphics());
+      im.writeImage();
+    } catch (Exception q)
+    {
+      Cache.log.error("Couldn't write snapshot to "+of.getAbsolutePath(),q);
+      return;
+    }
+    Cache.log.info("Successfully written snapshot to file "+of.getAbsolutePath());
+  }
 }