comparison org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.d @ 112:9f4c18c268b2

Update to compile and execute with dmd 2.052.
author kntroh
date Wed, 16 Mar 2011 21:53:53 +0900
parents 69b1fa94a4a8
children 536e43f63c81
comparison
equal deleted inserted replaced
111:b6e9904989ed 112:9f4c18c268b2
23 import org.eclipse.swt.SWT; 23 import org.eclipse.swt.SWT;
24 import org.eclipse.swt.widgets.Display; 24 import org.eclipse.swt.widgets.Display;
25 import org.eclipse.swt.widgets.Shell; 25 import org.eclipse.swt.widgets.Shell;
26 import org.eclipse.swt.widgets.Listener; 26 import org.eclipse.swt.widgets.Listener;
27 import org.eclipse.swt.widgets.Event; 27 import org.eclipse.swt.widgets.Event;
28 import java.lang.all;
28 29
29 import tango.io.Stdout; 30 version(Tango){
30 import tango.text.convert.Format; 31 import tango.io.Stdout;
32 import tango.text.convert.Format;
33 import tango.util.Convert;
34 } else { // Phobos
35 import std.stdio;
36 import std.string;
37 import std.conv;
38 }
31 39
32 static char[] stateMask (int stateMask) { 40 static String stateMask (int stateMask) {
33 char[] string = ""; 41 String string = "";
34 if ((stateMask & SWT.CTRL) != 0) string ~= " CTRL"; 42 if ((stateMask & SWT.CTRL) != 0) string ~= " CTRL";
35 if ((stateMask & SWT.ALT) != 0) string ~= " ALT"; 43 if ((stateMask & SWT.ALT) != 0) string ~= " ALT";
36 if ((stateMask & SWT.SHIFT) != 0) string ~= " SHIFT"; 44 if ((stateMask & SWT.SHIFT) != 0) string ~= " SHIFT";
37 if ((stateMask & SWT.COMMAND) != 0) string ~= " COMMAND"; 45 if ((stateMask & SWT.COMMAND) != 0) string ~= " COMMAND";
38 return string; 46 return string;
39 } 47 }
40 48
41 static char[] character (char character) { 49 static String character (wchar character) {
42 switch (character) { 50 switch (character) {
43 case 0: return "'\\0'"; 51 case 0: return "'\\0'";
44 case SWT.BS: return "'\\b'"; 52 case SWT.BS: return "'\\b'";
45 case SWT.CR: return "'\\r'"; 53 case SWT.CR: return "'\\r'";
46 case SWT.DEL: return "DEL"; 54 case SWT.DEL: return "DEL";
47 case SWT.ESC: return "ESC"; 55 case SWT.ESC: return "ESC";
48 case SWT.LF: return "'\\n'"; 56 case SWT.LF: return "'\\n'";
49 case SWT.TAB: return "'\\t'"; 57 case SWT.TAB: return "'\\t'";
50 default: 58 default:
51 return "'" ~ character ~"'"; 59 return to!(String)("'"w ~ character ~"'"w);
52 } 60 }
53 } 61 }
54 62
55 static char[] keyCode (int keyCode) { 63 static String keyCode (int keyCode) {
56 switch (keyCode) { 64 switch (keyCode) {
57 65
58 /* Keyboard and Mouse Masks */ 66 /* Keyboard and Mouse Masks */
59 case SWT.ALT: return "ALT"; 67 case SWT.ALT: return "ALT";
60 case SWT.SHIFT: return "SHIFT"; 68 case SWT.SHIFT: return "SHIFT";
134 void main () { 142 void main () {
135 Display display = new Display (); 143 Display display = new Display ();
136 Shell shell = new Shell (display); 144 Shell shell = new Shell (display);
137 Listener listener = new class Listener { 145 Listener listener = new class Listener {
138 public void handleEvent (Event e) { 146 public void handleEvent (Event e) {
139 char[] string = e.type == SWT.KeyDown ? "DOWN:" : "UP :"; 147 String string = e.type == SWT.KeyDown ? "DOWN:" : "UP :";
140 string ~= Format("stateMask=0x{:x}{},", e.stateMask, stateMask (e.stateMask)); 148 version(Tango){
141 string ~= Format(" keyCode=0x{:x} {},", e.keyCode, keyCode (e.keyCode)); 149 string ~= Format("stateMask=0x{:x}{},", e.stateMask, stateMask (e.stateMask));
142 string ~= Format(" character=0x{:x} {}", e.character, character (e.character)); 150 string ~= Format(" keyCode=0x{:x} {},", e.keyCode, keyCode (e.keyCode));
143 Stdout.formatln (string); 151 string ~= Format(" character=0x{:x} {}", e.character, character (e.character));
152 Stdout.formatln (string);
153 } else { // Phobos
154 string ~= format("stateMask=0x%x%s,", e.stateMask, stateMask (e.stateMask));
155 string ~= format(" keyCode=0x%x %s,", e.keyCode, keyCode (e.keyCode));
156 string ~= format(" character=0x%x %s", e.character, character (e.character));
157 writefln (string);
158 }
144 } 159 }
145 }; 160 };
146 shell.addListener (SWT.KeyDown, listener); 161 shell.addListener (SWT.KeyDown, listener);
147 shell.addListener (SWT.KeyUp, listener); 162 shell.addListener (SWT.KeyUp, listener);
148 shell.setSize (200, 200); 163 shell.setSize (200, 200);