Example usage for org.eclipse.jface.viewers IStructuredSelection getFirstElement

List of usage examples for org.eclipse.jface.viewers IStructuredSelection getFirstElement

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IStructuredSelection getFirstElement.

Prototype

public Object getFirstElement();

Source Link

Document

Returns the first element in this selection, or null if the selection is empty.

Usage

From source file:BitMobilePlugin.java

License:Open Source License

public static IResource extractSelection(ISelection sel) {
    if (!(sel instanceof IStructuredSelection))
        return null;
    IStructuredSelection ss = (IStructuredSelection) sel;
    Object element = ss.getFirstElement();
    if (element instanceof IResource)
        return (IResource) element;
    if (!(element instanceof IAdaptable))
        return null;
    IAdaptable adaptable = (IAdaptable) element;
    Object adapter = adaptable.getAdapter(IResource.class);
    return (IResource) adapter;
}

From source file:$packageName$.$sectionClassName$.java

License:Open Source License

@Override
public void setInput(IWorkbenchPart part, ISelection selection) {
    super.setInput(part, selection);
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ss = (IStructuredSelection) selection;
        Object element = ss.getFirstElement();
        $resourceClassName$ component = PluginUtil.adapt($resourceClassNameNoGeneric$.class, element);
        composite.setInput(component);/*from  w w w  . j  a va  2  s.c  o m*/
    }
}

From source file:ac.soton.eventb.atomicitydecomposition.generator.actions.GenerateAction.java

License:Open Source License

@Override
public void setEnabled(Object evaluationContext) {
    super.setEnabled(evaluationContext);
    enabled = false;/* www .j  a va2s. co m*/
    if (evaluationContext instanceof EvaluationContext) {
        EvaluationContext ec = (EvaluationContext) evaluationContext;
        Object editor = ec.getVariable("activeEditor");
        //Object editorID = ec.getVariable("activeEditorId");
        if (editor instanceof RoseEditor) {
            final RoseEditor roseEditor = (RoseEditor) editor;
            IStructuredSelection selection = (IStructuredSelection) roseEditor.getSelection();
            if (selection.getFirstElement() instanceof EventBElement) {
                EventBElement sourceElement = (EventBElement) selection.getFirstElement();
                for (AbstractExtension abs : sourceElement.getExtensions()) {
                    enabled |= GeneratorFactory.getFactory().canGenerate(abs.eClass());
                }

            }
        }
    }
}

From source file:ac.soton.eventb.atomicitydecomposition.generator.actions.GenerateAction.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    IEditorPart editor = HandlerUtil.getActiveEditorChecked(event);
    if (editor instanceof RoseEditor) {
        final RoseEditor roseEditor = (RoseEditor) editor;
        IStructuredSelection selection = (IStructuredSelection) roseEditor.getSelection();
        if (selection.getFirstElement() instanceof EventBElement) {
            final EventBElement eventBElement = (EventBElement) selection.getFirstElement();

            ResourceSet resourceSet = eventBElement.eResource().getResourceSet();

            if (editor.isDirty())
                editor.doSave(new NullProgressMonitor());

            // first validate, then transform
            //   if (ValidateAction.validate(diagramDocumentEditor)){

            for (AbstractExtension abs : eventBElement.getExtensions()) {
                TransactionalEditingDomain editingDomain = TransactionalEditingDomain.Factory.INSTANCE
                        .createEditingDomain();

                AbstractExtension absExt;
                if (abs.eIsProxy()) {
                    absExt = (AbstractExtension) resourceSet.getEObject(EcoreUtil.getURI(abs), false);
                } else
                    absExt = abs;//from   w w w .jav  a  2s. c o m

                if (absExt instanceof FlowDiagram) {
                    //If there is no extension, set as being the name
                    if (absExt.getExtensionId() == null || absExt.getExtensionId().equals("")) {
                        absExt.setExtensionId(((FlowDiagram) absExt).getName());
                    }

                    final GenerateCommand generateCommand = new GenerateCommand(editingDomain, absExt);
                    if (generateCommand.canExecute()) {
                        // run with progress
                        ProgressMonitorDialog dialog = new ProgressMonitorDialog(
                                roseEditor.getSite().getShell());
                        try {
                            dialog.run(true, true, new IRunnableWithProgress() {
                                public void run(IProgressMonitor monitor) {
                                    monitor.beginTask(Messages.GENERATOR_MSG_05, IProgressMonitor.UNKNOWN);
                                    try {
                                        generateCommand.execute(monitor, roseEditor);
                                    } catch (ExecutionException e) {
                                        Activator.logError(Messages.GENERATOR_MSG_06, e);
                                    }
                                    monitor.done();
                                }
                            });
                        } catch (InvocationTargetException e) {
                            Activator.logError(Messages.GENERATOR_MSG_07, e);
                            return null;
                        } catch (InterruptedException e) {
                            Activator.logError(Messages.GENERATOR_MSG_08, e);
                            return null;
                        }
                        // error feedback
                        if (false == generateCommand.getCommandResult().getStatus().isOK())
                            MessageDialog.openError(editor.getSite().getShell(), Messages.GENERATOR_MSG_09,
                                    Messages.GENERATOR_MSG_10);
                    }
                }
            }
        }
    }
    return null;
}

