List of usage examples for org.eclipse.jface.databinding.viewers TreeStructureAdvisor getParent
public E getParent(E element)
null indicating that the parent can't be computed. From source file:org.eclipse.riena.internal.ui.ridgets.swt.TreeRidget.java
License:Open Source License
/** * Filters out elements that are not visible. Monitors element visibility and updates the tree ridget. *//*w w w . j av a 2 s. c om*/ private void monitorVisibility(final TreeViewer viewer, final TreeStructureAdvisor structureAdvisor, final IObservableMap visibilityAttr) { if (visibilityAttr != null) { viewer.addFilter(new ViewerFilter() { @Override public boolean select(final Viewer viewer, final Object parentElement, final Object element) { final Object visible = visibilityAttr.get(element); return Boolean.FALSE.equals(visible) ? false : true; } }); final IMapChangeListener mapChangeListener = new IMapChangeListener() { public void handleMapChange(final MapChangeEvent event) { final Set<?> affectedElements = event.diff.getChangedKeys(); for (final Object element : affectedElements) { final Object parent = structureAdvisor.getParent(element); if (parent == null || treeRoots.length == 0 || (parent == treeRoots[0] && !showRoots)) { viewer.refresh(); } else { viewer.refresh(parent); } } } }; visibilityAttr.addMapChangeListener(mapChangeListener); } }