import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import jalview.commands.CommandI;
import jalview.commands.OrderCommand;
import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.BinaryNode;
import jalview.io.JalviewFileChooser;
import jalview.io.JalviewFileView;
import jalview.io.NewickFile;
+import jalview.io.exceptions.ImageOutputException;
import jalview.jbgui.GTreePanel;
import jalview.util.ImageMaker.TYPE;
import jalview.util.MessageManager;
SimilarityParamsI options)
{
super();
- this.setFrameIcon(WindowIcons.treeIcon);
+ this.setFrameIcon(null);
this.similarityParams = options;
initTreePanel(ap, type, modelName, null, null);
String theTitle, AlignmentView inputData)
{
super();
+ this.setFrameIcon(null);
this.treeTitle = theTitle;
initTreePanel(alignPanel, null, null, newtree, inputData);
}
+ /**
+ * columnwise tree associated with positions in aa
+ *
+ * @param alignPanel
+ * @param fin
+ * @param title
+ * @param aa
+ */
+ public TreePanel(AlignmentPanel alignPanel, NewickFile fin,
+ AlignmentAnnotation aa, String title)
+ {
+ super();
+ columnWise = true;
+ assocAnnotation = aa;
+ this.setFrameIcon(null);
+ this.treeTitle = title;
+ initTreePanel(alignPanel, null, null, fin, null);
+ }
+
+ boolean columnWise = false;
+
+ AlignmentAnnotation assocAnnotation = null;
+
+ public boolean isColumnWise()
+ {
+ return columnWise;
+ }
+
+ public AlignmentAnnotation getAssocAnnotation()
+ {
+ return assocAnnotation;
+ }
+
public AlignmentI getAlignment()
{
return getTreeCanvas().getViewport().getAlignment();
treeCanvas = new TreeCanvas(this, ap, scrollPane);
scrollPane.setViewportView(treeCanvas);
+ if (columnWise)
+ {
+ bootstrapMenu.setVisible(false);
+ placeholdersMenu.setState(false);
+ placeholdersMenu.setVisible(false);
+ fitToWindow.setState(false);
+ sortAssocViews.setVisible(false);
+ }
+
+ addKeyListener(new KeyAdapter()
+ {
+ @Override
+ public void keyPressed(KeyEvent e)
+ {
+ switch (e.getKeyCode())
+ {
+ case 27: // escape
+ treeCanvas.clearSelectedLeaves();
+ e.consume();
+ break;
+
+ }
+
+ }
+ });
PaintRefresher.Register(this, ap.av.getSequenceSetId());
buildAssociatedViewMenu();
{
if (tree == null)
{
- System.out.println("tree is null");
+ jalview.bin.Console.outPrintln("tree is null");
// TODO: deal with case when a change event is received whilst a
// tree is still being calculated - should save reference for
// processing message later.
}
if (evt.getNewValue() == null)
{
- System.out.println(
+ jalview.bin.Console.outPrintln(
"new alignment sequences vector value is null");
}
? new NJTree(av, sm, similarityParams)
: new AverageDistanceTree(av, sm, similarityParams);
tree = new TreeModel(njtree);
- showDistances(true);
+ // don't display distances for columnwise trees
}
-
+ showDistances(!columnWise);
tree.reCount(tree.getTopNode());
tree.findHeight(tree.getTopNode());
treeCanvas.setTree(tree);
String tree = MessageManager.getString("label.tree");
ImageExporter exporter = new ImageExporter(writer, null, imageFormat,
tree);
- exporter.doExport(null, this, width, height,
- tree.toLowerCase(Locale.ROOT));
+ try
+ {
+ exporter.doExport(null, this, width, height,
+ tree.toLowerCase(Locale.ROOT));
+ } catch (ImageOutputException ioex)
+ {
+ Console.error(
+ "Unexpected error whilst writing " + imageFormat.toString(),
+ ioex);
+ }
}
/**
&& !((SequenceNode) node).isDummy())
{
String newname = null;
- SequenceI sq = (SequenceI) ((SequenceNode) node).element();
+ SequenceI sq = (SequenceI) ((BinaryNode) node).element();
if (sq != null)
{
// search dbrefs, features and annotation
{
// String oldname = ((SequenceNode) node).getName();
// TODO : save oldname in the undo object for this modification.
- ((SequenceNode) node).setName(newname);
+ ((BinaryNode) node).setName(newname);
}
}
}
pg.close();
} catch (Exception ex)
{
- System.err.println("Error writing tree as EPS");
+ jalview.bin.Console.errPrintln("Error writing tree as EPS");
ex.printStackTrace();
}
}