List of usage examples for org.eclipse.jface.viewers IStructuredSelection getFirstElement
public Object getFirstElement();
null
if the selection is empty. From source file:ac.soton.eventb.statemachines.diagram.sheet.custom.InvariantsPropertySection.java
License:Open Source License
@Override protected ISelection getEditorSelection(Object object) { StatemachinesDiagramEditor editor = (StatemachinesDiagramEditor) 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); }/* ww w .j av a 2s . com*/ } return null; }
From source file:ac.soton.fmusim.components.diagram.navigator.ComponentsNavigatorLinkHelper.java
License:Open Source License
/** * @generated/* w w w .j a v a 2 s. c om*/ */ public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection) { if (aSelection == null || aSelection.isEmpty()) { return; } if (false == aSelection.getFirstElement() instanceof ComponentsAbstractNavigatorItem) { return; } ComponentsAbstractNavigatorItem abstractNavigatorItem = (ComponentsAbstractNavigatorItem) aSelection .getFirstElement(); View navigatorView = null; if (abstractNavigatorItem instanceof ComponentsNavigatorItem) { navigatorView = ((ComponentsNavigatorItem) abstractNavigatorItem).getView(); } else if (abstractNavigatorItem instanceof ComponentsNavigatorGroup) { ComponentsNavigatorGroup navigatorGroup = (ComponentsNavigatorGroup) abstractNavigatorItem; if (navigatorGroup.getParent() instanceof ComponentsNavigatorItem) { navigatorView = ((ComponentsNavigatorItem) navigatorGroup.getParent()).getView(); } } 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.fmusim.components.ui.actions.DeleteDiagramAction.java
License:Open Source License
@Override public void run() { if (!(site.getStructuredViewer().getSelection().isEmpty())) { IStructuredSelection ssel = (IStructuredSelection) site.getStructuredViewer().getSelection(); Object element = ssel.getFirstElement(); // TODO: add support for multiple files if (element instanceof IAdaptable) { View view = (View) ((IAdaptable) element).getAdapter(View.class); Resource resource = view.eResource(); if (resource != null && resource.isLoaded()) { IFile file = WorkspaceSynchronizer.getFile(resource); MessageDialog dialog = new MessageDialog(site.getViewSite().getShell(), "Confirm Diagram Delete", null, "Are you sure you want to delete the diagram file '" + file.getName() + "' from the project '" + file.getParent().getName() + "' ?", MessageDialog.QUESTION, new String[] { "Yes", "No" }, 0); if (dialog.open() == 0) { Resource domResource = view.getElement().eResource(); try { closeOpenedEditor(file); file.delete(false, false, new NullProgressMonitor()); WorkspaceSynchronizer.getFile(domResource).delete(false, false, new NullProgressMonitor()); } catch (PartInitException e) { e.printStackTrace(); } catch (CoreException e) { e.printStackTrace(); }/*from ww w .j av a 2 s .com*/ } } } } // MULTIPLE FILES HANDLING (from Systerel's ActionCollection) // // // Putting the selection into a set which does not contains any pair // // of parent and child // Collection<IRodinElement> set = new ArrayList<IRodinElement>(); // // IStructuredSelection ssel = (IStructuredSelection) site.getStructuredViewer().getSelection(); // // for (Iterator<?> it = ssel.iterator(); it.hasNext();) { // final Object obj = it.next(); // if (!(obj instanceof IRodinElement)) { // continue; // } // IRodinElement elem = (IRodinElement) obj; // if (elem.isRoot()) { // elem = elem.getParent(); // } // set = UIUtils.addToTreeSet(set, elem); // } // // int answer = YesToAllMessageDialog.YES; // for (IRodinElement element : set) { // if (element instanceof IRodinFile) { // if (answer != YesToAllMessageDialog.YES_TO_ALL) { // answer = YesToAllMessageDialog.openYesNoToAllQuestion( // site.getViewSite().getShell(), // "Confirm File Delete", // "Are you sure you want to delete file '" // + ((IRodinFile) element) // .getElementName() // + "' in project '" // + element.getParent().getElementName() // + "' ?"); // } // if (answer == YesToAllMessageDialog.NO_TO_ALL) // break; // // if (answer != YesToAllMessageDialog.NO) { // try { // closeOpenedEditor((IRodinFile) element); // ((IRodinFile) element).delete(true, // new NullProgressMonitor()); // } catch (PartInitException e) { // MessageDialog.openError(null, "Error", "Could not delete file"); // } catch (RodinDBException e) { // MessageDialog.openError(null, "Error", "Could not delete file"); // } // } // } // } }
From source file:ac.soton.fmusim.components.ui.actions.DeleteEventBComponentAction.java
License:Open Source License
@Override public void run() { if (!(site.getStructuredViewer().getSelection().isEmpty())) { IStructuredSelection ssel = (IStructuredSelection) site.getStructuredViewer().getSelection(); Object element = ssel.getFirstElement(); if (element instanceof IAdaptable) { final EventBComponent component = (EventBComponent) ((IAdaptable) element) .getAdapter(EObject.class); final Resource resource = component.eResource(); if (resource != null && resource.isLoaded()) { TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(resource); if (editingDomain != null) { Command cmd = new RecordingCommand(editingDomain, "Delete Diagram Command") { protected void doExecute() { EcoreUtil.delete(component, true); }//from w w w . jav a2s .c o m }; if (cmd.canExecute()) { editingDomain.getCommandStack().execute(cmd); try { resource.save(Collections.emptyMap()); } catch (IOException e) { cmd.undo(); e.printStackTrace(); } } } } } } }
From source file:ac.soton.fmusim.components.ui.actions.OpenMachineAction.java
License:Open Source License
@Override public void selectionChanged(IAction action, ISelection selection) { selectedElement = null;/*from w w w . j a va 2 s.co m*/ if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; if (structuredSelection.getFirstElement() instanceof EventBComponentEditPart) selectedElement = (EventBComponentEditPart) structuredSelection.getFirstElement(); } }
From source file:ac.soton.fmusim.components.ui.actions.SetParametersAction.java
License:Open Source License
@Override public void selectionChanged(IAction action, ISelection selection) { selectedElement = null;/* w w w . j a v a 2 s . c o m*/ if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; if (structuredSelection.getFirstElement() instanceof FMUComponentEditPart) selectedElement = (FMUComponentEditPart) structuredSelection.getFirstElement(); } }
From source file:ac.soton.multisim.diagram.navigator.MultisimNavigatorLinkHelper.java
License:Open Source License
/** * @generated/*from ww w. j a v a2 s . co m*/ */ public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection) { if (aSelection == null || aSelection.isEmpty()) { return; } if (false == aSelection.getFirstElement() instanceof MultisimAbstractNavigatorItem) { return; } MultisimAbstractNavigatorItem abstractNavigatorItem = (MultisimAbstractNavigatorItem) aSelection .getFirstElement(); View navigatorView = null; if (abstractNavigatorItem instanceof MultisimNavigatorItem) { navigatorView = ((MultisimNavigatorItem) abstractNavigatorItem).getView(); } else if (abstractNavigatorItem instanceof MultisimNavigatorGroup) { MultisimNavigatorGroup navigatorGroup = (MultisimNavigatorGroup) abstractNavigatorItem; if (navigatorGroup.getParent() instanceof MultisimNavigatorItem) { navigatorView = ((MultisimNavigatorItem) navigatorGroup.getParent()).getView(); } } 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.multisim.ui.actions.DeleteDiagramAction.java
License:Open Source License
@Override public void run() { if (!(site.getStructuredViewer().getSelection().isEmpty())) { IStructuredSelection ssel = (IStructuredSelection) site.getStructuredViewer().getSelection(); Object element = ssel.getFirstElement(); if (element instanceof IAdaptable) { View view = (View) ((IAdaptable) element).getAdapter(View.class); Resource resource = view.eResource(); if (resource != null && resource.isLoaded()) { IFile file = WorkspaceSynchronizer.getFile(resource); MessageDialog dialog = new MessageDialog(site.getViewSite().getShell(), "Confirm Diagram Delete", null, "Are you sure you want to delete the diagram file '" + file.getName() + "' from the project '" + file.getParent().getName() + "' ?", MessageDialog.QUESTION, new String[] { "Yes", "No" }, 0); if (dialog.open() == 0) { Resource domResource = view.getElement().eResource(); try { closeOpenedEditor(file); file.delete(false, false, new NullProgressMonitor()); WorkspaceSynchronizer.getFile(domResource).delete(false, false, new NullProgressMonitor()); } catch (PartInitException e) { e.printStackTrace(); } catch (CoreException e) { e.printStackTrace(); }// w ww . j av a 2 s . com } } } } }
From source file:ac.soton.multisim.ui.actions.DeleteEventBComponentAction.java
License:Open Source License
@Override public void run() { if (!(site.getStructuredViewer().getSelection().isEmpty())) { IStructuredSelection ssel = (IStructuredSelection) site.getStructuredViewer().getSelection(); Object element = ssel.getFirstElement(); if (element instanceof IAdaptable) { final EventBComponent component = (EventBComponent) ((IAdaptable) element) .getAdapter(EObject.class); final Resource resource = component.eResource(); if (resource != null && resource.isLoaded()) { TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(resource); if (editingDomain != null) { Command cmd = new RecordingCommand(editingDomain, "Delete Component Command") { protected void doExecute() { EcoreUtil.delete(component, true); }//from www. j a v a 2 s .c om }; if (cmd.canExecute()) { editingDomain.getCommandStack().execute(cmd); try { resource.save(Collections.emptyMap()); } catch (IOException e) { cmd.undo(); e.printStackTrace(); } } } } } } }
From source file:ac.soton.multisim.ui.actions.DeleteFMUResourceAction.java
License:Open Source License
@Override public void run() { if (!(site.getStructuredViewer().getSelection().isEmpty())) { IStructuredSelection ssel = (IStructuredSelection) site.getStructuredViewer().getSelection(); Object element = ssel.getFirstElement(); if (element instanceof FMUResource) { File file = ((FMUResource) element).getFile(); if (file != null) { URI uri = file.toURI(); IWorkspace ws = ResourcesPlugin.getWorkspace(); IFile[] files = ws.getRoot().findFilesForLocationURI(uri); if (files != null && files.length > 0) { try { files[0].delete(false, new NullProgressMonitor()); } catch (CoreException e) { e.printStackTrace(); }/*from w w w . java 2s .com*/ } } } } }