List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer setExpandedState
public void setExpandedState(Object elementOrTreePath, boolean expanded)
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 {// w w w .j a va2 s . co m 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()); }//from ww w . ja v a2 s.c om }); ((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.pwsafe.passwordsafeswt.listener.ViewerDoubleClickListener.java
License:Open Source License
/** * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) *//*from w w w .ja 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(); } }