changeset 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 7dca96709d29
children 7248e4c09c4f
files jface/FileTreeViewer.d jface/Librarian.d jface/snippets/Snippet001TableViewer.d jface/snippets/Snippet004HideSelection.d jface/snippets/Snippet007FullSelection.d jface/snippets/Snippet014TreeViewerNoMandatoryLabelProvider.d jface/snippets/Snippet026TreeViewerTabEditing.d jface/snippets/Snippet031TableViewerCustomTooltipsMultiSelection.d jface/snippets/Snippet043NoColumnTreeViewerKeyboardEditing.d jface/snippets/Snippet047VirtualLazyTreeViewer.d
diffstat 10 files changed, 138 insertions(+), 138 deletions(-) [+]
line wrap: on
line diff
--- a/jface/FileTreeViewer.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/FileTreeViewer.d	Thu Aug 07 22:21:50 2008 +0200
@@ -40,8 +40,7 @@
 import tango.io.FilePath;
 import tango.util.log.Trace;
 
-import tango.util.collection.model.Seq;
-import tango.util.collection.ArraySeq;
+import dwtx.dwtxhelper.Collection;
 import tango.text.convert.Utf;
 
 void main(){
@@ -149,7 +148,7 @@
 
 class FileTreeLabelProvider : ILabelProvider {
 
-    private Seq!(ILabelProviderListener) listeners;
+    private ArrayList listeners;
 
     private Image file;
     private Image dir;
@@ -157,7 +156,7 @@
     private bool preserveCase;
 
     public this(){
-        listeners = new ArraySeq!(ILabelProviderListener);
+        listeners = new ArrayList();
 
         file = new Image( null, new ImageData( new ByteArrayInputStream( cast(byte[])import( "file.png" ))));
         dir = new Image( null, new ImageData( new ByteArrayInputStream( cast(byte[])import( "folder.png" ))));
@@ -167,7 +166,7 @@
         this.preserveCase = preserveCase;
         auto event = new LabelProviderChangedEvent(this);
         for( int i = 0, n = listeners.size(); i < n; i++ ){
-            auto ilpl = listeners.get(i);
+            auto ilpl = cast(ILabelProviderListener)listeners.get(i);
             ilpl.labelProviderChanged(event);
         }
     }
@@ -192,7 +191,7 @@
     }
 
     public void addListener( ILabelProviderListener arg0 ){
-        listeners.append(arg0);
+        listeners.add(cast(Object)arg0);
     }
 
     public void dispose(){
@@ -205,7 +204,7 @@
     }
 
     public void removeListener(ILabelProviderListener arg0){
-        listeners.remove(arg0);
+        listeners.remove(cast(Object)arg0);
     }
 }
 
--- a/jface/Librarian.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/Librarian.d	Thu Aug 07 22:21:50 2008 +0200
@@ -46,7 +46,6 @@
 import dwt.dwthelper.ByteArrayInputStream;
 
 import tango.text.convert.Format;
-import tango.util.collection.LinkSeq;
 import tango.io.FilePath;
 import tango.io.File;
 import tango.io.Print;
@@ -54,6 +53,7 @@
 import tango.text.Util;
 import tango.text.stream.LineIterator;
 import tango.util.log.Trace;
+import dwtx.dwtxhelper.Collection;
 
 version(JIVE) import jive.stacktrace;
 
@@ -954,7 +954,7 @@
     private String filename;
 
     // The books
-    private LinkSeq!(Book) books;
+    private LinkedList books;
 
     // The dirty flag
     private bool dirty;
@@ -963,7 +963,7 @@
     * Library constructor Note the signature :-)
     */
     public this() {
-        books = new LinkSeq!(Book);
+        books = new LinkedList();
     }
 
     /**
@@ -997,7 +997,8 @@
     public void save(String filename) {
         scope ostr = (new FileOutput(filename)).output;
         scope printer = new Print!(char)( Format, ostr );
-        foreach ( book; books ) {
+        foreach ( o; books ) {
+            Book book = cast(Book)o;
             printer.formatln( "{}|{}",book.getTitle(), (book.getCheckedOutTo() is null ? "" : book.getCheckedOutTo()));
         }
         ostr.close();
@@ -1012,7 +1013,7 @@
     * @return bool
     */
     public bool add(Book book) {
-        books.append(book);
+        books.add(book);
         setDirty();
         return true;
     }
@@ -1032,7 +1033,7 @@
     *
     * @return Collection
     */
-    public LinkSeq!(Book) getBooks() {
+    public LinkedList getBooks() {
         return books;
     }
 
--- a/jface/snippets/Snippet001TableViewer.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet001TableViewer.d	Thu Aug 07 22:21:50 2008 +0200
@@ -25,11 +25,11 @@
 import dwt.dwthelper.utils;
 
 import tango.util.Convert;
-import tango.util.collection.ArraySeq;
+import dwtx.dwtxhelper.Collection;
 
 /**
  * A simple TableViewer to demonstrate usage
- * 
+ *
  * @author Tom Schindl <tom.schindl@bestsolution.at>
  *
  */
@@ -40,71 +40,70 @@
 		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
 		 */
 		public Object[] getElements(Object inputElement) {
-			return (cast(ArraySeq!(MyModel))inputElement).toArray;
+			return (cast(ArrayList)inputElement).toArray;
 		}
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
 		 */
 		public void dispose() {
-			
+
 		}
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 		 */
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			
+
 		}
-		
+
 	}
-	
+
 	public class MyModel {
 		public int counter;
-		
+
 		public this(int counter) {
 			this.counter = counter;
 		}
-		
+
 		public String toString() {
 			return "Item " ~ to!(char[])(this.counter);
 		}
 	}
-	
+
 	public this(Shell shell) {
 		final TableViewer v = new TableViewer(shell);
 		v.setLabelProvider(new LabelProvider());
 		v.setContentProvider(new MyContentProvider());
-		ArraySeq!(MyModel) model = createModel();
+		ArrayList model = createModel();
 		v.setInput(model);
 		v.getTable().setLinesVisible(true);
 	}
-	
-	private ArraySeq!(MyModel) createModel() {
-		ArraySeq!(MyModel) elements = new ArraySeq!(MyModel);
-        elements.capacity  = 10;
+
+	private ArrayList createModel() {
+		ArrayList elements = new ArrayList(10);
 
 		for( int i = 0; i < 10; i++ ) {
-			elements ~= new MyModel(i);
+			elements.add( new MyModel(i));
 		}
-		
+
 		return elements;
 	}
-	
+
 }
 
-void main() 
+void main()
 {
     Display display = new Display ();
     Shell shell = new Shell(display);
     shell.setLayout(new FillLayout());
     new Snippet001TableViewer(shell);
     shell.open ();
-		
+
     while (!shell.isDisposed ()) {
         if (!display.readAndDispatch ()) display.sleep ();
     }
-		
+
     display.dispose ();
 
 }
--- a/jface/snippets/Snippet004HideSelection.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet004HideSelection.d	Thu Aug 07 22:21:50 2008 +0200
@@ -27,59 +27,58 @@
 import dwt.widgets.Shell;
 
 import dwt.dwthelper.utils;
+import dwtx.dwtxhelper.Collection;
 
 import tango.util.Convert;
-import tango.util.collection.ArraySeq;
 
 /**
  * Snippet that hides the selection when nothing is selected.
- * 
+ *
  * @author Tom Schindl <tom.schindl@bestsolution.at>
  *
  */
 public class Snippet004HideSelection {
-    alias ArraySeq!(MyModel) MyModelArray;
 	private class MyContentProvider : IStructuredContentProvider {
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
 		 */
 		public Object[] getElements(Object inputElement) {
-			return (cast(MyModelArray)inputElement).toArray;
+			return (cast(ArrayList)inputElement).toArray;
 		}
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
 		 */
 		public void dispose() {
-			
+
 		}
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 		 */
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			
+
 		}
 	}
-	
+
 	public class MyModel {
 		public int counter;
-		
+
 		public this(int counter) {
 			this.counter = counter;
 		}
-		
+
 		public String toString() {
 			return "Item " ~ to!(char[])(this.counter);
 		}
 	}