From source file:ac.soton.eventb.classdiagrams.diagram.navigator.ClassdiagramsNavigatorLinkHelper.java

License:Open Source License

/**
 * @generated//  w w w.  j  a  va  2  s  . c o m
 */
public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection) {
    if (aSelection == null || aSelection.isEmpty()) {
        return;
    }
    if (false == aSelection.getFirstElement() instanceof ClassdiagramsAbstractNavigatorItem) {
        return;
    }

    ClassdiagramsAbstractNavigatorItem abstractNavigatorItem = (ClassdiagramsAbstractNavigatorItem) aSelection
            .getFirstElement();
    View navigatorView = null;
    if (abstractNavigatorItem instanceof ClassdiagramsNavigatorItem) {
        navigatorView = ((ClassdiagramsNavigatorItem) abstractNavigatorItem).getView();
    } else if (abstractNavigatorItem instanceof ClassdiagramsNavigatorGroup) {
        ClassdiagramsNavigatorGroup navigatorGroup = (ClassdiagramsNavigatorGroup) abstractNavigatorItem;
        if (navigatorGroup.getParent() instanceof ClassdiagramsNavigatorItem) {
            navigatorView = ((ClassdiagramsNavigatorItem) navigatorGroup.getParent()).getView();
        } else if (navigatorGroup.getParent() instanceof IAdaptable) {
            navigatorView = (View) ((IAdaptable) navigatorGroup.getParent()).getAdapter(View.class);
        }
    }
    if (navigatorView == null) {
        return;
    }
    IEditorInput editorInput = getEditorInput(navigatorView.getDiagram());
    IEditorPart editor = aPage.findEditor(editorInput);
    if (editor == null) {
        return;
    }
    aPage.bringToTop(editor);
    if (editor instanceof DiagramEditor) {
        DiagramEditor diagramEditor = (DiagramEditor) editor;
        ResourceSet diagramEditorResourceSet = diagramEditor.getEditingDomain().getResourceSet();
        EObject selectedView = diagramEditorResourceSet.getEObject(EcoreUtil.getURI(navigatorView), true);
        if (selectedView == null) {
            return;
        }
        GraphicalViewer graphicalViewer = (GraphicalViewer) diagramEditor.getAdapter(GraphicalViewer.class);
        EditPart selectedEditPart = (EditPart) graphicalViewer.getEditPartRegistry().get(selectedView);
        if (selectedEditPart != null) {
            graphicalViewer.select(selectedEditPart);
        }
    }
}

From source file:ac.soton.eventb.classdiagrams.diagram.part.ClassdiagramsDiagramUpdateCommand.java

License:Open Source License

/**
 * @generated//from   www .j  a v a  2 s  . c  om
 */
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService()
            .getSelection();
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        if (structuredSelection.size() != 1) {
            return null;
        }
        if (structuredSelection.getFirstElement() instanceof EditPart
                && ((EditPart) structuredSelection.getFirstElement()).getModel() instanceof View) {
            EObject modelElement = ((View) ((EditPart) structuredSelection.getFirstElement()).getModel())
                    .getElement();
            List editPolicies = CanonicalEditPolicy.getRegisteredEditPolicies(modelElement);
            for (Iterator it = editPolicies.iterator(); it.hasNext();) {
                CanonicalEditPolicy nextEditPolicy = (CanonicalEditPolicy) it.next();
                nextEditPolicy.refresh();
            }

        }
    }
    return null;
}

From source file:ac.soton.eventb.classdiagrams.diagram.part.ModelElementSelectionPage.java

License:Open Source License

/**
 * @generated//from  w w w .java 2 s.  co m
 */
protected void updateSelection(IStructuredSelection selection) {
    selectedModelElement = null;
    if (selection.size() == 1) {
        Object selectedElement = selection.getFirstElement();
        if (selectedElement instanceof IWrapperItemProvider) {
            selectedElement = ((IWrapperItemProvider) selectedElement).getValue();
        }
        if (selectedElement instanceof FeatureMap.Entry) {
            selectedElement = ((FeatureMap.Entry) selectedElement).getValue();
        }
        if (selectedElement instanceof EObject) {
            selectedModelElement = (EObject) selectedElement;
        }
    }
    setPageComplete(validatePage());
}

From source file:ac.soton.eventb.classdiagrams.diagram.sheet.custom.ConstraintsPropertySection.java

