@Override protected IFigure createFigure() { Figure f = new FreeformViewport(); ToolbarLayout tb = new AnimationLayoutManager(true); tb.setSpacing(30); tb.setStretchMinorAxis(false); f.setLayoutManager(tb); f.setBorder( new MarginBorder( DiagramModel.TOP_MARGIN, DiagramModel.SIDE_MARGIN, DiagramModel.BOTTOM_MARGIN, DiagramModel.SIDE_MARGIN)); f.addMouseMotionListener(this); f.setBackgroundColor(ColorScheme.diagramBackground); IFigure label = new Label( " \n Drag classes or methods from the Package Explorer " + "into the diagram to explore and understand code." + "\n Or, use the expandable Palette on the right side of the diagram " + "to design."); this.nonEmptyFigure = new NonEmptyFigure(label); NonEmptyFigureSupport.instructionHighlight(label, 10); f.add(nonEmptyFigure); warning = new Label(""); warning.setLayoutManager(new ToolbarLayout()); NonEmptyFigureSupport.instructionHighlight(warning, 10); f.add(warning); return f; }
@Override public void activate() { if (isActive()) return; super.activate(); Value detailLevel = null; try { detailLevel = ((RepositoryMgr) ((RootArtifact) getModel()).getRepo()) .getFileRepo() .getStatement(RSECore.createRseUri("DetailNode"), RSECore.detailLevelURI, null) .getObject(); } catch (Throwable t) { } if (detailLevel != null) { ((RootArtifact) getModel()) .setDetailLevel(Integer.valueOf(((Literal) detailLevel).getLabel())); } DiagramModel diagramModel = ((DiagramModel) getModel()); diagramModel.addPropertyChangeListener(this); NonEmptyFigureSupport.listenToModel((ArtifactFragment) getModel(), nonEmptyFigure); getViewer().getEditDomain().getCommandStack().addCommandStackEventListener(stackEventListener); addInstancePanel(); if (diagramModel.getRepo() != null && diagramModel.getSavedDiagramResource() != null) { // Use the file repo to get the information ReloRdfRepository repo = diagramModel.getRepo().getFileRepo(); Map<Resource, ArtifactFragment> instanceRes2AFMap = new HashMap<Resource, ArtifactFragment>(); instanceResToAF = new HashMap<Resource, ArtifactFragment>(); addSavedContainee( diagramModel, diagramModel.getSavedDiagramResource(), instanceRes2AFMap, repo); addSavedControlFlows( diagramModel, diagramModel.getSavedDiagramResource(), instanceRes2AFMap, repo); addSavedConnections(diagramModel, instanceRes2AFMap, repo); } }