features = sq.getFeatures()
+ .getPositionalFeatures(labelClass);
+ for (SequenceFeature feature : features)
+ {
+ if (newname == null)
+ {
+ newname = feature.getDescription();
+ }
+ else
+ {
+ newname = newname + "; " + feature.getDescription();
+ }
+ }
+ }
+ }
+ if (newname != null)
+ {
+ // String oldname = ((SequenceNode) node).getName();
+ // TODO : save oldname in the undo object for this modification.
+ ((SequenceNode) node).setName(newname);
+ }
+ }
}
+ });
+ }
- }
-
- if (renderStyle.equalsIgnoreCase("text"))
+ /**
+ * Formats a localised title for the tree panel, like
+ *
+ * Neighbour Joining Using BLOSUM62
+ *
+ * For a tree loaded from file, just uses the file name
+ *
+ * @return
+ */
+ public String getPanelTitle()
+ {
+ if (treeTitle != null)
{
- accurateText = false;
+ return treeTitle;
}
- int width = treeCanvas.getWidth();
- int height = treeCanvas.getHeight();
+ /*
+ * i18n description of Neighbour Joining or Average Distance method
+ */
+ String treecalcnm = MessageManager.getString(
+ "label.tree_calc_" + treeType.toLowerCase(Locale.ROOT));
+
+ /*
+ * short score model name (long description can be too long)
+ */
+ String smn = scoreModelName;
+
+ /*
+ * put them together as Using
+ */
+ final String ttl = MessageManager.formatMessage("label.calc_title",
+ treecalcnm, smn);
+ return ttl;
+ }
+ /**
+ * Builds an EPS image and writes it to the specified file.
+ *
+ * @param outFile
+ * @param textOption
+ * true for Text character rendering, false for Lineart
+ */
+ protected void writeEpsFile(File outFile, boolean textOption)
+ {
try
{
- jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(
- jalview.bin.Cache.getProperty(
- "LAST_DIRECTORY"), new String[]
- {"eps"},
- new String[]
- {"Encapsulated Postscript"},
- "Encapsulated Postscript");
- chooser.setFileView(new jalview.io.JalviewFileView());
- chooser.setDialogTitle("Create EPS file from tree");
- chooser.setToolTipText("Save");
-
- int value = chooser.showSaveDialog(this);
-
- if (value != jalview.io.JalviewFileChooser.APPROVE_OPTION)
- {
- return;
- }
-
- jalview.bin.Cache.setProperty("LAST_DIRECTORY",
- chooser.getSelectedFile().getParent());
+ int width = treeCanvas.getWidth();
+ int height = treeCanvas.getHeight();
- FileOutputStream out = new FileOutputStream(chooser.getSelectedFile());
+ FileOutputStream out = new FileOutputStream(outFile);
EpsGraphics2D pg = new EpsGraphics2D("Tree", out, 0, 0, width,
- height);
-
- pg.setAccurateTextMode(accurateText);
-
+ height);
+ pg.setAccurateTextMode(!textOption);
treeCanvas.draw(pg, width, height);
pg.flush();
pg.close();
- }
- catch (Exception ex)
+ } catch (Exception ex)
{
+ System.err.println("Error writing tree as EPS");
ex.printStackTrace();
}
}
- /**
- * DOCUMENT ME!
- *
- * @param e DOCUMENT ME!
- */
- public void pngTree_actionPerformed(ActionEvent e)
+ public AlignViewport getViewport()
{
- int width = treeCanvas.getWidth();
- int height = treeCanvas.getHeight();
-
- try
- {
- jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(
- jalview.bin.Cache.getProperty(
- "LAST_DIRECTORY"), new String[]
- {"png"},
- new String[]
- {"Portable network graphics"},
- "Portable network graphics");
-
- chooser.setFileView(new jalview.io.JalviewFileView());
- chooser.setDialogTitle("Create PNG image from tree");
- chooser.setToolTipText("Save");
-
- int value = chooser.showSaveDialog(this);
-
- if (value != jalview.io.JalviewFileChooser.APPROVE_OPTION)
- {
- return;
- }
-
- jalview.bin.Cache.setProperty("LAST_DIRECTORY",
- chooser.getSelectedFile().getParent());
-
- FileOutputStream out = new FileOutputStream(chooser.getSelectedFile());
-
- BufferedImage bi = new BufferedImage(width, height,
- BufferedImage.TYPE_INT_RGB);
- Graphics png = bi.getGraphics();
+ return av;
+ }
- treeCanvas.draw(png, width, height);
+ public void setViewport(AlignViewport av)
+ {
+ this.av = av;
+ }
- ImageIO.write(bi, "png", out);
- out.close();
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
+ public TreeCanvas getTreeCanvas()
+ {
+ return treeCanvas;
}
}