License:Open Source License

@Override
protected ISelection getEditorSelection(Object object) {
    DiagramEditor editor = (DiagramEditor) getPart();
    IStructuredSelection selection = (IStructuredSelection) editor.getDiagramGraphicalViewer().getSelection();
    if (selection != null && selection.size() == 1) {
        GraphicalEditPart selectedPart = (GraphicalEditPart) selection.getFirstElement();
        EditPart part = selectedPart.findEditPart(null, (EObject) object);
        if (part != null)
            return new StructuredSelection(part);
        if (selectedPart.getParent() != null) {
            part = ((GraphicalEditPart) selectedPart.getParent()).findEditPart(null, (EObject) object);
            if (part != null)
                return new StructuredSelection(part);
        }/*from  w w w .j  a v a2 s . c o  m*/
    }
    return null;
}

From source file:ac.soton.eventb.roseEditor.properties.ElementLabelProvider.java

License:Open Source License

/**
 * Determine if a multiple object selection has been passed to the label
 * provider. If the objects is a IStructuredSelection, see if all the
 * objects in the selection are the same and if so, we want to provide
 * labels for the common selected element.
 *
 * @param objects//  w  w w . j  a  va2s  .  c  o  m
 *            a single object or a IStructuredSelection.
 * @param multiple
 *            first element in the array is true if there is multiple
 *            unequal selected elements in a IStructuredSelection.
 * @return the object to get labels for.
 */
private Object getObject(final Object objects, final boolean multiple[]) {
    Assert.isNotNull(objects);
    Object object = null;
    if (objects instanceof IStructuredSelection) {
        IStructuredSelection selection = (IStructuredSelection) objects;
        object = selection.getFirstElement();
        if (selection.size() == 1) {
            // one element selected
            multiple[0] = false;
            return object;
        }
        // multiple elements selected
        multiple[0] = true;
        Class<?> firstClass = typeMapper.mapType(object);
        // determine if all the objects in the selection are the same type
        for (Object next : selection.toArray()) {
            //= i.next();
            Class<?> nextClass = typeMapper.mapType(next);
            if (!nextClass.equals(firstClass)) {
                // two elements not equal == multiple selected unequal
                multiple[0] = false;
                object = null;
                break;
            }
        }
    } else {
        multiple[0] = false;
        object = objects;
    }
    return object;
}

From source file:ac.soton.eventb.statemachines.diagram.navigator.StatemachinesNavigatorLinkHelper.java

License:Open Source License

/**
 * @generated//from w w w  . j  a va2s .  c o m
 */
public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection) {
    if (aSelection == null || aSelection.isEmpty()) {
        return;
    }
    if (false == aSelection.getFirstElement() instanceof StatemachinesAbstractNavigatorItem) {
        return;
    }

    StatemachinesAbstractNavigatorItem abstractNavigatorItem = (StatemachinesAbstractNavigatorItem) aSelection
            .getFirstElement();
    View navigatorView = null;
    if (abstractNavigatorItem instanceof StatemachinesNavigatorItem) {
        navigatorView = ((StatemachinesNavigatorItem) abstractNavigatorItem).getView();
    } else if (abstractNavigatorItem instanceof StatemachinesNavigatorGroup) {
        StatemachinesNavigatorGroup navigatorGroup = (StatemachinesNavigatorGroup) abstractNavigatorItem;
        if (navigatorGroup.getParent() instanceof StatemachinesNavigatorItem) {
            navigatorView = ((StatemachinesNavigatorItem) navigatorGroup.getParent()).getView();
        } else if (navigatorGroup.getParent() instanceof IAdaptable) {
            navigatorView = (View) ((IAdaptable) navigatorGroup.getParent()).getAdapter(View.class);
        }
    }
    if (navigatorView == null) {
        return;
    }
    IEditorInput editorInput = getEditorInput(navigatorView.getDiagram());
    IEditorPart editor = aPage.findEditor(editorInput);
    if (editor == null) {
        return;
    }
    aPage.bringToTop(editor);
    if (editor instanceof DiagramEditor) {
        DiagramEditor diagramEditor = (DiagramEditor) editor;
        ResourceSet diagramEditorResourceSet = diagramEditor.getEditingDomain().getResourceSet();
        EObject selectedView = diagramEditorResourceSet.getEObject(EcoreUtil.getURI(navigatorView), true);
        if (selectedView == null) {
            return;
        }
        GraphicalViewer graphicalViewer = (GraphicalViewer) diagramEditor.getAdapter(GraphicalViewer.class);
        EditPart selectedEditPart = (EditPart) graphicalViewer.getEditPartRegistry().get(selectedView);
        if (selectedEditPart != null) {
            graphicalViewer.select(selectedEditPart);
        }
    }
}