comparison dwtx/jface/viewers/AbstractListViewer.d @ 70:46a6e0e6ccd4

Merge with d-fied sources of 3.4M7
author Frank Benoit <benoit@tionex.de>
date Thu, 22 May 2008 01:36:46 +0200
parents ea8ff534f622
children 04b47443bb01
comparison
equal deleted inserted replaced
69:07b9d96fd764 70:46a6e0e6ccd4
261 ILabelProvider labelProvider = cast(ILabelProvider) getLabelProvider(); 261 ILabelProvider labelProvider = cast(ILabelProvider) getLabelProvider();
262 listSetItem(ix, getLabelProviderText(labelProvider,element)); 262 listSetItem(ix, getLabelProviderText(labelProvider,element));
263 } 263 }
264 } 264 }
265 } 265 }
266
267 /* (non-Javadoc)
268 * Method declared on Viewer.
269 */
270 public override abstract Control getControl();
271 266
272 /** 267 /**
273 * Returns the element with the given index from this list viewer. 268 * Returns the element with the given index from this list viewer.
274 * Returns <code>null</code> if the index is out of range. 269 * Returns <code>null</code> if the index is out of range.
275 * 270 *
383 int topIndex = -1; 378 int topIndex = -1;
384 if (selection is null || selection.drained()) { 379 if (selection is null || selection.drained()) {
385 topIndex = listGetTopIndex(); 380 topIndex = listGetTopIndex();
386 } 381 }
387 382
383 Object[] children = null;
388 list.setRedraw(false); 384 list.setRedraw(false);
389 listRemoveAll(); 385 try {
390 386 listRemoveAll();
391 Object[] children = getSortedChildren(getRoot()); 387
392 String[] items = new String[children.length]; 388 children = getSortedChildren(getRoot());
393 389 String[] items = new String[children.length];
394 ILabelProvider labelProvider = cast(ILabelProvider) getLabelProvider(); 390
395 391 ILabelProvider labelProvider = cast(ILabelProvider) getLabelProvider();
396 for (int i = 0; i < items.length; i++) { 392
397 Object el = children[i]; 393 for (int i = 0; i < items.length; i++) {
398 items[i] = getLabelProviderText(labelProvider, el); 394 Object el = children[i];
399 listMap.append(el); 395 items[i] = getLabelProviderText(labelProvider, el);
400 mapElement(el, list); // must map it, since findItem only looks in map, if enabled 396 listMap.append(el);
401 } 397 mapElement(el, list); // must map it, since findItem only looks in map, if enabled
402 398 }
403 listSetItems(items); 399
404 list.setRedraw(true); 400 listSetItems(items);
401 } finally {
402 list.setRedraw(true);
403 }
405 404
406 if (topIndex is -1) { 405 if (topIndex is -1) {
407 setSelectionToWidget(selection, false); 406 setSelectionToWidget(selection, false);
408 } else { 407 } else {
409 listSetTopIndex(Math.min(topIndex, children.length)); 408 listSetTopIndex(Math.min(topIndex, children.length));