Search in sources :

Example 1 with SketchEditPartFactory

use of com.archimatetool.editor.diagram.sketch.editparts.SketchEditPartFactory 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 2 with SketchEditPartFactory

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

the class DiagramUtilsTests method testCreateViewer_SketchModel.

@Test
public void testCreateViewer_SketchModel() {
    IDiagramModel dm = model.getDiagramModels().get(1);
    assertTrue(dm instanceof ISketchModel);
    Shell shell = new Shell();
    GraphicalViewerImpl viewer = DiagramUtils.createViewer(dm, shell);
    assertNotNull(viewer);
    assertTrue(viewer.getEditPartFactory() instanceof SketchEditPartFactory);
    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) IDiagramModel(com.archimatetool.model.IDiagramModel) GraphicalViewerImpl(org.eclipse.gef.ui.parts.GraphicalViewerImpl) SketchEditPartFactory(com.archimatetool.editor.diagram.sketch.editparts.SketchEditPartFactory) FreeformGraphicalRootEditPart(org.eclipse.gef.editparts.FreeformGraphicalRootEditPart) ISketchModel(com.archimatetool.model.ISketchModel) Test(org.junit.Test)

Example 3 with SketchEditPartFactory

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

the class SketchEditor method configureGraphicalViewer.

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

Aggregations

SketchEditPartFactory (com.archimatetool.editor.diagram.sketch.editparts.SketchEditPartFactory)3 ISketchModel (com.archimatetool.model.ISketchModel)2 FreeformGraphicalRootEditPart (org.eclipse.gef.editparts.FreeformGraphicalRootEditPart)2 GraphicalViewerImpl (org.eclipse.gef.ui.parts.GraphicalViewerImpl)2 IDiagramEditorFactory (com.archimatetool.editor.diagram.IDiagramEditorFactory)1 ArchimateDiagramEditPartFactory (com.archimatetool.editor.diagram.editparts.ArchimateDiagramEditPartFactory)1 SketchDiagramTransferDropTargetListener (com.archimatetool.editor.diagram.sketch.dnd.SketchDiagramTransferDropTargetListener)1 IArchimateDiagramModel (com.archimatetool.model.IArchimateDiagramModel)1 IDiagramModel (com.archimatetool.model.IDiagramModel)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