X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FTreePanel.java;h=5ccd68d5c0abeea60f4fa485ce0b4aa7cac1cd9a;hb=bf478b2e1087fb03bf6b9fb07f14a9e4f096892c;hp=9a4f2c443d4270571c8d74dff69485fb5c3feea0;hpb=fe68da05540c32386ec63bd3beeadf8b9d624a16;p=jalview.git diff --git a/src/jalview/gui/TreePanel.java b/src/jalview/gui/TreePanel.java index 9a4f2c4..5ccd68d 100755 --- a/src/jalview/gui/TreePanel.java +++ b/src/jalview/gui/TreePanel.java @@ -24,6 +24,8 @@ import java.awt.Font; 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; @@ -53,6 +55,7 @@ import jalview.bin.Console; 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; @@ -66,6 +69,7 @@ import jalview.gui.ImageExporter.ImageWriterI; 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; @@ -123,6 +127,39 @@ public class TreePanel extends GTreePanel 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(); @@ -142,9 +179,34 @@ public class TreePanel extends GTreePanel this.treeType = type; this.scoreModelName = modelName; + if (columnWise) + { + bootstrapMenu.setVisible(false); + placeholdersMenu.setSelected(false); + placeholdersMenu.setVisible(false); + fitToWindow.setSelected(false); + sortAssocViews.setVisible(false); + } + treeCanvas = new TreeCanvas(this, ap, scrollPane); scrollPane.setViewportView(treeCanvas); + 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(); @@ -696,8 +758,12 @@ public class TreePanel extends GTreePanel String tree = MessageManager.getString("label.tree"); ImageExporter exporter = new ImageExporter(writer, null, imageFormat, tree); + try { exporter.doExport(null, this, width, height, tree.toLowerCase(Locale.ROOT)); + } catch (ImageOutputException ioex) { + Console.error("Unexpected error whilst writing "+imageFormat.toString(),ioex); + } } /**