List of usage examples for org.eclipse.jface.viewers IStructuredSelection getFirstElement
public Object getFirstElement();
null
if the selection is empty. 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); } } }