use of prefuse.controls.NeighborHighlightControl in project jo-client-platform by jo-source.
the class BeanRelationGraphImpl method initializeDisplayControlListener.
private void initializeDisplayControlListener() {
display.addControlListener(new DragControl() {
@Override
public void itemDragged(final VisualItem item, final MouseEvent e) {
if (layoutManager.getLabelEdgeLayout() != null) {
layoutManager.getLabelEdgeLayout().run();
super.itemDragged(item, e);
}
}
@Override
public void itemReleased(final VisualItem item, final MouseEvent e) {
item.set("position", new Point((int) item.getX(), (int) item.getY()));
super.itemReleased(item, e);
}
});
display.addControlListener(new PanControl());
display.addControlListener(new ZoomControl());
display.addControlListener(new WheelZoomControl());
display.addControlListener(new ZoomToFitControl());
display.addControlListener(new NeighborHighlightControl());
display.addControlListener(new FocusControl(NODES, 1) {
@Override
public void itemClicked(final VisualItem item, final MouseEvent e) {
if (item.isInGroup(EDGES)) {
return;
}
final int row = item.getRow();
final Node node = graph.getNode(row);
final double scale = display.getScale();
if ((Boolean) item.get("isParent")) {
if (item.get("expanded") == Expand.PARTIALLY) {
if (checkExpandIconHit(false, item, e, scale)) {
item.set("expanded", Expand.FULL);
loadModel(node, true);
runFilter();
return;
} else if (checkExpandIconHit(true, item, e, scale)) {
item.set("expanded", Expand.NOT);
loadModel(node, true);
runFilter();
return;
}
} else if (item.get("expanded") == Expand.FULL || item.get("expanded") == Expand.NOT) {
if (checkExpandIconHit(false, item, e, scale)) {
loadModel(node, true);
runFilter();
return;
}
}
}
if ((Boolean) node.get("marked")) {
node.set("marked", false);
markedNode = null;
} else {
node.set("marked", true);
markedNode = (NodeItem) item;
}
vis.run("marked");
runFilter();
runLayout(true);
}
});
final ToolTipControl ttc = new ToolTipControl("tooltip");
display.addControlListener(ttc);
}
Aggregations