Search in sources :

Example 11 with IArchiveManager

use of com.archimatetool.editor.model.IArchiveManager in project archi by archimatetool.

the class DiagramImageFigureTests method addImage.

private void addImage(File file) throws IOException {
    IArchiveManager archiveManager = (IArchiveManager) dmImage.getAdapter(IArchiveManager.class);
    String path = archiveManager.addImageFromFile(file);
    dmImage.setImagePath(path);
}
Also used : IArchiveManager(com.archimatetool.editor.model.IArchiveManager)

Example 12 with IArchiveManager

use of com.archimatetool.editor.model.IArchiveManager in project archi by archimatetool.

the class DiagramImageFigure method getOriginalImage.

protected Image getOriginalImage() {
    Image image = null;
    String imagePath = getDiagramModelObject().getImagePath();
    if (imagePath != null) {
        IArchiveManager archiveManager = (IArchiveManager) getDiagramModelObject().getAdapter(IArchiveManager.class);
        try {
            image = archiveManager.createImage(imagePath);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    return image;
}
Also used : Image(org.eclipse.swt.graphics.Image) IDiagramModelImage(com.archimatetool.model.IDiagramModelImage) IArchiveManager(com.archimatetool.editor.model.IArchiveManager)

Example 13 with IArchiveManager

use of com.archimatetool.editor.model.IArchiveManager in project archi by archimatetool.

the class ArchimateTestModel method createNewModel.

/**
 * Replica of EditorModelManager#createNewModel()
 * Adds Command Stack and ArchiveManager
 */
public IArchimateModel createNewModel() {
    model = IArchimateFactory.eINSTANCE.createArchimateModel();
    model.setDefaults();
    // Add one default diagram model
    addNewArchimateDiagramModel();
    // Add a Command Stack
    CommandStack cmdStack = new CommandStack();
    model.setAdapter(CommandStack.class, cmdStack);
    // Add an Archive Manager
    IArchiveManager archiveManager = IArchiveManager.FACTORY.createArchiveManager(model);
    model.setAdapter(IArchiveManager.class, archiveManager);
    return model;
}
Also used : CommandStack(org.eclipse.gef.commands.CommandStack) IArchiveManager(com.archimatetool.editor.model.IArchiveManager)

Example 14 with IArchiveManager

use of com.archimatetool.editor.model.IArchiveManager in project archi by archimatetool.

the class EditorModelManagerTests method createNewArchiveManager_Created.

@Test
public void createNewArchiveManager_Created() throws Exception {
    IArchimateModel model = IArchimateFactory.eINSTANCE.createArchimateModel();
    IArchiveManager archiveManager = (IArchiveManager) TestUtils.invokePrivateMethod(editorModelManager, "createNewArchiveManager", new Class[] { IArchimateModel.class }, new Object[] { model });
    assertNotNull(archiveManager);
    assertTrue(model.getAdapter(IArchiveManager.class) instanceof IArchiveManager);
}
Also used : IArchiveManager(com.archimatetool.editor.model.IArchiveManager) IArchimateModel(com.archimatetool.model.IArchimateModel) Test(org.junit.Test)

Example 15 with IArchiveManager

use of com.archimatetool.editor.model.IArchiveManager in project archi by archimatetool.

the class ImageManagerDialog method createDialogArea.

@Override
protected Control createDialogArea(Composite parent) {
    // Help
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HELP_ID);
    setTitle(Messages.ImageManagerDialog_1);
    setMessage(Messages.ImageManagerDialog_2);
    Composite composite = (Composite) super.createDialogArea(parent);
    Composite client = new Composite(composite, SWT.NULL);
    GridLayout layout = new GridLayout(2, false);
    client.setLayout(layout);
    client.setLayoutData(new GridData(GridData.FILL_BOTH));
    SashForm sash = new SashForm(client, SWT.HORIZONTAL);
    sash.setLayoutData(new GridData(GridData.FILL_BOTH));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 580;
    gd.heightHint = 300;
    sash.setLayoutData(gd);
    // Table
    Composite tableComp = new Composite(sash, SWT.BORDER);
    layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    tableComp.setLayout(layout);
    CLabel label = new CLabel(tableComp, SWT.NULL);
    label.setText(Messages.ImageManagerDialog_3);
    Composite tableComp2 = new Composite(tableComp, SWT.NULL);
    tableComp2.setLayout(new TableColumnLayout());
    tableComp2.setLayoutData(new GridData(GridData.FILL_BOTH));
    fModelsViewer = new ModelsViewer(tableComp2);
    fModelsViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    // $NON-NLS-1$
    fModelsViewer.setInput("");
    fModelsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (o instanceof IArchimateModel) {
                fScale.setEnabled(true);
                clearGallery();
                updateGallery((IArchimateModel) o);
            }
        }
    });
    // Mouse Up action...
    fModelsViewer.getControl().addMouseListener(new MouseAdapter() {

        @Override
        public void mouseUp(MouseEvent e) {
            Object o = ((IStructuredSelection) fModelsViewer.getSelection()).getFirstElement();
            // Open...
            if (o == OPEN) {
                handleOpenAction();
            }
        }
    });
    Composite galleryComposite = new Composite(sash, SWT.NULL);
    layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    galleryComposite.setLayout(layout);
    fGallery = new Gallery(galleryComposite, SWT.V_SCROLL | SWT.BORDER);
    fGallery.setLayoutData(new GridData(GridData.FILL_BOTH));
    // Renderers
    final NoGroupRenderer groupRenderer = new NoGroupRenderer();
    groupRenderer.setItemSize(DEFAULT_GALLERY_ITEM_SIZE, DEFAULT_GALLERY_ITEM_SIZE);
    groupRenderer.setAutoMargin(true);
    groupRenderer.setMinMargin(10);
    fGallery.setGroupRenderer(groupRenderer);
    final DefaultGalleryItemRenderer itemRenderer = new DefaultGalleryItemRenderer();
    itemRenderer.setDropShadows(true);
    itemRenderer.setDropShadowsSize(7);
    itemRenderer.setShowRoundedSelectionCorners(false);
    fGallery.setItemRenderer(itemRenderer);
    // Root Group
    fGalleryRoot = new GalleryItem(fGallery, SWT.NONE);
    // Slider
    fScale = new Scale(galleryComposite, SWT.HORIZONTAL);
    gd = new GridData(SWT.END, SWT.NONE, false, false);
    gd.widthHint = 120;
    if (PlatformUtils.isMac()) {
        // Mac clips height of slider
        gd.heightHint = 18;
    }
    fScale.setLayoutData(gd);
    fScale.setMinimum(MIN_GALLERY_ITEM_SIZE);
    fScale.setMaximum(MAX_GALLERY_ITEM_SIZE);
    fScale.setIncrement(8);
    fScale.setPageIncrement(32);
    fScale.setSelection(DEFAULT_GALLERY_ITEM_SIZE);
    fScale.setEnabled(false);
    fScale.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            int inc = fScale.getSelection();
            itemRenderer.setDropShadows(inc >= 96);
            groupRenderer.setItemSize(inc, inc);
        }
    });
    // Gallery selections
    fGallery.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (e.item instanceof GalleryItem) {
                fSelectedObject = ((GalleryItem) e.item).getData();
            } else {
                fSelectedObject = null;
            }
        }
    });
    // Double-clicks
    fGallery.addListener(SWT.MouseDoubleClick, new Listener() {

        public void handleEvent(Event event) {
            GalleryItem item = fGallery.getItem(new Point(event.x, event.y));
            if (item != null) {
                okPressed();
            }
        }
    });
    // Dispose of the images here not in the main dispose() method because if the help system is showing then
    // the TrayDialog is resized and this control is asked to relayout.
    fGallery.addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent e) {
            disposeImages();
        }
    });
    sash.setWeights(new int[] { 30, 70 });
    /*
         * Select the given model and image
         * Better to put this on a thread as selection sometimes doesn't happen
         */
    Display.getCurrent().asyncExec(new Runnable() {

        @Override
        public void run() {
            // Make selection of model in table if it has images
            if (fSelectedModel != null) {
                IArchiveManager archiveManager = (IArchiveManager) fSelectedModel.getAdapter(IArchiveManager.class);
                if (archiveManager.hasImages()) {
                    // Select model
                    fModelsViewer.setSelection(new StructuredSelection(fSelectedModel));
                    // Make selection of image if set
                    if (fSelectedImagePath != null) {
                        for (GalleryItem item : fGalleryRoot.getItems()) {
                            String imagePath = (String) item.getData();
                            if (imagePath != null && fSelectedImagePath.equals(imagePath)) {
                                fGallery.setSelection(new GalleryItem[] { item });
                                // we need to do this here because this is on a thread
                                fSelectedObject = imagePath;
                                break;
                            }
                        }
                    }
                } else // Else select the first valid model that's open
                {
                    for (IArchimateModel model : IEditorModelManager.INSTANCE.getModels()) {
                        archiveManager = (IArchiveManager) model.getAdapter(IArchiveManager.class);
                        if (archiveManager.hasImages()) {
                            fModelsViewer.setSelection(new StructuredSelection(model));
                            break;
                        }
                    }
                }
            }
        }
    });
    return composite;
}
Also used : CLabel(org.eclipse.swt.custom.CLabel) DisposeListener(org.eclipse.swt.events.DisposeListener) DisposeListener(org.eclipse.swt.events.DisposeListener) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Listener(org.eclipse.swt.widgets.Listener) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) DisposeEvent(org.eclipse.swt.events.DisposeEvent) GridLayout(org.eclipse.swt.layout.GridLayout) TableColumnLayout(org.eclipse.jface.layout.TableColumnLayout) SelectionEvent(org.eclipse.swt.events.SelectionEvent) IArchimateModel(com.archimatetool.model.IArchimateModel) MouseEvent(org.eclipse.swt.events.MouseEvent) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) MouseAdapter(org.eclipse.swt.events.MouseAdapter) Scale(org.eclipse.swt.widgets.Scale) DefaultGalleryItemRenderer(org.eclipse.nebula.widgets.gallery.DefaultGalleryItemRenderer) Point(org.eclipse.swt.graphics.Point) GalleryItem(org.eclipse.nebula.widgets.gallery.GalleryItem) IArchiveManager(com.archimatetool.editor.model.IArchiveManager) SashForm(org.eclipse.swt.custom.SashForm) Gallery(org.eclipse.nebula.widgets.gallery.Gallery) GridData(org.eclipse.swt.layout.GridData) DisposeEvent(org.eclipse.swt.events.DisposeEvent) MouseEvent(org.eclipse.swt.events.MouseEvent) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) Event(org.eclipse.swt.widgets.Event) SelectionEvent(org.eclipse.swt.events.SelectionEvent) NoGroupRenderer(org.eclipse.nebula.widgets.gallery.NoGroupRenderer)

