fix unselectable tree leaf nodes when node mapping changes after aligmment update...
authorjprocter <Jim Procter>
Tue, 21 Nov 2006 16:31:13 +0000 (16:31 +0000)
committerjprocter <Jim Procter>
Tue, 21 Nov 2006 16:31:13 +0000 (16:31 +0000)
src/jalview/analysis/NJTree.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/TreePanel.java

index b1141c5..78c4e60 100755 (executable)
@@ -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);
+                    
                 }
             }
         }
index 6b8eb09..d891b52 100755 (executable)
@@ -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
index dc2b820..c22a8e7 100755 (executable)
@@ -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;