Mercurial > projects > dwt-samples
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 |