Search in sources :

Example 1 with ArchimateDiagramEditPartFactory

use of com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory in project archi by archimatetool.

the class ArchimateDiagramEditor method configureGraphicalViewer.

@Override
protected void configureGraphicalViewer() {
    super.configureGraphicalViewer();
    GraphicalViewer viewer = getGraphicalViewer();
    // Register the Edit Part Factory before setting model contents
    viewer.setEditPartFactory(new ArchimateDiagramEditPartFactory());
    // Set Model
    viewer.setContents(getModel());
    // Native DnD
    viewer.addDropTargetListener(new ArchimateDiagramTransferDropTargetListener(viewer));
}
Also used : ArchimateDiagramEditPartFactory(com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory) GraphicalViewer(org.eclipse.gef.GraphicalViewer) ArchimateDiagramTransferDropTargetListener(com.archimatetool.editor.diagram.dnd.ArchimateDiagramTransferDropTargetListener)

Example 2 with ArchimateDiagramEditPartFactory

use of com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory in project archi by archimatetool.

the class DiagramUtils method createViewer.

/**
 * Create a GraphicalViewerImpl to show the model. The Viewer has no Scroll Bars
 * @param model
 * @return A Graphical Viewer
 */
public static GraphicalViewerImpl createViewer(IDiagramModel model, Composite parent) {
    EditPartFactory editPartFactory = null;
    if (model instanceof IArchimateDiagramModel) {
        editPartFactory = new ArchimateDiagramEditPartFactory();
    } else if (model instanceof ISketchModel) {
        editPartFactory = new SketchEditPartFactory();
    } else {
        // Extensions
        IDiagramEditorFactory factory = DiagramEditorFactoryExtensionHandler.INSTANCE.getFactory(model);
        if (factory != null) {
            editPartFactory = factory.createEditPartFactory();
        }
    }
    if (editPartFactory == null) {
        // $NON-NLS-1$
        throw new RuntimeException("Unsupported model type");
    }
    GraphicalViewerImpl viewer = new GraphicalViewerImpl();
    viewer.createControl(parent);
    viewer.setEditPartFactory(editPartFactory);
    RootEditPart rootPart = new FreeformGraphicalRootEditPart();
    viewer.setRootEditPart(rootPart);
    viewer.setContents(model);
    viewer.flush();
    return viewer;
}
Also used : IDiagramEditorFactory(com.archimatetool.editor.diagram.IDiagramEditorFactory) ArchimateDiagramEditPartFactory(com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory) GraphicalViewerImpl(org.eclipse.gef.ui.parts.GraphicalViewerImpl) SketchEditPartFactory(com.archimatetool.editor.diagram.sketch.editparts.SketchEditPartFactory) SketchEditPartFactory(com.archimatetool.editor.diagram.sketch.editparts.SketchEditPartFactory) EditPartFactory(org.eclipse.gef.EditPartFactory) ArchimateDiagramEditPartFactory(com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory) FreeformGraphicalRootEditPart(org.eclipse.gef.editparts.FreeformGraphicalRootEditPart) ISketchModel(com.archimatetool.model.ISketchModel) IArchimateDiagramModel(com.archimatetool.model.IArchimateDiagramModel) RootEditPart(org.eclipse.gef.RootEditPart) FreeformGraphicalRootEditPart(org.eclipse.gef.editparts.FreeformGraphicalRootEditPart)

Example 3 with ArchimateDiagramEditPartFactory

use of com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory in project archi by archimatetool.

the class DiagramUtilsTests method testCreateViewer_ArchimateModel.

@Test
public void testCreateViewer_ArchimateModel() {
    IDiagramModel dm = model.getDiagramModels().get(0);
    assertTrue(dm instanceof IArchimateDiagramModel);
    Shell shell = new Shell();
    GraphicalViewerImpl viewer = DiagramUtils.createViewer(dm, shell);
    assertNotNull(viewer);
    assertTrue(viewer.getEditPartFactory() instanceof ArchimateDiagramEditPartFactory);
    assertTrue(viewer.getRootEditPart() instanceof FreeformGraphicalRootEditPart);
    assertSame(dm, viewer.getContents().getModel());
    assertSame(shell, viewer.getControl().getShell());
    shell.dispose();
}
Also used : Shell(org.eclipse.swt.widgets.Shell) ArchimateDiagramEditPartFactory(com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory) IDiagramModel(com.archimatetool.model.IDiagramModel) GraphicalViewerImpl(org.eclipse.gef.ui.parts.GraphicalViewerImpl) FreeformGraphicalRootEditPart(org.eclipse.gef.editparts.FreeformGraphicalRootEditPart) IArchimateDiagramModel(com.archimatetool.model.IArchimateDiagramModel) Test(org.junit.Test)

Aggregations

ArchimateDiagramEditPartFactory (com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory)3 IArchimateDiagramModel (com.archimatetool.model.IArchimateDiagramModel)2 FreeformGraphicalRootEditPart (org.eclipse.gef.editparts.FreeformGraphicalRootEditPart)2 GraphicalViewerImpl (org.eclipse.gef.ui.parts.GraphicalViewerImpl)2 IDiagramEditorFactory (com.archimatetool.editor.diagram.IDiagramEditorFactory)1 ArchimateDiagramTransferDropTargetListener (com.archimatetool.editor.diagram.dnd.ArchimateDiagramTransferDropTargetListener)1 SketchEditPartFactory (com.archimatetool.editor.diagram.sketch.editparts.SketchEditPartFactory)1 IDiagramModel (com.archimatetool.model.IDiagramModel)1 ISketchModel (com.archimatetool.model.ISketchModel)1 EditPartFactory (org.eclipse.gef.EditPartFactory)1 GraphicalViewer (org.eclipse.gef.GraphicalViewer)1 RootEditPart (org.eclipse.gef.RootEditPart)1 Shell (org.eclipse.swt.widgets.Shell)1 Test (org.junit.Test)1