1 #!/usr/bin/env dub
2 /+
3 dub.sdl:
4 name "snippet108"
5 dependency "dwt" path="../../../../../../"
6 libs \
7 "atk-1.0" \
8 "cairo" \
9 "dl" \
10 "fontconfig" \
11 "gdk-x11-2.0" \
12 "gdk_pixbuf-2.0" \
13 "glib-2.0" \
14 "gmodule-2.0" \
15 "gnomeui-2" \
16 "gnomevfs-2" \
17 "gobject-2.0" \
18 "gthread-2.0" \
19 "gtk-x11-2.0" \
20 "pango-1.0" \
21 "pangocairo-1.0" \
22 "X11" \
23 "Xcomposite" \
24 "Xcursor" \
25 "Xdamage" \
26 "Xext" \
27 "Xfixes" \
28 "Xi" \
29 "Xinerama" \
30 "Xrandr" \
31 "Xrender" \
32 "Xtst" \
33 platform="linux"
34 +/
35
36 /*******************************************************************************
37 * Copyright (c) 2000, 2004 IBM Corporation and others.
38 * All rights reserved. This program and the accompanying materials
39 * are made available under the terms of the Eclipse Public License v1.0
40 * which accompanies this distribution, and is available at
41 * http://www.eclipse.org/legal/epl-v10.html
42 *
43 * Contributors:
44 * IBM Corporation - initial API and implementation
45 * D Port:
46 * Thomas Demmer <t_demmer AT web DOT de>
47 *******************************************************************************/
48 module org.eclipse.swt.snippets.Snippet108;
49 /*
50 * Button example snippet: set the default button
51 *
52 * For a list of all SWT example snippets see
53 * http://www.eclipse.org/swt/snippets/
54 */
55 import org.eclipse.swt.SWT;
56 import org.eclipse.swt.widgets.Button;
57 import org.eclipse.swt.widgets.Display;
58 import org.eclipse.swt.widgets.Label;
59 import org.eclipse.swt.widgets.Shell;
60 import org.eclipse.swt.widgets.Text;
61 import org.eclipse.swt.events.SelectionAdapter;
62 import org.eclipse.swt.events.SelectionEvent;
63 import org.eclipse.swt.layout.RowLayout;
64 import org.eclipse.swt.layout.RowData;
65
66 import java.lang.all;
67
68 version(Tango){
69 import tango.io.Stdout;
70 void writeln(in char[] line) {
71 Stdout(line)("\n").flush();
72 }
73 } else { // Phobos
74 import std.stdio;
75 }
76
77 void main () {
78 Display display = new Display ();
79 Shell shell = new Shell (display);
80 Label label = new Label (shell, SWT.NONE);
81 label.setText ("Enter your name:");
82 Text text = new Text (shell, SWT.BORDER);
83 text.setLayoutData (new RowData (100, SWT.DEFAULT));
84 Button ok = new Button (shell, SWT.PUSH);
85 ok.setText ("OK");
86 ok.addSelectionListener(new class SelectionAdapter {
87 override
88 public void widgetSelected(SelectionEvent e) {
89 writeln("OK");
90 }
91 });
92 Button cancel = new Button (shell, SWT.PUSH);
93 cancel.setText ("Cancel");
94 cancel.addSelectionListener(new class SelectionAdapter {
95 override
96 public void widgetSelected(SelectionEvent e) {
97 writeln("Cancel");
98 }
99 });
100 shell.setDefaultButton (cancel);
101 shell.setLayout (new RowLayout ());
102 shell.pack ();
103 shell.open ();
104 while (!shell.isDisposed ()) {
105 if (!display.readAndDispatch ()) display.sleep ();
106 }
107 display.dispose ();
108 }
109