Mercurial > projects > dwt-samples
annotate snippets/styledtext/Snippet213.d @ 155:04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
author | yidabu <yidabu@gmail.com> |
---|---|
date | Fri, 22 Aug 2008 07:27:56 +0800 |
parents | |
children |
rev | line source |
---|---|
155
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
1 /******************************************************************************* |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2004 IBM Corporation and others. |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
7 * |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
8 * Contributors: |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
10 * Port to the D programming language: |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
11 * yidabu at gmail dot com ( D China http://www.d-programming-language-china.org/ ) |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
12 *******************************************************************************/ |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
13 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
14 module styledtext.Snippet213; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
15 /* |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
16 * SWT StyledText snippet: use indent, alignment and justify. |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
17 * |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
18 * For a list of all SWT example snippets see |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
19 * http://www.eclipse.org/swt/snippets/ |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
20 * |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
21 * @since 3.2 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
22 */ |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
23 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
24 import dwt.DWT; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
25 import dwt.custom.StyledText; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
26 import dwt.custom.StyleRange; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
27 import dwt.layout.FillLayout; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
28 import dwt.widgets.Display; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
29 import dwt.widgets.Shell; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
30 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
31 import dwt.dwthelper.utils; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
32 version(JIVE){ |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
33 import jive.stacktrace; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
34 } |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
35 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
36 void main() { |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
37 static String text = |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
38 "The first paragraph has an indentation of fifty pixels. Indentation is the amount of white space in front of the first line of a paragraph. If this paragraph wraps to several lines you should see the indentation only on the first line.\n\n" |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
39 "The second paragraph is center aligned. Alignment only works when the StyledText is using word wrap. Alignment, as with all other line attributes, can be set for the whole widget or just for a set of lines.\n\n" |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
40 "The third paragraph is justified. Like alignment, justify only works when the StyledText is using word wrap. If the paragraph wraps to several lines, the justification is performed on all lines but the last one.\n\n" |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
41 "The last paragraph is justified and right aligned. In this case, the alignment is only noticeable in the final line."; |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
42 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
43 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
44 Display display = new Display(); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
45 Shell shell = new Shell(display); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
46 shell.setLayout(new FillLayout()); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
47 StyledText styledText = new StyledText(shell, DWT.WRAP | DWT.BORDER); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
48 styledText.setText(text); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
49 styledText.setLineIndent(0, 1, 50); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
50 styledText.setLineAlignment(2, 1, DWT.CENTER); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
51 styledText.setLineJustify(4, 1, true); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
52 styledText.setLineAlignment(6, 1, DWT.RIGHT); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
53 styledText.setLineJustify(6, 1, true); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
54 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
55 shell.setSize(300, 400); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
56 shell.open(); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
57 while (!shell.isDisposed()) { |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
58 if (!display.readAndDispatch()) |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
59 display.sleep(); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
60 } |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
61 display.dispose(); |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
62 |
04d05db6dca4
styledtext: Snippet211, Snippet213, Snippet217, Snippet218, Snippet222, Snippet244
yidabu <yidabu@gmail.com>
parents:
diff
changeset
|
63 } |