List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer getExpandedState
public boolean getExpandedState(Object elementOrTreePath)
From source file:com.cloudbees.eclipse.dev.ui.views.jobs.JobsContentProvider.java
License:Open Source License
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (newInput instanceof List && (((List) newInput).isEmpty() || ((List) newInput).get(0) instanceof JobHolder)) { root = (List<JobHolder>) newInput; } else {/*from w ww .ja v a 2 s . c om*/ root = null; // reset } if (viewer instanceof AbstractTreeViewer) { manager = new DeferredTreeContentManager((AbstractTreeViewer) viewer, viewSite) { @Override protected IDeferredWorkbenchAdapter getAdapter(Object element) { IDeferredWorkbenchAdapter ret = super.getAdapter(element); if (ret != null) { return ret; } if (element instanceof JobHolder) { if (((JobHolder) element).job.isFolderOrView()) { return new DeferWrapper((JobHolder) element); } } return null; } }; final AbstractTreeViewer treeViewer = ((AbstractTreeViewer) viewer); Object[] expelems = ((AbstractTreeViewer) viewer).getVisibleExpandedElements(); expList.clear(); expList.addAll(Arrays.asList(expelems)); IJobChangeListener listener = new JobChangeAdapter() { @Override public void done(IJobChangeEvent event) { if (event.getResult().isOK()) { // try to expand the state again PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { if (expList.size() == 0) { // all good, managed to expand all previous nodes return; } for (Object o : expList) { treeViewer.setExpandedState(o, true); } List<Object> toremove = new ArrayList<Object>(); for (Object o : expList) { if (treeViewer.getExpandedState(o)) { toremove.add(o); } } expList.removeAll(toremove); } }); } } }; manager.addUpdateCompleteListener(listener); } }
From source file:org.eclipse.team.internal.ccvs.ui.CVSCompareEditorInput.java
License:Open Source License
public Viewer createDiffViewer(Composite parent) { final Viewer viewer = super.createDiffViewer(parent); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { CompareConfiguration cc = getCompareConfiguration(); setLabels(cc, (IStructuredSelection) event.getSelection()); }/* w w w . j a v a 2 s .co m*/ }); ((StructuredViewer) viewer).addOpenListener(new IOpenListener() { public void open(OpenEvent event) { ISelection selection = event.getSelection(); if (!selection.isEmpty() && selection instanceof IStructuredSelection) { Object o = ((IStructuredSelection) selection).getFirstElement(); if (o instanceof DiffNode) { updateLabelsFor((DiffNode) o); } } } }); ((StructuredViewer) viewer).addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { ISelection selection = event.getSelection(); if (!selection.isEmpty() && selection instanceof IStructuredSelection) { Object o = ((IStructuredSelection) selection).getFirstElement(); if (o instanceof DiffNode) { DiffNode diffNode = ((DiffNode) o); if (diffNode.hasChildren()) { AbstractTreeViewer atv = ((AbstractTreeViewer) viewer); atv.setExpandedState(o, !atv.getExpandedState(o)); } } } } }); return viewer; }
From source file:org.eclipse.team.internal.ui.synchronize.AbstractTreeViewerAdvisor.java
License:Open Source License
/** * Handles a double-click event from the viewer. Expands or collapses a folder when double-clicked. * //from w w w. j av a 2s . c om * @param viewer the viewer * @param event the double-click event */ protected boolean handleDoubleClick(StructuredViewer viewer, DoubleClickEvent event) { if (super.handleDoubleClick(viewer, event)) return true; IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = getFirstElementOrPath(selection); AbstractTreeViewer treeViewer = (AbstractTreeViewer) getViewer(); if (element != null) { if (treeViewer.getExpandedState(element)) { treeViewer.collapseToLevel(element, AbstractTreeViewer.ALL_LEVELS); } else { expandToNextDiff(element); } } return true; }
From source file:org.pwsafe.passwordsafeswt.listener.ViewerDoubleClickListener.java
License:Open Source License
/** * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */// w w w. j a va 2s .c o m public void doubleClick(final DoubleClickEvent dce) { if (dce.getSelection() instanceof ITreeSelection) { final ITreeSelection treeSelection = (ITreeSelection) dce.getSelection(); final AbstractTreeViewer treeViewer = (AbstractTreeViewer) dce.getSource(); boolean state = treeViewer.getExpandedState(treeSelection.getPaths()[0]); treeViewer.setExpandedState(treeSelection.getPaths()[0], !state); } if (UserPreferences.getInstance().getBoolean(JpwPreferenceConstants.DOUBLE_CLICK_COPIES_TO_CLIPBOARD)) { cpa.run(); } else { era.run(); } }