Mercurial > projects > dwt-samples
annotate dwtsnippets/spinner/Snippet190.d @ 48:4a8ae06d688d
Ported spinner snippets 184 and 190
author | Bill Baxter <bill@billbaxter.com> |
---|---|
date | Sun, 06 Apr 2008 23:57:22 +0900 |
parents | |
children | 3b18f03b2f41 |
rev | line source |
---|---|
48
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
1 /******************************************************************************* |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2005 IBM Corporation and others. |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
7 * |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
8 * Contributors: |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
10 * Port to the D programming language: |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
11 * Bill Baxter <bill@billbaxter.com> |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
12 *******************************************************************************/ |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
13 module dwtsnippets.spinner.Snippet190; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
14 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
15 import dwt.DWT; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
16 import dwt.widgets.Display; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
17 import dwt.widgets.Shell; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
18 import dwt.widgets.Spinner; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
19 import dwt.events.SelectionAdapter; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
20 import dwt.events.SelectionEvent; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
21 import dwt.layout.GridLayout; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
22 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
23 import Math = tango.math.Math; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
24 import tango.io.Stdout; |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
25 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
26 /* |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
27 * Floating point values in Spinner |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
28 * |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
29 * For a list of all DWT example snippets see |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
30 * http://www.eclipse.org/swt/snippets/ |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
31 * |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
32 * @since 3.1 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
33 */ |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
34 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
35 void main () { |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
36 Display display = new Display (); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
37 Shell shell = new Shell (display); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
38 shell.setText("Spinner with float values"); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
39 shell.setLayout(new GridLayout()); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
40 final Spinner spinner = new Spinner(shell, DWT.NONE); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
41 // allow 3 decimal places |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
42 spinner.setDigits(3); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
43 // set the minimum value to 0.001 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
44 spinner.setMinimum(1); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
45 // set the maximum value to 20 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
46 spinner.setMaximum(20000); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
47 // set the increment value to 0.010 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
48 spinner.setIncrement(10); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
49 // set the seletion to 3.456 |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
50 spinner.setSelection(3456); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
51 spinner.addSelectionListener(new class() SelectionAdapter { |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
52 public void widgetSelected(SelectionEvent e) { |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
53 int selection = spinner.getSelection(); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
54 float digits = spinner.getDigits(); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
55 Stdout.formatln("Selection is {}", selection / Math.pow(10.f, digits)); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
56 } |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
57 }); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
58 shell.setSize(200, 200); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
59 shell.open(); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
60 while (!shell.isDisposed ()) { |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
61 if (!display.readAndDispatch ()) display.sleep (); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
62 } |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
63 display.dispose (); |
4a8ae06d688d
Ported spinner snippets 184 and 190
Bill Baxter <bill@billbaxter.com>
parents:
diff
changeset
|
64 } |