From c770c52fe1c84d6b41ba1f5af352245f6b1c937c Mon Sep 17 00:00:00 2001 From: jprocter Date: Tue, 21 Nov 2006 16:31:13 +0000 Subject: [PATCH] fix unselectable tree leaf nodes when node mapping changes after aligmment update (and some null object exceptions from property update) --- src/jalview/analysis/NJTree.java | 9 +++++++++ src/jalview/gui/AlignFrame.java | 6 +++--- src/jalview/gui/TreePanel.java | 7 ++----- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/jalview/analysis/NJTree.java b/src/jalview/analysis/NJTree.java index b1141c5..78c4e60 100755 --- a/src/jalview/analysis/NJTree.java +++ b/src/jalview/analysis/NJTree.java @@ -284,12 +284,21 @@ public class NJTree if (nam != null) { + if (!leaf.isPlaceholder()) { + // remapping the node to a new sequenceI - should remove any refs to old one. + // TODO - make many sequenceI to one leaf mappings possible! (JBPNote) + } leaf.setPlaceholder(false); leaf.setElement(nam); } else { + if (!leaf.isPlaceholder()) { + // Construct a new placeholder sequence object for this leaf + leaf.setElement(new Sequence(leaf.getName(), "THISISAPLACEHLDER")); + } leaf.setPlaceholder(true); + } } } diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 6b8eb09..d891b52 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -977,7 +977,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener originalSource.hasHiddenColumns = viewport.colSel.getHiddenColumns() != null; updateEditMenuBar(); - originalSource.firePropertyChange("alignment", null,null); + originalSource.firePropertyChange("alignment", null,viewport.getAlignment().getSequences()); } /** @@ -995,7 +995,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener originalSource.hasHiddenColumns = viewport.colSel.getHiddenColumns()!=null; updateEditMenuBar(); - originalSource.firePropertyChange("alignment", null, null); + originalSource.firePropertyChange("alignment", null, viewport.getAlignment().getSequences()); } AlignViewport getOriginatingSource(CommandI command) @@ -3289,4 +3289,4 @@ public void drop(DropTargetDropEvent evt) { return viewport; } -} +} \ No newline at end of file diff --git a/src/jalview/gui/TreePanel.java b/src/jalview/gui/TreePanel.java index dc2b820..c22a8e7 100755 --- a/src/jalview/gui/TreePanel.java +++ b/src/jalview/gui/TreePanel.java @@ -128,18 +128,15 @@ public class TreePanel extends GTreePanel if(tree==null) System.out.println("tree is null"); if(evt.getNewValue()==null) - System.out.println("new value is null"); + System.out.println("new alignment sequences vector value is null"); tree.UpdatePlaceHolders( (Vector) evt.getNewValue()); - + treeCanvas.nameHash.clear(); // reset the mapping between canvas rectangles and leafnodes repaint(); } } }); - this.av = av; - - TreeLoader tl = new TreeLoader(newTree); if (inputData!=null) { tl.odata=inputData; -- 1.7.10.2