-	
+
 	public this(Shell shell) {
 		final TableViewer v = new TableViewer(shell,DWT.BORDER|DWT.FULL_SELECTION);
 		v.setLabelProvider(new LabelProvider());
 		v.setContentProvider(new MyContentProvider());
-		MyModelArray model = createModel();
+		ArrayList model = createModel();
 		v.setInput(model);
 		v.getTable().setLinesVisible(true);
 		v.getTable().addMouseListener(new class(v) MouseAdapter {
@@ -96,17 +95,16 @@
 					v.setSelection(new StructuredSelection());
 				}
 			}
-			
+
 		});
 	}
-	
-	private MyModelArray createModel() {
-		MyModelArray elements = new MyModelArray;
-        elements.capacity = 10;
+
+	private ArrayList createModel() {
+		ArrayList elements = new ArrayList(10);
 		for( int i = 0; i < 10; i++ ) {
-			elements ~= new MyModel(i);
+			elements.add( new MyModel(i));
 		}
-		
+
 		return elements;
 	}
 
@@ -118,11 +116,11 @@
     shell.setLayout(new FillLayout());
     new Snippet004HideSelection(shell);
     shell.open ();
-		
+
     while (!shell.isDisposed ()) {
         if (!display.readAndDispatch ()) display.sleep ();
     }
-		
+
     display.dispose ();
 
 }
--- a/jface/snippets/Snippet007FullSelection.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet007FullSelection.d	Thu Aug 07 22:21:50 2008 +0200
@@ -34,16 +34,15 @@
 import dwt.dwthelper.utils;
 
 import tango.util.Convert;
-import tango.util.collection.ArraySeq;
+import dwtx.dwtxhelper.Collection;
 
 /**
  * TableViewer: Hide full selection
- * 
+ *
  * @author Tom Schindl <tom.schindl@bestsolution.at>
  *
  */
 public class Snippet007FullSelection {
-    alias ArraySeq!(MyModel) MyModelArray;
 
 	private class MyContentProvider : IStructuredContentProvider {
 
@@ -51,37 +50,37 @@
 		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
 		 */
 		public Object[] getElements(Object inputElement) {
-			return (cast(MyModelArray)inputElement).toArray;
+			return (cast(ArrayList)inputElement).toArray;
 		}
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
 		 */
 		public void dispose() {
-			
+
 		}
 
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 		 */
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			
+
 		}
-		
+
 	}
-	
+
 	public class MyModel {
 		public int counter;
-		
+
 		public this(int counter) {
 			this.counter = counter;
 		}
-		
+
 		public String toString() {
 			return "Item " ~ to!(char[])(this.counter);
 		}
 	}
-	
+
 	public this(Shell shell) {
 		final TableViewer v = new TableViewer(shell,DWT.BORDER|DWT.FULL_SELECTION);
 		v.setLabelProvider(new LabelProvider());
@@ -104,24 +103,24 @@
 				(cast(MyModel)item.getData()).counter = to!(int)(valuestr.array);
 				v.update(item.getData(), null);
 			}
-			
+
 		});
 		v.setColumnProperties(["column1", "column2" ]);
 		v.setCellEditors([ new TextCellEditor(v.getTable()),new TextCellEditor(v.getTable()) ]);
-		
+
 		TableColumn column = new TableColumn(v.getTable(),DWT.NONE);
 		column.setWidth(100);
 		column.setText("Column 1");
-		
+
 		column = new TableColumn(v.getTable(),DWT.NONE);
 		column.setWidth(100);
 		column.setText("Column 2");
-		
-		MyModelArray model = createModel();
+
+		ArrayList model = createModel();
 		v.setInput(model);
 		v.getTable().setLinesVisible(true);
 		v.getTable().setHeaderVisible(true);
