Mercurial > projects > dwt-addons
diff 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 |
line wrap: on
line diff
--- a/dwtx/jface/viewers/AbstractListViewer.d Mon May 19 13:41:06 2008 +0200 +++ b/dwtx/jface/viewers/AbstractListViewer.d Thu May 22 01:36:46 2008 +0200 @@ -264,11 +264,6 @@ } } - /* (non-Javadoc) - * Method declared on Viewer. - */ - public override abstract Control getControl(); - /** * Returns the element with the given index from this list viewer. * Returns <code>null</code> if the index is out of range. @@ -385,24 +380,28 @@ topIndex = listGetTopIndex(); } + Object[] children = null; list.setRedraw(false); - listRemoveAll(); - - Object[] children = getSortedChildren(getRoot()); - String[] items = new String[children.length]; - - ILabelProvider labelProvider = cast(ILabelProvider) getLabelProvider(); - - for (int i = 0; i < items.length; i++) { - Object el = children[i]; - items[i] = getLabelProviderText(labelProvider, el); - listMap.append(el); - mapElement(el, list); // must map it, since findItem only looks in map, if enabled + try { + listRemoveAll(); + + children = getSortedChildren(getRoot()); + String[] items = new String[children.length]; + + ILabelProvider labelProvider = cast(ILabelProvider) getLabelProvider(); + + for (int i = 0; i < items.length; i++) { + Object el = children[i]; + items[i] = getLabelProviderText(labelProvider, el); + listMap.append(el); + mapElement(el, list); // must map it, since findItem only looks in map, if enabled + } + + listSetItems(items); + } finally { + list.setRedraw(true); } - listSetItems(items); - list.setRedraw(true); - if (topIndex is -1) { setSelectionToWidget(selection, false); } else {