@Override
public String getToolTipText(MouseEvent event) {
MouseEvent adjustedEvent = translateZoom(event);
Point p = adjustedEvent.getPoint();
GraphNodeUi2D nodeUi = getNodeUiAt(p);
GraphEdgeUi2D edgeUi = getEdgeUiAt(p);
if (nodeUi == null && edgeUi == null) {
return null;
} else if (nodeUi != null && edgeUi != null) {
return isNodeAboveEdge(nodeUi.getNodeObject(), edgeUi.getEdge()) ?
getNodeUiToolTip(nodeUi, adjustedEvent) : edgeUi.getToolTipText(event);
} else if (nodeUi == null && edgeUi != null) {
return edgeUi.getToolTipText(event);
} else if (edgeUi == null) {
return getNodeUiToolTip(nodeUi, adjustedEvent);
}
return null;
}