public void render(Graphics2D g2d) {
if (!parametersProcessed) {
SingleElementNode sne = getSingleElementNode();
- Boolean enableEditing = sne.getParameter("enableEditing");
- if (enableEditing != null && enableEditing) {
- esm = new EditorStateManager(this);
- addEventHandler(this);
+ if (sne != null) {
+ Boolean enableEditing = sne.getParameter("enableEditing");
+ if (enableEditing != null && enableEditing) {
+ esm = new EditorStateManager(this);
+ addEventHandler(this);
+ }
+ parametersProcessed = true;
}
- parametersProcessed = true;
}
super.render(g2d);
}
private boolean isSelected(IG2DNode node) {
- ICanvasContext ctx = DiagramNodeUtil.getCanvasContext(this);
+ ICanvasContext ctx = DiagramNodeUtil.getPossibleCanvasContext(this);
+ if (ctx == null)
+ return false;
IElement ie = DiagramNodeUtil.getElement(ctx, node);
if (ie == null)
return false;
}
SingleElementNode getSingleElementNode() {
- ICanvasContext ctx = DiagramNodeUtil.getCanvasContext(this);
- // FIXME: needed only because eventdelegator registrations are done before adding node to scene graph.
- if (ctx == null)
- return null;
return (SingleElementNode)NodeUtil.getNearestParentOfType(this, SingleElementNode.class);
}