protected PLayer getArcLayer() { return getCamera().getLayer(ARC_LAYER_INDEX); }
protected PLayer getNodeLayer() { return getCamera().getLayer(NODE_LAYER_INDEX); }
public void addGraphInputListener(PInputEventListener listener) { getCamera().addInputEventListener(listener); }
public void removeGraphInputListener(PInputEventListener listener) { getCamera().removeInputEventListener(listener); }
protected void initializeLayers() { // one layer is automatically created (layer 0), see the PCanvas constructor // we'll let that one be the arc layer // now create and add the node layer (layer 1) PLayer nodeLayer = new PLayer(); getRoot().addChild(nodeLayer); getCamera().addLayer(NODE_LAYER_INDEX, nodeLayer); }
/** * Moves the tooltip to the left if the owner is on the right hand side * of the screen. */ private void adjustX(AbstractGraph graph, PNode owner) { Rectangle2D rect = owner.getBounds(); if(isCameraNode) rect = graph.getCamera().viewToLocal(owner.getBounds()); double maxX = graph.getWidth() / 3; maxX *= 2; if(getX() > maxX) { this.translate(-1 * (getWidth() + rect.getWidth()), 0); } }
public AbstractGraph() { super(); this.model = new DefaultGraphModel(); this.graphModelListeners = new ArrayList<GraphModelListener>(); this.layouts = new ArrayList<LayoutAction>(); addDefaultLayouts(); this.graphPopupListener = new GraphPopupListener(); getCamera().addInputEventListener(graphPopupListener); this.filterManager = new FilterManager(this); this.filterManager.addFilterChangedListener(filterListener); this.selectedNodes = new NodeCollection(); selectedNodes.addCollectionListener(selectionListener); this.matchingNodes = new NodeCollection(); matchingNodes.addCollectionListener(matchingListener); this.nodeStyle = new DefaultGraphNodeStyle(); this.arcStyle = new DefaultGraphArcStyle(); addFocusListener(focusListener); // register to use our custom tooltips CustomToolTipManager.sharedInstance().registerComponent(this); initializeLayers(); // this is needed to handle keyboard events getRoot().getDefaultInputManager().setKeyboardFocus(new KeyHandlerDelegate(getCamera())); }
/** * @see javax.swing.JComponent#getToolTipText(java.awt.event.MouseEvent) */ public String getToolTipText(MouseEvent e) { String tooltipText = ""; if (e != null) { PNode pnode = getCamera().pick(e.getX(), e.getY(), 1).getPickedNode(); if (pnode.getVisible()) { if (pnode instanceof GraphNode && isShowNodeTooltips()) { GraphNode node = (GraphNode) pnode; tooltipText = node.getTooltip(); ttBackground = node.getNodeStyle().getTooltipBackgroundColor(); ttTextColor = node.getNodeStyle().getTooltipTextColor(); ttFont = node.getNodeStyle().getTooltipFont(); } else if (pnode instanceof GraphArc) { GraphArc arc = (GraphArc) pnode; tooltipText = arc.getTooltip(); if (tooltipText == null || tooltipText.equals("")) { tooltipText = arc.getSource().getText() + " ---" + arc.getType() + "---> " + arc.getDestination().getText(); } ttBackground = arc.getArcStyle().getTooltipBackgroundColor(); ttTextColor = arc.getArcStyle().getTooltipTextColor(); ttFont = arc.getArcStyle().getTooltipFont(); } } } return (tooltipText.length() > 0 ? " " + tooltipText + " " : ""); }