List of usage examples for org.eclipse.jface.viewers TreeViewer getExpandedElements
public Object[] getExpandedElements()
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.HideRuleSetsFilterHandler.java
License:Open Source License
/** * Method execute./*from w ww .j a v a 2 s .c om*/ * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final HideRuleSetsFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getHideRuleSetsFilter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply Hide Rule Sets elements filter to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Hide Rule Sets elements filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.ReviewedElemsFilterHandler.java
License:Open Source License
/** * Method execute./*from w w w . j a v a2s . co m*/ * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final ReviewedElemsFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getReviewedElemsFilter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply Hide Reviewed Elements filter to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Hide Reviewed Elements filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.ReviewsCompletedFilterHandler.java
License:Open Source License
/** * Method execute./* w ww .java 2s .c om*/ * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final ReviewCompletedFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getReviewsCompletedFilter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply Hide Completed Reviews filter to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Hide Completed Reviews filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.ReviewsMyFilterHandler.java
License:Open Source License
/** * Method execute.//from w w w. j av a 2s. c o m * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final ReviewParticipantFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getReviewsMyFilter(); filter.setParticipant(R4EUIModelController.getReviewer()); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply My Reviews filter to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove My Reviews filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.ReviewsOnlyFilterHandler.java
License:Open Source License
/** * Method execute./*from w w w . j av a 2 s . c om*/ * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final ReviewsOnlyFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getReviewsOnlyFilter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply Reviews Only filter to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Reviews Only filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.ReviewsParticipantFilterHandler.java
License:Open Source License
/** * Method execute./*from w w w . j ava 2 s . c o m*/ * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final ReviewParticipantFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getReviewsParticipantFilter(); if (filter.getParticipant().equals("")) { //$NON-NLS-1$ final String participant = UIUtils.getParticipantFilterInputDialog(); if (participant.equals("")) { //$NON-NLS-1$ return Status.CANCEL_STATUS; } filter.setParticipant(participant); } boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer .traceInfo("Apply Reviews Participant filter for participant " + filter.getParticipant() //$NON-NLS-1$ + " to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Reviews Participant filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); filter.setParticipant(""); //$NON-NLS-1$ } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.UnassignFilterHandler.java
License:Open Source License
/** * Method execute.//from w w w . j a v a 2s. com * * @param aEvent * ExecutionEvent * @return Object * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); final UnassignParticipantFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getUnassignedFilter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply Unassigned Elements filter to ReviewNavigator"); //$NON-NLS-1$ viewer.addFilter(filter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Unassigned Elements filter from ReviewNavigator"); //$NON-NLS-1$ viewer.removeFilter(filter); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.sorters.AlphaSortHandler.java
License:Open Source License
/** * Method execute.//from ww w .j a v a 2 s. c o m * * @param aEvent * ExecutionEvent * @return Object * @throws ExecutionException * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final ISelection selection = R4EUIModelController.getNavigatorView().getTreeViewer().getSelection(); final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); //First check if there is already another sorter applied, if so, remove if ViewerComparator oldSorter = viewer.getComparator(); if (null != oldSorter && oldSorter instanceof ReviewTypeComparator) { ((ReviewNavigatorActionGroup) R4EUIModelController.getNavigatorView().getActionSet()) .resetReviewTypeSorterCommand(); } //Then apply the new Comparator final ViewerComparator sorter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getAlphaSorter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply alpha sorter to ReviewNavigator"); //$NON-NLS-1$ viewer.setComparator(sorter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove alpha sorter from ReviewNavigator"); //$NON-NLS-1$ viewer.setComparator(null); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); try { final IEvaluationService evService = (IEvaluationService) HandlerUtil .getActiveWorkbenchWindowChecked(aEvent).getService(IEvaluationService.class); evService.requestEvaluation(R4EUIConstants.ALPHA_SORTER_COMMAND); evService.requestEvaluation(R4EUIConstants.REVIEW_TYPE_SORTER_COMMAND); } catch (ExecutionException e) { R4EUIPlugin.Ftracer.traceError("Exception: " + e.toString() + " (" + e.getMessage() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } //Refresh view if possible if (selection instanceof IStructuredSelection) { final Object element = ((IStructuredSelection) selection).getFirstElement(); if (element instanceof IR4EUIModelElement) { UIUtils.setNavigatorViewFocus((IR4EUIModelElement) element, 0); } } monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.sorters.ReviewTypeSortHandler.java
License:Open Source License
/** * Method execute./*from w w w .j av a 2 s . co m*/ * * @param aEvent * ExecutionEvent * @return Object * @throws ExecutionException * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent) */ public Object execute(final ExecutionEvent aEvent) { final ISelection selection = R4EUIModelController.getNavigatorView().getTreeViewer().getSelection(); final UIJob job = new UIJob(COMMAND_MESSAGE) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { monitor.beginTask(COMMAND_MESSAGE, 1); //We need to preserve the expansion state and restore it afterwards final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer(); final Object[] elements = viewer.getExpandedElements(); //First check if there is already another sorter applied, if so, remove if ViewerComparator oldSorter = viewer.getComparator(); if (null != oldSorter && oldSorter instanceof NavigatorElementComparator) { ((ReviewNavigatorActionGroup) R4EUIModelController.getNavigatorView().getActionSet()) .resetAlphaSorterCommand(); } //Then apply the new Comparator final ViewerComparator sorter = ((ReviewNavigatorActionGroup) R4EUIModelController .getNavigatorView().getActionSet()).getReviewTypeSorter(); boolean oldValue; try { oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand()); } catch (ExecutionException e) { monitor.done(); return Status.CANCEL_STATUS; } if (!oldValue) { R4EUIPlugin.Ftracer.traceInfo("Apply Review Type sorter to ReviewNavigator"); //$NON-NLS-1$ viewer.setComparator(sorter); } else { R4EUIPlugin.Ftracer.traceInfo("Remove Review Type sorter from ReviewNavigator"); //$NON-NLS-1$ viewer.setComparator(null); } R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements); try { final IEvaluationService evService = (IEvaluationService) HandlerUtil .getActiveWorkbenchWindowChecked(aEvent).getService(IEvaluationService.class); evService.requestEvaluation(R4EUIConstants.ALPHA_SORTER_COMMAND); evService.requestEvaluation(R4EUIConstants.REVIEW_TYPE_SORTER_COMMAND); } catch (ExecutionException e) { R4EUIPlugin.Ftracer.traceError("Exception: " + e.toString() + " (" + e.getMessage() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } //Refresh view if possible if (selection instanceof IStructuredSelection) { final Object element = ((IStructuredSelection) selection).getFirstElement(); if (element instanceof IR4EUIModelElement) { UIUtils.setNavigatorViewFocus((IR4EUIModelElement) element, 0); } } monitor.worked(1); monitor.done(); return Status.OK_STATUS; } }; job.setUser(true); job.schedule(); return null; }
From source file:org.eclipse.oomph.setup.presentation.templates.GenericSetupTemplate.java
License:Open Source License
private void modelChanged(final VariableTask triggerVariable) { Scope copy = EcoreUtil.copy(setupScope); Set<PropertyField> originalDirtyPropertyFields = new HashSet<PropertyField>(dirtyFields); for (VariableTask variable : variables.values()) { PropertyField field = fields.get(variable); if (!dirtyFields.contains(field)) { String value = variable.getValue(); if (!StringUtil.isEmpty(value)) { value = expandString(value, null); field.setValue(value, false); }//from w w w .j a va 2 s. c om dirtyFields.add(field); } } usages = new HashMap<VariableTask, Set<EStructuralFeature.Setting>>(); Set<EObject> eObjectsToDelete = new HashSet<EObject>(); Set<Annotation> featureSubstitutions = new LinkedHashSet<Annotation>(); for (Iterator<EObject> it = EcoreUtil.getAllContents(Collections.singleton(copy)); it.hasNext();) { InternalEObject eObject = (InternalEObject) it.next(); for (EAttribute eAttribute : eObject.eClass().getEAllAttributes()) { if (eAttribute.getEType().getInstanceClass() == String.class && !eAttribute.isDerived()) { if (!eAttribute.isMany()) { String value = (String) eObject.eGet(eAttribute); if (value != null) { Set<VariableTask> usedVariables = new HashSet<VariableTask>(); String replacement = expandString(value, usedVariables); CollectionUtil.addAll(usages, usedVariables, eObject.eSetting(eAttribute)); eObject.eSet(eAttribute, replacement); } } } } if (eObject instanceof Annotation) { Annotation annotation = (Annotation) eObject; if (AnnotationConstants.ANNOTATION_FEATURE_SUBSTITUTION.equals(annotation.getSource())) { featureSubstitutions.add(annotation); eObjectsToDelete.add(annotation); } } else if (eObject instanceof CompoundTask) { CompoundTask compoundTask = (CompoundTask) eObject; if ("template.variables".equals(compoundTask.getID())) { eObjectsToDelete.add(compoundTask); } } } for (Annotation annotation : featureSubstitutions) { ModelElement modelElement = annotation.getModelElement(); EClass eClass = modelElement.eClass(); for (Map.Entry<String, String> detail : annotation.getDetails()) { EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(detail.getKey()); if (eStructuralFeature instanceof EAttribute) { try { modelElement.eSet(eStructuralFeature, EcoreUtil.createFromString( ((EAttribute) eStructuralFeature).getEAttributeType(), detail.getValue())); for (Map.Entry<VariableTask, Set<Setting>> entry : usages.entrySet()) { Set<Setting> settings = entry.getValue(); for (Setting setting : settings) { if (setting.getEObject() == detail && setting .getEStructuralFeature() == BasePackage.Literals.STRING_TO_STRING_MAP_ENTRY__VALUE) { settings.add(((InternalEObject) modelElement).eSetting(eStructuralFeature)); break; } } } } catch (RuntimeException ex) { // Ignore. } } } } for (EObject eObject : eObjectsToDelete) { EcoreUtil.delete(eObject); } final Resource resource = getResource(); final List<String> strings = new ArrayList<String>(); final TreeViewer previewer = getContainer().getPreviewer(); if (previewer != null) { for (Object object : previewer.getExpandedElements()) { if (object instanceof EObject) { EObject eObject = (EObject) object; strings.add(resource.getURIFragment(eObject)); } } previewer.getControl().setRedraw(false); updateResource(copy); UIUtil.asyncExec(new Runnable() { public void run() { if (!previewer.getControl().isDisposed()) { List<EObject> eObjects = new ArrayList<EObject>(); for (String fragment : strings) { EObject eObject = resource.getEObject(fragment); if (eObject != null) { eObjects.add(eObject); } } previewer.setExpandedElements(eObjects.toArray()); updateSelection(triggerVariable); previewer.getControl().setRedraw(true); } } }); } else { updateResource(copy); } dirtyFields = originalDirtyPropertyFields; getContainer().validate(); }