Mercurial > projects > dwt-samples
annotate jface/snippets/viewers/Snippet006TableMultiLineCells.d @ 145:161f7698cfb8
Moved jface snippets to viewers subpackage, there are more with conflicting numbers for other packages
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Fri, 08 Aug 2008 14:40:21 +0200 |
parents | jface/snippets/Snippet006TableMultiLineCells.d@9ed020f0c2a5 |
children |
rev | line source |
---|---|
83
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
1 /******************************************************************************* |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
2 * Copyright (c) 2005, 2007 IBM Corporation and others. |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
7 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
8 * Contributors: |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
10 * Port to the D programming language: |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
11 * yidabu at gmail dot com ( D China http://www.d-programming-language-china.org/ ) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
12 *******************************************************************************/ |
145
161f7698cfb8
Moved jface snippets to viewers subpackage, there are more with conflicting numbers for other packages
Frank Benoit <benoit@tionex.de>
parents:
88
diff
changeset
|
13 module snippets.viewers.Snippet006TableMultiLineCells; |
83
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
14 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
15 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
16 // http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jface.snippets/Eclipse%20JFace%20Snippets/org/eclipse/jface/snippets/viewers/Snippet006TableMultiLineCells.java?view=markup |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
17 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
18 import dwtx.jface.resource.JFaceResources; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
19 import dwtx.jface.viewers.ColumnPixelData; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
20 import dwtx.jface.viewers.IStructuredContentProvider; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
21 import dwtx.jface.viewers.OwnerDrawLabelProvider; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
22 import dwtx.jface.viewers.StructuredSelection; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
23 import dwtx.jface.viewers.TableLayout; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
24 import dwtx.jface.viewers.Viewer; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
25 import dwtx.jface.viewers.TableViewer; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
26 import dwt.DWT; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
27 import dwt.graphics.Font; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
28 import dwt.graphics.Point; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
29 import dwt.layout.GridData; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
30 import dwt.layout.GridLayout; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
31 import dwt.widgets.Composite; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
32 import dwt.widgets.Display; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
33 import dwt.widgets.Event; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
34 import dwt.widgets.Shell; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
35 import dwt.widgets.TableColumn; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
36 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
37 import dwt.dwthelper.utils; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
38 version(JIVE){ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
39 import jive.stacktrace; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
40 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
41 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
42 void main(String[] args) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
43 (new Snippet006TableMultiLineCells()).main(args); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
44 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
45 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
46 public class Snippet006TableMultiLineCells { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
47 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
48 public static void main(String[] args) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
49 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
50 Display display = new Display(); |
88 | 51 Shell shell = new Shell(display, DWT.CLOSE|DWT.RESIZE); |
83
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
52 shell.setSize(400, 400); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
53 shell.setLayout(new GridLayout()); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
54 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
55 Snippet006TableMultiLineCells example = new Snippet006TableMultiLineCells(); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
56 example.createPartControl(shell); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
57 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
58 shell.open(); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
59 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
60 while (!shell.isDisposed()) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
61 if (!display.readAndDispatch()) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
62 display.sleep(); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
63 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
64 display.dispose(); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
65 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
66 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
67 class LineEntry { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
68 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
69 String line; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
70 int columnWidth; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
71 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
72 /** |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
73 * Create a new instance of the receiver with name text constrained to a |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
74 * column of width. |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
75 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
76 * @param text |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
77 * @param width |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
78 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
79 this(String text, int width) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
80 line = text; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
81 columnWidth = width; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
82 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
83 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
84 /** |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
85 * Get the height of the event. |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
86 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
87 * @param index |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
88 * @return int |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
89 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
90 public int getHeight(Event event) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
91 event.gc.setLineWidth(columnWidth); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
92 return event.gc.textExtent(line).y; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
93 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
94 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
95 /** |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
96 * Get the width of the event. |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
97 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
98 * @param index |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
99 * @return |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
100 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
101 public int getWidth(Event event) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
102 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
103 return columnWidth; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
104 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
105 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
106 /** |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
107 * Get the font we are using. |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
108 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
109 * @return Font |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
110 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
111 protected Font getFont() { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
112 return JFaceResources.getFont(JFaceResources.HEADER_FONT); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
113 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
114 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
115 /** |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
116 * @param event |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
117 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
118 public void draw(Event event) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
119 event.gc.drawText(line, event.x, event.y); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
120 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
121 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
122 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
123 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
124 private TableViewer viewer; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
125 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
126 private LineEntry[] entries; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
127 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
128 public this() { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
129 String[] lines = [ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
130 "This day is called the feast of Crispian:", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
131 "He that outlives this day, \n and comes safe home,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
132 "Will stand a tip-toe when the day is named,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
133 "And rouse him at the name of Crispian.", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
134 "He that shall live this day,\n and see old age,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
135 "Will yearly on the vigil feast his neighbours,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
136 "And say 'To-morrow is Saint Crispian:'", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
137 "Then will he strip his sleeve and show his scars.", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
138 "And say 'These wounds I had on Crispin's day.'", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
139 "Old men forget:\n yet all shall be forgot,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
140 "But he'll remember with advantages", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
141 "What feats he did that day:\n then shall our names.", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
142 "Familiar in his mouth as household words", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
143 "Harry the king, Bedford and Exeter,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
144 "Warwick and Talbot,\n Salisbury and Gloucester,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
145 "Be in their flowing cups freshly remember'd.", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
146 "This story shall the good man teach his son;", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
147 "And Crispin Crispian shall ne'er go by,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
148 "From this day to the ending of the world,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
149 "But we in it shall be remember'd;", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
150 "We few,\n we happy few,\n we band of brothers;", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
151 "For he to-day that sheds his blood with me", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
152 "Shall be my brother;\n be he ne'er so vile,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
153 "This day shall gentle his condition:", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
154 "And gentlemen in England now a-bed", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
155 "Shall think themselves accursed they were not here,", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
156 "And hold their manhoods cheap whiles any speaks", |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
157 "That fought with us upon Saint Crispin's day." ]; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
158 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
159 entries = new LineEntry[lines.length]; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
160 for (int i = 0; i < lines.length; i++) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
161 entries[i] = new LineEntry(lines[i], 35); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
162 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
163 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
164 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
165 /* |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
166 * (non-Javadoc) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
167 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
168 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(dwt.widgets.Composite) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
169 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
170 public void createPartControl(Composite parent) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
171 viewer = new TableViewer(parent, DWT.FULL_SELECTION); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
172 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
173 viewer.setContentProvider(new class() IStructuredContentProvider { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
174 /* |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
175 * (non-Javadoc) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
176 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
177 * @see dwtx.jface.viewers.IContentProvider#dispose() |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
178 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
179 public void dispose() { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
180 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
181 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
182 /* |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
183 * (non-Javadoc) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
184 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
185 * @see dwtx.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
186 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
187 public Object[] getElements(Object inputElement) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
188 return entries; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
189 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
190 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
191 /* |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
192 * (non-Javadoc) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
193 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
194 * @see dwtx.jface.viewers.IContentProvider#inputChanged(dwtx.jface.viewers.Viewer, |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
195 * java.lang.Object, java.lang.Object) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
196 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
197 public void inputChanged(dwtx.jface.viewers.Viewer.Viewer viewer, Object oldInput, Object newInput) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
198 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
199 }); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
200 createColumns(); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
201 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
202 viewer.setLabelProvider(new class OwnerDrawLabelProvider { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
203 /* (non-Javadoc) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
204 * @see dwtx.jface.viewers.OwnerDrawLabelProvider#measure(dwt.widgets.Event, java.lang.Object) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
205 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
206 protected void measure(Event event, Object element) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
207 LineEntry line = cast(LineEntry) element; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
208 Point size = event.gc.textExtent(line.line); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
209 event.width = viewer.getTable().getColumn(event.index).getWidth(); |
88 | 210 int lines = (event.width > 0 ? (size.x / event.width + 1) : 1); |
83
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
211 event.height = size.y * lines; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
212 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
213 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
214 /* |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
215 * (non-Javadoc) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
216 * |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
217 * @see dwtx.jface.viewers.OwnerDrawLabelProvider#paint(dwt.widgets.Event, |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
218 * java.lang.Object) |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
219 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
220 protected void paint(Event event, Object element) { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
221 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
222 LineEntry entry = cast(LineEntry) element; |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
223 event.gc.drawText(entry.line, event.x, event.y, true); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
224 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
225 }); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
226 viewer.setInput(this); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
227 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
228 GridData data = new GridData(GridData.GRAB_HORIZONTAL |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
229 | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
230 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
231 viewer.getControl().setLayoutData(data); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
232 OwnerDrawLabelProvider.setUpOwnerDraw(viewer); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
233 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
234 viewer.setSelection(new StructuredSelection(entries[1])); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
235 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
236 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
237 /** |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
238 * Create the columns to be used in the tree. |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
239 */ |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
240 private void createColumns() { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
241 TableLayout layout = new TableLayout(); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
242 viewer.getTable().setLayout(layout); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
243 viewer.getTable().setHeaderVisible(true); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
244 viewer.getTable().setLinesVisible(true); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
245 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
246 TableColumn tc = new TableColumn(viewer.getTable(), DWT.NONE, 0); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
247 layout.addColumnData(new ColumnPixelData(350)); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
248 tc.setText("Lines"); |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
249 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
250 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
251 |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
252 public void setFocus() { |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
253 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
254 } |
b7e2d67d5efa
Added jface Snippet006TableMultiLineCells
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
255 |