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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }