Mercurial > projects > dwt-samples
diff jface/snippets/Snippet047VirtualLazyTreeViewer.d @ 143:42c3056512ba
redirect the jface examples to the new collection wrappers
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 07 Aug 2008 22:21:50 +0200 |
parents | 2b4e94cafb85 |
children |
line wrap: on
line diff
--- a/jface/snippets/Snippet047VirtualLazyTreeViewer.d Thu Aug 07 17:23:25 2008 +0200 +++ b/jface/snippets/Snippet047VirtualLazyTreeViewer.d Thu Aug 07 22:21:50 2008 +0200 @@ -8,7 +8,7 @@ * Contributors: * Tom Schindl - initial API and implementation * Port to the D programming language: - * yidabu at gmail dot com ( D China http://www.d-programming-language-china.org/ ) + * yidabu at gmail dot com ( D China http://www.d-programming-language-china.org/ ) *******************************************************************************/ module jface.snippets.Snippet047VirtualLazyTreeViewer; @@ -27,6 +27,8 @@ import tango.util.Convert; import tango.util.container.LinkedList; +version(JIVE) import jive.stacktrace; + /** * @param args @@ -49,12 +51,12 @@ /** * A simple TreeViewer to demonstrate usage of an ILazyContentProvider. - * + * */ public class Snippet047VirtualLazyTreeViewer { - alias ArrayWrapperT!(IntermediateNode) ArrayWrapperIntermediateNode; - alias ArrayWrapperT!(LeafNode) ArrayWrapperLeafNode; - + alias ArrayWrapperT!(IntermediateNode) ArrayWrapperIntermediateNode; + alias ArrayWrapperT!(LeafNode) ArrayWrapperLeafNode; + private class MyContentProvider : ILazyTreeContentProvider { private TreeViewer viewer; private IntermediateNode[] elements; @@ -74,7 +76,7 @@ /* * (non-Javadoc) - * + * * @see dwtx.jface.viewers.ILazyTreeContentProvider#getParent(java.lang.Object) */ public Object getParent(Object element) { @@ -85,40 +87,40 @@ /* * (non-Javadoc) - * + * * @see dwtx.jface.viewers.ILazyTreeContentProvider#updateChildCount(java.lang.Object, * int) */ public void updateChildCount(Object element, int currentChildCount) { - + int length = 0; if (cast(IntermediateNode)element) { IntermediateNode node = cast(IntermediateNode) element; length = node.children.length; - } + } /// TODO: fix me access violation here if(element !is null && elements !is null && (cast(ArrayWrapperIntermediateNode)element) && (cast(ArrayWrapperIntermediateNode)element).array is elements) length = elements.length; - viewer.setChildCount(element, length); + viewer.setChildCount(element, length); } /* * (non-Javadoc) - * + * * @see dwtx.jface.viewers.ILazyTreeContentProvider#updateElement(java.lang.Object, * int) */ public void updateElement(Object parent, int index) { - + Object element; - if (cast(IntermediateNode)parent) + if (cast(IntermediateNode)parent) element = (cast(IntermediateNode) parent).children[index]; - + else element = elements[index]; viewer.replace(parent, index, element); updateChildCount(element, -1); - + } }