public void createObject(int x, int y) { if (availableForInsert && this.entry != null) { updateCursor(false); availableForInsert = false; switch (this.entry.getType()) { case TRIGGER_BLOCK: case CUSTOM_BLOCK: CreateUnspecifiedTypeRequest request = new CreateUnspecifiedTypeRequest( Collections.singletonList(Neuro4jElementTypes.LogicNode_2017), diagramEditPart.getDiagramPreferencesHint()); request.setLocation(new Point(x, y)); Command command = diagramEditPart.getCommand(request); command.execute(); List newObject = (List) request.getNewObject(); ViewAndElementDescriptor desc = (ViewAndElementDescriptor) newObject.get(0); ShapeImpl shape = (ShapeImpl) desc.getAdapter(ShapeImpl.class); LogicNode lNode = (LogicNode) shape.getElement(); updateCustomBlock(lNode, this.entry); break; case CHILD: if (entry.getParent().getType() != ListEntryType.FLOW) { return; } request = new CreateUnspecifiedTypeRequest( Collections.singletonList(Neuro4jElementTypes.CallNode_2008), diagramEditPart.getDiagramPreferencesHint()); request.setLocation(new Point(x, y)); command = diagramEditPart.getCommand(request); command.execute(); newObject = (List) request.getNewObject(); desc = (ViewAndElementDescriptor) newObject.get(0); shape = (ShapeImpl) desc.getAdapter(ShapeImpl.class); CallNode cNode = (CallNode) shape.getElement(); updateCallBlock(cNode, entry); break; default: break; } this.entry = null; } }
private void updateIcon(EObject element) { String className = entry.getMessage(); IEditorPart editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (editorPart instanceof IDiagramWorkbenchPart) { DiagramEditPart diagramPart = ((IDiagramWorkbenchPart) editorPart).getDiagramEditPart(); List<EditPart> editPartCollector = new ArrayList<EditPart>(); Neuro4jDiagramEditorUtil.findElementsInDiagramByID(diagramPart, element, editPartCollector); if (editPartCollector.size() > 0) { LogicNodeEditPart editpart = (LogicNodeEditPart) editPartCollector.get(0); editpart.updateImageForClass(className); } // editPartCollector } }