Aggregations

IArchiveManager (com.archimatetool.editor.model.IArchiveManager)23 IArchimateModel (com.archimatetool.model.IArchimateModel)11 CommandStack (org.eclipse.gef.commands.CommandStack)9 File (java.io.File)7 IOException (java.io.IOException)5 Image (org.eclipse.swt.graphics.Image)4 EObject (org.eclipse.emf.ecore.EObject)3 Test (org.junit.Test)3 ICanvasModel (com.archimatetool.canvas.model.ICanvasModel)2 CompatibilityHandlerException (com.archimatetool.editor.model.compatibility.CompatibilityHandlerException)2 ModelCompatibility (com.archimatetool.editor.model.compatibility.ModelCompatibility)2 IFolder (com.archimatetool.model.IFolder)2 Resource (org.eclipse.emf.ecore.resource.Resource)2 Command (org.eclipse.gef.commands.Command)2 CompoundCommand (org.eclipse.gef.commands.CompoundCommand)2 ICanvasModelImage (com.archimatetool.canvas.model.ICanvasModelImage)1 IIconic (com.archimatetool.canvas.model.IIconic)1 AddDiagramObjectCommand (com.archimatetool.editor.diagram.commands.AddDiagramObjectCommand)1 ModelChecker (com.archimatetool.editor.model.ModelChecker)1 EObjectFeatureCommand (com.archimatetool.editor.model.commands.EObjectFeatureCommand)1