List of usage examples for org.eclipse.jface.viewers ListViewer getLabelProvider
@Override
public IBaseLabelProvider getLabelProvider()
Viewer framework method returns the label provider, which in the case of list viewers will be an instance of ILabelProvider. From source file:org.eclipse.rcptt.tesla.internal.ui.player.viewers.Viewers.java
License:Open Source License
public static boolean selectListItem(final SWTUIElement parent, final String[] parts) { if (parent != null && unwrapWidget(parent) instanceof org.eclipse.swt.widgets.List) { // Try to obtain list viewer final ListViewer viewer = TeslaSWTAccess .getListViewer((org.eclipse.swt.widgets.List) unwrapWidget(parent)); if (viewer != null) { IContentProvider provider = viewer.getContentProvider(); IBaseLabelProvider labelProvider = viewer.getLabelProvider(); Object input = viewer.getInput(); if (provider instanceof IStructuredContentProvider && labelProvider instanceof ILabelProvider) { IStructuredContentProvider listProvider = (IStructuredContentProvider) provider; ILabelProvider labels = (ILabelProvider) labelProvider; final List<Object> selection = new ArrayList<Object>(); Object[] children = listProvider.getElements(input); for (String part : parts) { for (Object object : children) { String text = labels.getText(object); if (viewerMatchs(part, text)) { selection.add(object); break; }/*ww w .j a v a2 s .co m*/ } } if (!selection.isEmpty()) { parent.getPlayer().exec("setSelection", new Runnable() { public void run() { viewer.setSelection(new StructuredSelection(selection.toArray())); } }); return true; } return false; } } } /* * This case work only with non dynamic lists. */ if (parent != null && unwrapWidget(parent) instanceof org.eclipse.swt.widgets.List && parts != null && parts.length != 0) { final org.eclipse.swt.widgets.List list = (org.eclipse.swt.widgets.List) unwrapWidget(parent); Object current = unwrapWidget(parent); String[] items = ((org.eclipse.swt.widgets.List) current).getItems(); Set<Integer> selection = new HashSet<Integer>(); if (items == null) { return false; } int index = -1; for (String item : items) { for (String part : parts) { if (item.equals(part) || safeMatches(item, part)) { index = list.indexOf(item); selection.add(index); break; } } } if (selection.size() > 0) { int[] sels = new int[selection.size()]; Integer[] values = selection.toArray(new Integer[selection.size()]); for (int i = 0; i < values.length; i++) { sels[i] = values[i].intValue(); } list.deselectAll(); list.select(sels); } else { list.deselectAll(); list.select(index); list.setSelection(index); } SWTEvents player = parent.getPlayer().getEvents(); player.sendFocus(list); player.sendEvent(list, SWT.MouseEnter); player.sendEvent(list, SWT.MouseMove); player.sendEvent(list, SWT.MouseDown); player.sendEvent(list, SWT.Selection); player.sendEvent(list, SWT.MouseUp, 0, 0, 1); if (!list.isDisposed()) { // In case of quick access dialog player.sendEvent(list, SWT.MouseExit); } return true; } return false; }