comparison jface/snippets/Snippet014TreeViewerNoMandatoryLabelProvider.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
comparison
equal deleted inserted replaced
142:7dca96709d29 143:42c3056512ba
6 * http://www.eclipse.org/legal/epl-v10.html 6 * http://www.eclipse.org/legal/epl-v10.html
7 * 7 *
8 * Contributors: 8 * Contributors:
9 * Tom Schindl - initial API and implementation 9 * Tom Schindl - initial API and implementation
10 * Port to the D programming language: 10 * Port to the D programming language:
11 * yidabu at gmail dot com ( D China http://www.d-programming-language-china.org/ ) 11 * yidabu at gmail dot com ( D China http://www.d-programming-language-china.org/ )
12 *******************************************************************************/ 12 *******************************************************************************/
13 13
14 module jface.snippets.Snippet014TreeViewerNoMandatoryLabelProvider; 14 module jface.snippets.Snippet014TreeViewerNoMandatoryLabelProvider;
15 15
16 16
34 import dwt.dwthelper.utils; 34 import dwt.dwthelper.utils;
35 35
36 import tango.util.Convert; 36 import tango.util.Convert;
37 import tango.util.container.LinkedList; 37 import tango.util.container.LinkedList;
38 38
39 version(JIVE) import jive.stacktrace;
39 40
40 41
41 void main(String[] args) { 42 void main(String[] args) {
42 Display display = new Display(); 43 Display display = new Display();
43 Shell shell = new Shell(display); 44 Shell shell = new Shell(display);
53 display.dispose(); 54 display.dispose();
54 } 55 }
55 56
56 /** 57 /**
57 * A simple TreeViewer to demonstrate usage 58 * A simple TreeViewer to demonstrate usage
58 * 59 *
59 * @author Tom Schindl <tom.schindl@bestsolution.at> 60 * @author Tom Schindl <tom.schindl@bestsolution.at>
60 * 61 *
61 */ 62 */
62 public class Snippet014TreeViewerNoMandatoryLabelProvider { 63 public class Snippet014TreeViewerNoMandatoryLabelProvider {
63 alias LinkedList!(MyModel) ArrayList; 64 alias LinkedList!(MyModel) ArrayList;
64 65
65 private class MyContentProvider : ITreeContentProvider { 66 private class MyContentProvider : ITreeContentProvider {
66 67
67 /* 68 /*
68 * (non-Javadoc) 69 * (non-Javadoc)
69 * 70 *
70 * @see dwtx.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) 71 * @see dwtx.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
71 */ 72 */
72 public Object[] getElements(Object inputElement) { 73 public Object[] getElements(Object inputElement) {
73 return (cast(MyModel) inputElement).child.toArray(); 74 return (cast(MyModel) inputElement).child.toArray();
74 } 75 }
75 76
76 /* 77 /*
77 * (non-Javadoc) 78 * (non-Javadoc)
78 * 79 *
79 * @see dwtx.jface.viewers.IContentProvider#dispose() 80 * @see dwtx.jface.viewers.IContentProvider#dispose()
80 */ 81 */
81 public void dispose() { 82 public void dispose() {
82 83
83 } 84 }
84 85
85 /* 86 /*
86 * (non-Javadoc) 87 * (non-Javadoc)
87 * 88 *
88 * @see dwtx.jface.viewers.IContentProvider#inputChanged(dwtx.jface.viewers.Viewer, 89 * @see dwtx.jface.viewers.IContentProvider#inputChanged(dwtx.jface.viewers.Viewer,
89 * java.lang.Object, java.lang.Object) 90 * java.lang.Object, java.lang.Object)
90 */ 91 */
91 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { 92 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
92 93
93 } 94 }
94 95
95 /* 96 /*
96 * (non-Javadoc) 97 * (non-Javadoc)
97 * 98 *
98 * @see dwtx.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) 99 * @see dwtx.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
99 */ 100 */
100 public Object[] getChildren(Object parentElement) { 101 public Object[] getChildren(Object parentElement) {
101 return getElements(parentElement); 102 return getElements(parentElement);
102 } 103 }
103 104
104 /* 105 /*
105 * (non-Javadoc) 106 * (non-Javadoc)
106 * 107 *
107 * @see dwtx.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) 108 * @see dwtx.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
108 */ 109 */
109 public Object getParent(Object element) { 110 public Object getParent(Object element) {
110 if (element is null) { 111 if (element is null) {
111 return null; 112 return null;
114 return (cast(MyModel) element).parent; 115 return (cast(MyModel) element).parent;
115 } 116 }
116 117
117 /* 118 /*
118 * (non-Javadoc) 119 * (non-Javadoc)
119 * 120 *
120 * @see dwtx.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) 121 * @see dwtx.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
121 */ 122 */
122 public bool hasChildren(Object element) { 123 public bool hasChildren(Object element) {
123 return (cast(MyModel) element).child.size() > 0; 124 return (cast(MyModel) element).child.size() > 0;
124 } 125 }
153 public class MyLabelProvider : LabelProvider, 154 public class MyLabelProvider : LabelProvider,
154 ITableLabelProvider, ITableFontProvider, ITableColorProvider { 155 ITableLabelProvider, ITableFontProvider, ITableColorProvider {
155 FontRegistry registry; 156 FontRegistry registry;
156 this() 157 this()
157 { 158 {
158 registry = new FontRegistry(); 159 registry = new FontRegistry();
159 } 160 }
160 161
161 public Image getColumnImage(Object element, int columnIndex) { 162 public Image getColumnImage(Object element, int columnIndex) {
162 return null; 163 return null;
163 } 164 }
190 191
191 } 192 }
192 193
193 public this(Shell shell) { 194 public this(Shell shell) {
194 final TreeViewer v = new TreeViewer(shell); 195 final TreeViewer v = new TreeViewer(shell);
195 196
196 TreeColumn column = new TreeColumn(v.getTree(),DWT.NONE); 197 TreeColumn column = new TreeColumn(v.getTree(),DWT.NONE);
197 column.setWidth(200); 198 column.setWidth(200);
198 column.setText("Column 1"); 199 column.setText("Column 1");
199 200
200 column = new TreeColumn(v.getTree(),DWT.NONE); 201 column = new TreeColumn(v.getTree(),DWT.NONE);
201 column.setWidth(200); 202 column.setWidth(200);
202 column.setText("Column 2"); 203 column.setText("Column 2");
203 204
204 v.setLabelProvider(new MyLabelProvider()); 205 v.setLabelProvider(new MyLabelProvider());
205 v.setContentProvider(new MyContentProvider()); 206 v.setContentProvider(new MyContentProvider());
206 v.setInput(createModel()); 207 v.setInput(createModel());
207 } 208 }
208 209