comparison doodle/tk/events.d @ 101:523269b36711

Update to dmd 2.050
author David Bryant <bagnose@gmail.com>
date Thu, 28 Oct 2010 16:35:11 +1030
parents d92b9f04b1e8
children 7abaf5c3959f
comparison
equal deleted inserted replaced
100:a274d16ab6ce 101:523269b36711
5 import doodle.tk.screen_model; 5 import doodle.tk.screen_model;
6 import gtkc.gdktypes; 6 import gtkc.gdktypes;
7 } 7 }
8 8
9 private { 9 private {
10 import std.typecons; 10 import std.conv;
11 } 11 }
12 12
13 mixin(defineEnum!("ButtonAction", 13 enum ButtonAction { SINGLE_PRESS, DOUBLE_PRESS, TRIPLE_PRESS, RELEASE }
14 "SINGLE_PRESS", "DOUBLE_PRESS", "TRIPLE_PRESS", "RELEASE")); 14 enum ButtonName { LEFT, MIDDLE, RIGHT, FOUR, FIVE }
15 enum ScrollDirection { UP, DOWN, LEFT, RIGHT }
16 enum Modifier { SHIFT, CAPS_LOCK, CONTROL, ALT, NUM_LOCK, META, SCROLL_LOCK, LEFT_BUTTON, MIDDLE_BUTTON, RIGHT_BUTTON, UNUSED_BUTTON_1, UNUSED_BUTTON_2 }
15 17
16 mixin(defineEnum!("ButtonName", 18 // FIXME what to do about GRAB2/UNGRAB2
17 "LEFT", "MIDDLE", "RIGHT", "FOUR", "FIVE")); 19 enum CrossingMode { NORMAL, GRAB, UNGRAB, GRAB2, UNGRAB2, STATE_CHANGED }
18
19 mixin(defineEnum!("ScrollDirection",
20 "UP", "DOWN", "LEFT", "RIGHT"));
21
22 mixin(defineEnum!("Modifier",
23 "SHIFT", "CAPS_LOCK", "CONTROL", "ALT", "NUM_LOCK", "META",
24 "SCROLL_LOCK", "LEFT_BUTTON", "MIDDLE_BUTTON", "RIGHT_BUTTON",
25 "UNUSED_BUTTON_1", "UNUSED_BUTTON_2"));
26
27 mixin(defineEnum!("CrossingMode", // FIXME what to do about GRAB2/UNGRAB2
28 "NORMAL", "GRAB", "UNGRAB", "GRAB2", "UNGRAB2", "STATE_CHANGED"));
29 20
30 struct Mask { 21 struct Mask {
31 this(in Modifier[] modifiers) { 22 this(in Modifier[] modifiers) {
32 foreach (m; modifiers) { 23 foreach (m; modifiers) {
33 _bits |= 1 << m; 24 _bits |= 1 << m;
42 string s = ""; 33 string s = "";
43 34
44 for (int i = 0; i < _bits.sizeof * 8; ++i) { 35 for (int i = 0; i < _bits.sizeof * 8; ++i) {
45 if (_bits & (1 << i)) { 36 if (_bits & (1 << i)) {
46 if (s.length != 0) s ~= "|"; 37 if (s.length != 0) s ~= "|";
47 s ~= enumToString(cast(Modifier)i); 38 s ~= to!string(cast(Modifier)i);
48 } 39 }
49 } 40 }
50 41
51 return s; 42 return s;
52 } 43 }
83 74
84 string str() const { return _str; } 75 string str() const { return _str; }
85 uint value() const { return _value; } 76 uint value() const { return _value; }
86 77
87 override string toString() const { 78 override string toString() const {
88 return std.string.format("Key event: %s, %d, %s", _str, _value, _mask); 79 return std.string.format("Key event: %s, %d, %s",
80 _str, _value, _mask);
89 } 81 }
90 82
91 private { 83 private {
92 string _str; 84 string _str;
93 uint _value; 85 uint _value;
120 } 112 }
121 113
122 CrossingMode crossingMode() const { return _crossingMode; } 114 CrossingMode crossingMode() const { return _crossingMode; }
123 115
124 override string toString() const { 116 override string toString() const {
125 return std.string.format("Crossing event: %s, %s, %s, %s", enumToString(_crossingMode), screenPoint, modelPoint, mask); 117 return std.string.format("Crossing event: %s, %s, %s, %s",
118 to!string(_crossingMode), screenPoint, modelPoint, mask);
126 } 119 }
127 120
128 private { 121 private {
129 CrossingMode _crossingMode; 122 CrossingMode _crossingMode;
130 } 123 }
141 _buttonName = buttonName; 134 _buttonName = buttonName;
142 } 135 }
143 136
144 override string toString() const { 137 override string toString() const {
145 return std.string.format("Button event: %s, %s, %s, %s, %s", 138 return std.string.format("Button event: %s, %s, %s, %s, %s",
146 enumToString(_buttonAction), enumToString(_buttonName), 139 to!string(_buttonAction), to!string(_buttonName), _screenPoint, _modelPoint, _mask);
147 _screenPoint, _modelPoint, _mask);
148 } 140 }
149 141
150 ButtonAction buttonAction() const { return _buttonAction; } 142 ButtonAction buttonAction() const { return _buttonAction; }
151 ButtonName buttonName() const { return _buttonName; } 143 ButtonName buttonName() const { return _buttonName; }
152 144
178 _scrollDirection = scrollDirection; 170 _scrollDirection = scrollDirection;
179 } 171 }
180 172
181 override string toString() const { 173 override string toString() const {
182 return std.string.format("Scroll event: %s, %s, %s, %s", 174 return std.string.format("Scroll event: %s, %s, %s, %s",
183 enumToString(_scrollDirection), _screenPoint, _modelPoint, _mask); 175 to!string(_scrollDirection), _screenPoint, _modelPoint, _mask);
184 } 176 }
185 177
186 ScrollDirection scrollDirection() const { return _scrollDirection; } 178 ScrollDirection scrollDirection() const { return _scrollDirection; }
187 179
188 private { 180 private {