Mercurial > projects > dwt-addons
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)); |