Don't parse input id, leave it as it is
[jalview.git] / src / jalview / gui / TreePanel.java
index 1d197c3..bd619a3 100755 (executable)
@@ -26,18 +26,14 @@ import jalview.io.*;
 \r
 import jalview.jbgui.*;\r
 \r
 \r
 import jalview.jbgui.*;\r
 \r
-import org.jibble.epsgraphics.*;\r
 \r
 import java.awt.*;\r
 import java.awt.event.*;\r
 \r
 import java.awt.*;\r
 import java.awt.event.*;\r
-import java.awt.image.*;\r
 \r
 import java.io.*;\r
 \r
 import java.util.*;\r
 \r
 \r
 import java.io.*;\r
 \r
 import java.util.*;\r
 \r
-import javax.imageio.*;\r
-\r
 import java.beans.PropertyChangeEvent;\r
 \r
 \r
 import java.beans.PropertyChangeEvent;\r
 \r
 \r
@@ -93,6 +89,11 @@ public class TreePanel extends GTreePanel
       initTreePanel(av, seqVector, type, pwtype, 0, seqVector.size(), newtree);\r
     }\r
 \r
       initTreePanel(av, seqVector, type, pwtype, 0, seqVector.size(), newtree);\r
     }\r
 \r
+    public AlignmentI getAlignment()\r
+    {\r
+      return treeCanvas.av.getAlignment();\r
+    }\r
+\r
 \r
     void initTreePanel(AlignViewport av, Vector seqVector, String type,\r
                        String pwtype, int s, int e, NewickFile newTree)\r
 \r
     void initTreePanel(AlignViewport av, Vector seqVector, String type,\r
                        String pwtype, int s, int e, NewickFile newTree)\r
@@ -148,6 +149,7 @@ public class TreePanel extends GTreePanel
           // update distance/bootstrap visibility at the same time\r
           showBootstrap(newtree.HasBootstrap());\r
           showDistances(newtree.HasDistances());\r
           // update distance/bootstrap visibility at the same time\r
           showBootstrap(newtree.HasBootstrap());\r
           showDistances(newtree.HasDistances());\r
+          showPlaceholders(true);\r
         }\r
       }\r
 \r
         }\r
       }\r
 \r
@@ -163,8 +165,8 @@ public class TreePanel extends GTreePanel
         treeCanvas.setTree(tree);\r
 \r
         treeCanvas.repaint();\r
         treeCanvas.setTree(tree);\r
 \r
         treeCanvas.repaint();\r
-\r
       }\r
       }\r
+\r
     }\r
 \r
     public void showDistances(boolean b)\r
     }\r
 \r
     public void showDistances(boolean b)\r
@@ -349,6 +351,7 @@ public class TreePanel extends GTreePanel
         treeCanvas.setMarkPlaceholders(placeholdersMenu.isSelected());\r
     }\r
 \r
         treeCanvas.setMarkPlaceholders(placeholdersMenu.isSelected());\r
     }\r
 \r