-		
+
 		v.getTable().addListener(DWT.EraseItem, new class Listener {
 
 			/* (non-Javadoc)
@@ -131,20 +130,19 @@
 				event.detail &= ~DWT.SELECTED;
 			}
 		});
-		
+
 	}
-	
-	private MyModelArray createModel() {
-		auto elements = new MyModelArray;
-        elements.capacity = 10;
-		
+
+	private ArrayList createModel() {
+		auto elements = new ArrayList(10);
+
 		for( int i = 0; i < 10; i++ ) {
-			elements ~= new MyModel(i);
+			elements.add( new MyModel(i));
 		}
-		
+
 		return elements;
 	}
-	
+
 }
 
 
@@ -154,11 +152,11 @@
     shell.setLayout(new FillLayout());
     new Snippet007FullSelection(shell);
     shell.open ();
-		
+
     while (!shell.isDisposed ()) {
         if (!display.readAndDispatch ()) display.sleep ();
     }
-		
+
     display.dispose ();
 
 }
--- a/jface/snippets/Snippet014TreeViewerNoMandatoryLabelProvider.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet014TreeViewerNoMandatoryLabelProvider.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.Snippet014TreeViewerNoMandatoryLabelProvider;
@@ -36,6 +36,7 @@
 import tango.util.Convert;
 import tango.util.container.LinkedList;
 
+version(JIVE) import jive.stacktrace;
 
 
 void main(String[] args) {
@@ -55,18 +56,18 @@
 
 /**
  * A simple TreeViewer to demonstrate usage
- * 
+ *
  * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
+ *
  */
 public class Snippet014TreeViewerNoMandatoryLabelProvider {
     alias  LinkedList!(MyModel) ArrayList;
-    
+
     private class MyContentProvider : ITreeContentProvider {
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see dwtx.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
          */
         public Object[] getElements(Object inputElement) {
@@ -75,7 +76,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see dwtx.jface.viewers.IContentProvider#dispose()
          */
         public void dispose() {
@@ -84,7 +85,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see dwtx.jface.viewers.IContentProvider#inputChanged(dwtx.jface.viewers.Viewer,
          *      java.lang.Object, java.lang.Object)
          */
@@ -94,7 +95,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see dwtx.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
          */
         public Object[] getChildren(Object parentElement) {
@@ -103,7 +104,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see dwtx.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
          */
         public Object getParent(Object element) {
@@ -116,7 +117,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see dwtx.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
          */
         public bool hasChildren(Object element) {
@@ -155,7 +156,7 @@
         FontRegistry registry;
         this()
         {
-            registry = new FontRegistry();                    
+            registry = new FontRegistry();
         }
 
         public Image getColumnImage(Object element, int columnIndex) {
@@ -192,15 +193,15 @@
 
     public this(Shell shell) {
         final TreeViewer v = new TreeViewer(shell);
-        
+
         TreeColumn column = new TreeColumn(v.getTree(),DWT.NONE);
         column.setWidth(200);
         column.setText("Column 1");
-        
+
         column = new TreeColumn(v.getTree(),DWT.NONE);
         column.setWidth(200);
         column.setText("Column 2");
-        
+
         v.setLabelProvider(new MyLabelProvider());
         v.setContentProvider(new MyContentProvider());
         v.setInput(createModel());
--- a/jface/snippets/Snippet026TreeViewerTabEditing.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet026TreeViewerTabEditing.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.Snippet026TreeViewerTabEditing;
@@ -39,9 +39,11 @@
 import dwt.widgets.Shell;
 
 import dwt.dwthelper.utils;
+import dwtx.dwtxhelper.Collection;
 
 import tango.util.Convert;
-import tango.util.container.LinkedList;
+
+version(JIVE) import jive.stacktrace;
 
 
 void main(String[] args) {
@@ -61,12 +63,11 @@
 
 /**
  * A simple TreeViewer to demonstrate usage
- * 
+ *
  * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
+ *
  */
 public class Snippet026TreeViewerTabEditing {
-    alias  LinkedList!(MyModel) ArrayList;    
     public this(Shell shell) {
         Button b = new Button(shell,DWT.PUSH);
         b.setText("Remove column");
@@ -81,15 +82,15 @@
                 this.v = v_;
             }
             public void widgetDefaultSelected(SelectionEvent e) {
-                
+
             }
 
             public void widgetSelected(SelectionEvent e) {
                 v.getTree().getColumn(1).dispose();
             }
-            
+
         });
-                 
+
         TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,new FocusCellOwnerDrawHighlighter(v));
         ColumnViewerEditorActivationStrategy actSupport = new class(v) ColumnViewerEditorActivationStrategy {
             this(ColumnViewer v_)
@@ -104,11 +105,11 @@
                         || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
             }
         };
-        
+
         TreeViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
                 | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                 | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-        
+
         final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
 
         TreeViewerColumn column = new TreeViewerColumn(v, DWT.NONE);
@@ -178,7 +179,7 @@
                 v.update(element, null);
             }
         });
-        
+
         column = new TreeViewerColumn(v, DWT.NONE);
         column.getColumn().setWidth(200);
         column.getColumn().setMoveable(true);
@@ -211,7 +212,7 @@
                 v.update(element, null);
             }
         });
-        
+
         v.setContentProvider(new MyContentProvider());
 
         v.setInput(createModel());
@@ -276,7 +277,7 @@
         public this(int counter, MyModel parent) {
             this.parent = parent;
             this.counter = counter;
-            child = new ArrayList();            
+            child = new ArrayList();
         }
 
         public String toString() {
--- a/jface/snippets/Snippet031TableViewerCustomTooltipsMultiSelection.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet031TableViewerCustomTooltipsMultiSelection.d	Thu Aug 07 22:21:50 2008 +0200
@@ -8,15 +8,14 @@
  * Contributors:
  *     Adam Neal - 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.Snippet031TableViewerCustomTooltipsMultiSelection;
 
 // http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jface.snippets/Eclipse%20JFace%20Snippets/org/eclipse/jface/snippets/viewers/Snippet031TableViewerCustomTooltipsMultiSelection.java?view=markup
 
-import tango.util.collection.ArrayBag;
-alias ArrayBag!(MyModel) ArrayList;
+import dwtx.dwtxhelper.Collection;
 import tango.util.Convert;
 
 import dwtx.jface.viewers.ArrayContentProvider;
@@ -46,14 +45,14 @@
 }
 
 /**
- * A simple TableViewer to demonstrate how custom tooltips could be created easily while preserving 
+ * A simple TableViewer to demonstrate how custom tooltips could be created easily while preserving
  * the multiple selection.
- * 
+ *
  * This is a modified example taken from Tom Schindl's Snippet023TreeViewerCustomTooltips.java
- * 
+ *
  * This code is for users pre 3.3 others could use newly added tooltip support in {@link CellLabelProvider}
  * @author Adam Neal <Adam_Neal@ca.ibm.com>
- * 
+ *
  */
 public class Snippet031TableViewerCustomTooltipsMultiSelection {
     public class MyLableProvider : ITableLabelProvider {
@@ -63,7 +62,7 @@
         }
 
         public String getColumnText(Object element, int columnIndex) {
-            //if (element instanceof MyModel) {            
+            //if (element instanceof MyModel) {
                 switch (columnIndex) {
                     case 0: return (cast(MyModel)element).col1;
                     case 1: return (cast(MyModel)element).col2;
@@ -226,7 +225,7 @@
                     /* Construct the new Selection[] to show */
                     TableItem [] newSelection = null;
                     if (isCTRLDown(event)) {
-                        /* We have 2 scenario's.  
+                        /* We have 2 scenario's.
                          *  1) We are selecting an already selected element - so remove it from the selected indices
                          *  2) We are selecting a non-selected element - so add it to the selected indices
                          */
--- a/jface/snippets/Snippet043NoColumnTreeViewerKeyboardEditing.d	Thu Aug 07 17:23:25 2008 +0200
+++ b/jface/snippets/Snippet043NoColumnTreeViewerKeyboardEditing.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 dwtx.jface.snippets.Snippet043NoColumnTreeViewerKeyboardEditing;
@@ -41,6 +41,8 @@
 import tango.util.Convert;
 import tango.util.container.LinkedList;
 
+version(JIVE) import jive.stacktrace;
+
 
 void main(String[] args) {
     Display display = new Display();
@@ -56,12 +58,12 @@
 
     display.dispose();
 }
-    
+
 /**
  * Demonstrates how to use keyboard-editing support in a TreeViewer with no column
- * 
+ *
  * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
+ *
  */
 public class Snippet043NoColumnTreeViewerKeyboardEditing {
     alias LinkedList!(MyModel) ArrayList;
@@ -76,7 +78,7 @@
             {
                 this.v = v_;
             }
-            
+
             public void widgetDefaultSelected(SelectionEvent e) {
 
             }
--- 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);
-            
+
         }
 
     }