@Override public SVGGElement initGui(SVGOMDocument svgDocument, IBoundsCalculator boundsCalculator) { this.calculator = boundsCalculator; this.outerGroupElement = (SVGGElement) svgDocument.createElementNS( SVGDOMImplementation.SVG_NAMESPACE_URI, SVGConstants.SVG_G_TAG); SVGGElement buttonGroup = button.initGui(svgDocument); outerGroupElement.appendChild(buttonGroup); this.displayElement = display.initGui(svgDocument, calculator); setAttribute( displayElement, SVGConstants.SVG_TRANSFORM_ATTRIBUTE, "translate(0," + SVGIntValueDisplay.getDiameter(nodeWidth) * 1.15 + SVGButton.SHADOW_OFFSET + ")"); //$NON-NLS-1$ //$NON-NLS-2$ outerGroupElement.appendChild(displayElement); this.rootElement = svgDocument.getRootElement(); EventListener removeListener = createRemoveListener(buttonGroup); buttonGroup.addEventListener( SVGConstants.SVG_MOUSEUP_EVENT_TYPE, createDisplayListener(), false); buttonGroup.addEventListener(SVGConstants.SVG_MOUSEOUT_EVENT_TYPE, removeListener, false); displayElement.addEventListener(SVGConstants.SVG_MOUSEOUT_EVENT_TYPE, removeListener, false); setDisplayVisible(false); return outerGroupElement; }
@Override public String getNodeId() { return display.getNodeId(); }