Mercurial > projects > dwt-samples
annotate dwtsnippets/table/Snippet38.d @ 27:580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
author | Jesse Phillips <Jesse.K.Phillips+D@gmail.com> |
---|---|
date | Sun, 02 Mar 2008 11:11:34 -0800 |
parents | |
children | 3b18f03b2f41 |
rev | line source |
---|---|
27
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
1 /******************************************************************************* |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2004 IBM Corporation and others. |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
7 * |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
8 * Contributors: |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
10 * D Port: |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
11 * Jesse Phillips <Jesse.K.Phillips+D> gmail.com |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
12 *******************************************************************************/ |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
13 module dwtsnippets.table.Snippet38; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
14 |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
15 /* |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
16 * Table example snippet: create a table (columns, headers, lines) |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
17 * |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
18 * For a list of all DWT example snippets see |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
19 * http://www.eclipse.org/swt/snippets/ |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
20 */ |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
21 import dwt.DWT; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
22 import dwt.widgets.Display; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
23 import dwt.widgets.Shell; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
24 import dwt.widgets.Table; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
25 import dwt.widgets.TableColumn; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
26 import dwt.widgets.TableItem; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
27 |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
28 import tango.util.Convert; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
29 |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
30 void main () { |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
31 auto display = new Display (); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
32 auto shell = new Shell (display); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
33 auto table = new Table (shell, DWT.MULTI | DWT.BORDER | DWT.FULL_SELECTION); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
34 table.setLinesVisible (true); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
35 table.setHeaderVisible (true); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
36 char[][] titles = [" ", "C", "!", "Description", "Resource", "In Folder", "Location"]; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
37 foreach (title; titles) { |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
38 auto column = new TableColumn (table, DWT.NONE); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
39 column.setText (title); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
40 } |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
41 int count = 128; |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
42 for (int i=0; i<count; i++) { |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
43 auto item = new TableItem (table, DWT.NONE); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
44 item.setText (0, "x"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
45 item.setText (1, "y"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
46 item.setText (2, "!"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
47 item.setText (3, "this stuff behaves the way I expect"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
48 item.setText (4, "almost everywhere"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
49 item.setText (5, "some.folder"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
50 item.setText (6, "line " ~ to!(char[])(i) ~ " in nowhere"); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
51 } |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
52 for (int i=0; i<titles.length; i++) { |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
53 table.getColumn (i).pack (); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
54 } |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
55 table.setSize (table.computeSize (DWT.DEFAULT, 200)); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
56 shell.pack (); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
57 shell.open (); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
58 while (!shell.isDisposed ()) { |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
59 if (!display.readAndDispatch ()) display.sleep (); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
60 } |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
61 display.dispose (); |
580d6cc14afd
Added tree and table snippets. Cleaned up .hgignore.
Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
parents:
diff
changeset
|
62 } |