comparison jface/snippets/Snippet004HideSelection.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
25 import dwt.layout.FillLayout; 25 import dwt.layout.FillLayout;
26 import dwt.widgets.Display; 26 import dwt.widgets.Display;
27 import dwt.widgets.Shell; 27 import dwt.widgets.Shell;
28 28
29 import dwt.dwthelper.utils; 29 import dwt.dwthelper.utils;
30 import dwtx.dwtxhelper.Collection;
30 31
31 import tango.util.Convert; 32 import tango.util.Convert;
32 import tango.util.collection.ArraySeq;
33 33
34 /** 34 /**
35 * Snippet that hides the selection when nothing is selected. 35 * Snippet that hides the selection when nothing is selected.
36 * 36 *
37 * @author Tom Schindl <tom.schindl@bestsolution.at> 37 * @author Tom Schindl <tom.schindl@bestsolution.at>
38 * 38 *
39 */ 39 */
40 public class Snippet004HideSelection { 40 public class Snippet004HideSelection {
41 alias ArraySeq!(MyModel) MyModelArray;
42 private class MyContentProvider : IStructuredContentProvider { 41 private class MyContentProvider : IStructuredContentProvider {
43 42
44 /* (non-Javadoc) 43 /* (non-Javadoc)
45 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) 44 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
46 */ 45 */
47 public Object[] getElements(Object inputElement) { 46 public Object[] getElements(Object inputElement) {
48 return (cast(MyModelArray)inputElement).toArray; 47 return (cast(ArrayList)inputElement).toArray;
49 } 48 }
50 49
51 /* (non-Javadoc) 50 /* (non-Javadoc)
52 * @see org.eclipse.jface.viewers.IContentProvider#dispose() 51 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
53 */ 52 */
54 public void dispose() { 53 public void dispose() {
55 54
56 } 55 }
57 56
58 /* (non-Javadoc) 57 /* (non-Javadoc)
59 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) 58 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
60 */ 59 */
61 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { 60 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
62 61
63 } 62 }
64 } 63 }
65 64
66 public class MyModel { 65 public class MyModel {
67 public int counter; 66 public int counter;
68 67
69 public this(int counter) { 68 public this(int counter) {
70 this.counter = counter; 69 this.counter = counter;
71 } 70 }
72 71
73 public String toString() { 72 public String toString() {
74 return "Item " ~ to!(char[])(this.counter); 73 return "Item " ~ to!(char[])(this.counter);
75 } 74 }
76 } 75 }
77 76
78 public this(Shell shell) { 77 public this(Shell shell) {
79 final TableViewer v = new TableViewer(shell,DWT.BORDER|DWT.FULL_SELECTION); 78 final TableViewer v = new TableViewer(shell,DWT.BORDER|DWT.FULL_SELECTION);
80 v.setLabelProvider(new LabelProvider()); 79 v.setLabelProvider(new LabelProvider());
81 v.setContentProvider(new MyContentProvider()); 80 v.setContentProvider(new MyContentProvider());
82 MyModelArray model = createModel(); 81 ArrayList model = createModel();
83 v.setInput(model); 82 v.setInput(model);
84 v.getTable().setLinesVisible(true); 83 v.getTable().setLinesVisible(true);
85 v.getTable().addMouseListener(new class(v) MouseAdapter { 84 v.getTable().addMouseListener(new class(v) MouseAdapter {
86 private TableViewer v; 85 private TableViewer v;
87 this(TableViewer v_) { 86 this(TableViewer v_) {
94 public void mouseDown(MouseEvent e) { 93 public void mouseDown(MouseEvent e) {
95 if( v.getTable().getItem(new Point(e.x,e.y)) is null ) { 94 if( v.getTable().getItem(new Point(e.x,e.y)) is null ) {
96 v.setSelection(new StructuredSelection()); 95 v.setSelection(new StructuredSelection());
97 } 96 }
98 } 97 }
99 98
100 }); 99 });
101 } 100 }
102 101
103 private MyModelArray createModel() { 102 private ArrayList createModel() {
104 MyModelArray elements = new MyModelArray; 103 ArrayList elements = new ArrayList(10);
105 elements.capacity = 10;
106 for( int i = 0; i < 10; i++ ) { 104 for( int i = 0; i < 10; i++ ) {
107 elements ~= new MyModel(i); 105 elements.add( new MyModel(i));
108 } 106 }
109 107
110 return elements; 108 return elements;
111 } 109 }
112 110
113 } 111 }
114 112
116 Display display = new Display (); 114 Display display = new Display ();
117 Shell shell = new Shell(display); 115 Shell shell = new Shell(display);
118 shell.setLayout(new FillLayout()); 116 shell.setLayout(new FillLayout());
119 new Snippet004HideSelection(shell); 117 new Snippet004HideSelection(shell);
120 shell.open (); 118 shell.open ();
121 119
122 while (!shell.isDisposed ()) { 120 while (!shell.isDisposed ()) {
123 if (!display.readAndDispatch ()) display.sleep (); 121 if (!display.readAndDispatch ()) display.sleep ();
124 } 122 }
125 123
126 display.dispose (); 124 display.dispose ();
127 125
128 } 126 }
129 127