+\r
     /**\r
      * DOCUMENT ME!\r
      *\r
     /**\r
      * DOCUMENT ME!\r
      *\r
@@ -356,70 +359,7 @@ public class TreePanel extends GTreePanel
      */\r
     public void epsTree_actionPerformed(ActionEvent e)\r
     {\r
      */\r
     public void epsTree_actionPerformed(ActionEvent e)\r
     {\r
-      boolean accurateText = true;\r
-\r
-      String renderStyle = jalview.bin.Cache.getDefault("EPS_RENDERING",\r
-          "Prompt each time");\r
-\r
-    // If we need to prompt, and if the GUI is visible then\r
-    // Prompt for EPS rendering style\r
-      if (renderStyle.equalsIgnoreCase("Prompt each time")\r
-          && !\r
-          (System.getProperty("java.awt.headless") != null\r
-           && System.getProperty("java.awt.headless").equals("true")))\r
-      {\r
-        EPSOptions eps = new EPSOptions();\r
-        renderStyle = eps.getValue();\r
-\r
-        if (renderStyle==null || eps.cancelled)\r
-          return;\r
-\r
-\r
-      }\r
-\r
-      if (renderStyle.equalsIgnoreCase("text"))\r
-      {\r
-        accurateText = false;\r
-      }\r
-\r
-        int width = treeCanvas.getWidth();\r
-        int height = treeCanvas.getHeight();\r
-\r
-        try\r
-        {\r
-            jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(jalview.bin.Cache.getProperty(\r
-                        "LAST_DIRECTORY"), new String[] { "eps" },\r
-                    new String[] { "Encapsulated Postscript" },\r
-                    "Encapsulated Postscript");\r
-            chooser.setFileView(new jalview.io.JalviewFileView());\r
-            chooser.setDialogTitle("Create EPS file from tree");\r
-            chooser.setToolTipText("Save");\r
-\r
-            int value = chooser.showSaveDialog(this);\r
-\r
-            if (value != jalview.io.JalviewFileChooser.APPROVE_OPTION)\r
-            {\r
-                return;\r
-            }\r
-\r
-            jalview.bin.Cache.setProperty("LAST_DIRECTORY",\r
-                                          chooser.getSelectedFile().getParent());\r
-\r
-            FileOutputStream out = new FileOutputStream(chooser.getSelectedFile());\r
-            EpsGraphics2D pg = new EpsGraphics2D("Tree", out, 0, 0, width,\r
-                                                 height);\r
-\r
-            pg.setAccurateTextMode(accurateText);\r
-\r
-            treeCanvas.draw(pg, width, height);\r
-\r
-            pg.flush();\r
-            pg.close();\r
-        }\r
-        catch (Exception ex)\r
-        {\r
-            ex.printStackTrace();\r
-        }\r
+      makeTreeImage(jalview.util.ImageMaker.EPS);\r
     }\r
 \r
     /**\r
     }\r
 \r
     /**\r
@@ -429,44 +369,34 @@ public class TreePanel extends GTreePanel
      */\r
     public void pngTree_actionPerformed(ActionEvent e)\r
     {\r
      */\r
     public void pngTree_actionPerformed(ActionEvent e)\r
     {\r
-        int width = treeCanvas.getWidth();\r
-        int height = treeCanvas.getHeight();\r
-\r
-        try\r
-        {\r
-            jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(jalview.bin.Cache.getProperty(\r
-                        "LAST_DIRECTORY"), new String[] { "png" },\r
-                    new String[] { "Portable network graphics" },\r
-                    "Portable network graphics");\r
-\r
-            chooser.setFileView(new jalview.io.JalviewFileView());\r
-            chooser.setDialogTitle("Create PNG image from tree");\r
-            chooser.setToolTipText("Save");\r
-\r
-            int value = chooser.showSaveDialog(this);\r
-\r
-            if (value != jalview.io.JalviewFileChooser.APPROVE_OPTION)\r
-            {\r
-                return;\r
-            }\r
-\r
-            jalview.bin.Cache.setProperty("LAST_DIRECTORY",\r
-                chooser.getSelectedFile().getParent());\r
+       makeTreeImage(jalview.util.ImageMaker.PNG);\r
+    }\r
 \r
 \r
-            FileOutputStream out = new FileOutputStream(chooser.getSelectedFile());\r
+    void makeTreeImage(int type)\r
+    {\r
+      int width = treeCanvas.getWidth();\r
+      int height = treeCanvas.getHeight();\r
 \r
 \r
-            BufferedImage bi = new BufferedImage(width, height,\r
-                    BufferedImage.TYPE_INT_RGB);\r
-            Graphics png = bi.getGraphics();\r
+      jalview.util.ImageMaker im;\r
 \r
 \r
-            treeCanvas.draw(png, width, height);\r
+      if(type == jalview.util.ImageMaker.PNG)\r
+        im = new jalview.util.ImageMaker(this,\r
+                                         jalview.util.ImageMaker.PNG,\r
+                                         "Make PNG image from tree",\r
+                                         width, height,\r
+                                         null, null);\r
+        else\r
+          im = new jalview.util.ImageMaker(this,\r
+                                 jalview.util.ImageMaker.EPS,\r
+                                 "Make EPS file from tree",\r
+                                 width, height,\r
+                                 null, this.getTitle());\r
 \r
 \r
-            ImageIO.write(bi, "png", out);\r
-            out.close();\r
-        }\r
-        catch (Exception ex)\r
-        {\r
-            ex.printStackTrace();\r
-        }\r
+      if(im.getGraphics()!=null)\r
+      {\r
+        treeCanvas.draw(im.getGraphics(), width, height);\r
+        im.writeImage();\r
+      }\r
     }\r
     }\r
+\r
 }\r
 }\r