Skip to content

Commit 6add294

Browse files
authored
Merge pull request #285 from ProgrammingLife2016/feat/node-to-tree-highlight
Node selection highlightts tree
2 parents 5371cc4 + 4f8ffc5 commit 6add294

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

PL2/PL2-gui/src/main/java/nl/tudelft/pl2016gr2/gui/view/graph/ViewGraphNodeEllipse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717
public class ViewGraphNodeEllipse extends Ellipse implements IViewGraphNode {
1818

19-
private final GraphNode dataNode;
19+
public final GraphNode dataNode;
2020

2121
/**
2222
* Construct a node circle.

PL2/PL2-gui/src/main/java/nl/tudelft/pl2016gr2/gui/view/graph/ViewGraphNodeRectangle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class ViewGraphNodeRectangle extends Rectangle implements IViewGraphNode
2020

2121
private final DoubleProperty centerXProperty = new SimpleDoubleProperty();
2222
private final DoubleProperty centerYProperty = new SimpleDoubleProperty();
23-
private final GraphNode dataNode;
23+
public final GraphNode dataNode;
2424

2525
/**
2626
* Constructor.

PL2/PL2-gui/src/main/java/nl/tudelft/pl2016gr2/gui/view/tree/TreeNodeCircle.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@
1616
import javafx.scene.shape.Rectangle;
1717
import javafx.util.Duration;
1818
import nl.tudelft.pl2016gr2.gui.view.events.AnimationEvent;
19+
import nl.tudelft.pl2016gr2.gui.view.graph.IViewGraphNode;
20+
import nl.tudelft.pl2016gr2.gui.view.graph.ViewGraphNodeEllipse;
1921
import nl.tudelft.pl2016gr2.gui.view.selection.ISelectable;
2022
import nl.tudelft.pl2016gr2.gui.view.selection.ISelectionInfo;
2123
import nl.tudelft.pl2016gr2.gui.view.selection.TreeLeafDescription;
2224
import nl.tudelft.pl2016gr2.gui.view.selection.TreeNodeDescription;
2325
import nl.tudelft.pl2016gr2.model.GenomeMap;
26+
import nl.tudelft.pl2016gr2.model.graph.nodes.GraphNode;
2427
import nl.tudelft.pl2016gr2.model.phylogenetictree.IPhylogeneticTreeNode;
2528
import nl.tudelft.pl2016gr2.thirdparty.testing.utility.TestId;
2629

PL2/PL2-gui/src/main/java/nl/tudelft/pl2016gr2/gui/view/tree/TreePaneController.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@
1212
import javafx.scene.layout.Pane;
1313
import nl.tudelft.pl2016gr2.gui.view.MetadataPropertyMap;
1414
import nl.tudelft.pl2016gr2.gui.view.graph.GraphPaneController;
15+
import nl.tudelft.pl2016gr2.gui.view.graph.ViewGraphNodeEllipse;
16+
import nl.tudelft.pl2016gr2.gui.view.graph.ViewGraphNodeRectangle;
1517
import nl.tudelft.pl2016gr2.gui.view.selection.ISelectable;
1618
import nl.tudelft.pl2016gr2.gui.view.selection.SelectionManager;
1719
import nl.tudelft.pl2016gr2.gui.view.tree.heatmap.HeatmapManager;
20+
import nl.tudelft.pl2016gr2.model.graph.nodes.GraphNode;
1821
import nl.tudelft.pl2016gr2.model.phylogenetictree.IPhylogeneticTreeNode;
1922
import nl.tudelft.pl2016gr2.model.phylogenetictree.IPhylogeneticTreeRoot;
2023
import nl.tudelft.pl2016gr2.thirdparty.testing.utility.TestId;
@@ -91,6 +94,19 @@ public void setup(SelectionManager selectionManager, GraphPaneController graphPa
9194
this.selectionManager = selectionManager;
9295
this.graphPaneController = graphPaneController;
9396
selectionManager.addListener((observable, oldValue, newValue) -> {
97+
{
98+
GraphNode dataNode = null;
99+
if (newValue instanceof ViewGraphNodeEllipse) {
100+
dataNode = ((ViewGraphNodeEllipse) newValue).dataNode;
101+
} else if (newValue instanceof ViewGraphNodeRectangle) {
102+
dataNode = ((ViewGraphNodeRectangle) newValue).dataNode;
103+
}
104+
if (dataNode != null) {
105+
selectionManager.getSearchBoxSelectedGenomes().setAll(dataNode.getGenomes());
106+
} else {
107+
selectionManager.getSearchBoxSelectedGenomes().clear();
108+
}
109+
}
94110
checkSelectedForNodeAndLeaves(currentRoot);
95111
});
96112
initializeTopGraphSelectionManger();

0 commit comments

Comments
 (0)