Mercurial > projects > dwt-samples
comparison jface/snippets/Snippet007FullSelection.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 | cbba80cceb7a |
children |
comparison
equal
deleted
inserted
replaced
142:7dca96709d29 | 143:42c3056512ba |
---|---|
32 import dwt.widgets.TableItem; | 32 import dwt.widgets.TableItem; |
33 | 33 |
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.collection.ArraySeq; | 37 import dwtx.dwtxhelper.Collection; |
38 | 38 |
39 /** | 39 /** |
40 * TableViewer: Hide full selection | 40 * TableViewer: Hide full selection |
41 * | 41 * |
42 * @author Tom Schindl <tom.schindl@bestsolution.at> | 42 * @author Tom Schindl <tom.schindl@bestsolution.at> |
43 * | 43 * |
44 */ | 44 */ |
45 public class Snippet007FullSelection { | 45 public class Snippet007FullSelection { |
46 alias ArraySeq!(MyModel) MyModelArray; | |
47 | 46 |
48 private class MyContentProvider : IStructuredContentProvider { | 47 private class MyContentProvider : IStructuredContentProvider { |
49 | 48 |
50 /* (non-Javadoc) | 49 /* (non-Javadoc) |
51 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) | 50 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) |
52 */ | 51 */ |
53 public Object[] getElements(Object inputElement) { | 52 public Object[] getElements(Object inputElement) { |
54 return (cast(MyModelArray)inputElement).toArray; | 53 return (cast(ArrayList)inputElement).toArray; |
55 } | 54 } |
56 | 55 |
57 /* (non-Javadoc) | 56 /* (non-Javadoc) |
58 * @see org.eclipse.jface.viewers.IContentProvider#dispose() | 57 * @see org.eclipse.jface.viewers.IContentProvider#dispose() |
59 */ | 58 */ |
60 public void dispose() { | 59 public void dispose() { |
61 | 60 |
62 } | 61 } |
63 | 62 |
64 /* (non-Javadoc) | 63 /* (non-Javadoc) |
65 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) | 64 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) |
66 */ | 65 */ |
67 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { | 66 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { |
68 | 67 |
69 } | 68 } |
70 | 69 |
71 } | 70 } |
72 | 71 |
73 public class MyModel { | 72 public class MyModel { |
74 public int counter; | 73 public int counter; |
75 | 74 |
76 public this(int counter) { | 75 public this(int counter) { |
77 this.counter = counter; | 76 this.counter = counter; |
78 } | 77 } |
79 | 78 |
80 public String toString() { | 79 public String toString() { |
81 return "Item " ~ to!(char[])(this.counter); | 80 return "Item " ~ to!(char[])(this.counter); |
82 } | 81 } |
83 } | 82 } |
84 | 83 |
85 public this(Shell shell) { | 84 public this(Shell shell) { |
86 final TableViewer v = new TableViewer(shell,DWT.BORDER|DWT.FULL_SELECTION); | 85 final TableViewer v = new TableViewer(shell,DWT.BORDER|DWT.FULL_SELECTION); |
87 v.setLabelProvider(new LabelProvider()); | 86 v.setLabelProvider(new LabelProvider()); |
88 v.setContentProvider(new MyContentProvider()); | 87 v.setContentProvider(new MyContentProvider()); |
89 v.setCellModifier(new class(v) ICellModifier { | 88 v.setCellModifier(new class(v) ICellModifier { |
102 auto item = cast(TableItem)element; | 101 auto item = cast(TableItem)element; |
103 auto valuestr = cast(ArrayWrapperString)value; | 102 auto valuestr = cast(ArrayWrapperString)value; |
104 (cast(MyModel)item.getData()).counter = to!(int)(valuestr.array); | 103 (cast(MyModel)item.getData()).counter = to!(int)(valuestr.array); |
105 v.update(item.getData(), null); | 104 v.update(item.getData(), null); |
106 } | 105 } |
107 | 106 |
108 }); | 107 }); |
109 v.setColumnProperties(["column1", "column2" ]); | 108 v.setColumnProperties(["column1", "column2" ]); |
110 v.setCellEditors([ new TextCellEditor(v.getTable()),new TextCellEditor(v.getTable()) ]); | 109 v.setCellEditors([ new TextCellEditor(v.getTable()),new TextCellEditor(v.getTable()) ]); |
111 | 110 |
112 TableColumn column = new TableColumn(v.getTable(),DWT.NONE); | 111 TableColumn column = new TableColumn(v.getTable(),DWT.NONE); |
113 column.setWidth(100); | 112 column.setWidth(100); |
114 column.setText("Column 1"); | 113 column.setText("Column 1"); |
115 | 114 |
116 column = new TableColumn(v.getTable(),DWT.NONE); | 115 column = new TableColumn(v.getTable(),DWT.NONE); |
117 column.setWidth(100); | 116 column.setWidth(100); |
118 column.setText("Column 2"); | 117 column.setText("Column 2"); |
119 | 118 |
120 MyModelArray model = createModel(); | 119 ArrayList model = createModel(); |
121 v.setInput(model); | 120 v.setInput(model); |
122 v.getTable().setLinesVisible(true); | 121 v.getTable().setLinesVisible(true); |
123 v.getTable().setHeaderVisible(true); | 122 v.getTable().setHeaderVisible(true); |
124 | 123 |
125 v.getTable().addListener(DWT.EraseItem, new class Listener { | 124 v.getTable().addListener(DWT.EraseItem, new class Listener { |
126 | 125 |
127 /* (non-Javadoc) | 126 /* (non-Javadoc) |
128 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) | 127 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) |
129 */ | 128 */ |
130 public void handleEvent(Event event) { | 129 public void handleEvent(Event event) { |
131 event.detail &= ~DWT.SELECTED; | 130 event.detail &= ~DWT.SELECTED; |
132 } | 131 } |
133 }); | 132 }); |
134 | 133 |
135 } | 134 } |
136 | 135 |
137 private MyModelArray createModel() { | 136 private ArrayList createModel() { |
138 auto elements = new MyModelArray; | 137 auto elements = new ArrayList(10); |
139 elements.capacity = 10; | 138 |
140 | |
141 for( int i = 0; i < 10; i++ ) { | 139 for( int i = 0; i < 10; i++ ) { |
142 elements ~= new MyModel(i); | 140 elements.add( new MyModel(i)); |
143 } | 141 } |
144 | 142 |
145 return elements; | 143 return elements; |
146 } | 144 } |
147 | 145 |
148 } | 146 } |
149 | 147 |
150 | 148 |
151 void main() { | 149 void main() { |
152 Display display = new Display (); | 150 Display display = new Display (); |
153 Shell shell = new Shell(display); | 151 Shell shell = new Shell(display); |
154 shell.setLayout(new FillLayout()); | 152 shell.setLayout(new FillLayout()); |
155 new Snippet007FullSelection(shell); | 153 new Snippet007FullSelection(shell); |
156 shell.open (); | 154 shell.open (); |
157 | 155 |
158 while (!shell.isDisposed ()) { | 156 while (!shell.isDisposed ()) { |
159 if (!display.readAndDispatch ()) display.sleep (); | 157 if (!display.readAndDispatch ()) display.sleep (); |
160 } | 158 } |
161 | 159 |
162 display.dispose (); | 160 display.dispose (); |
163 | 161 |
164 } | 162 } |
165 | 163 |