Differences From Artifact [b071b446f6e834b9]:
- File
src/gui.d
- 2012-07-15 02:11:16 - part of checkin [3a08e528e7] on branch trunk - Using razor. (user: kinaba) [annotate]
To Artifact [d4577900b4db97c1]:
- File
src/gui.d
- 2012-07-15 02:37:41 - part of checkin [c2c105fda0] on branch trunk - Support 'G' at any timing. (user: kinaba) [annotate]
- 2012-07-15 12:14:10 - part of checkin [e02668367d] on branch trunk - Revert redesign in the trunk. (user: kinaba) [annotate]
129 129
130 130 private:
131 131 void setup_keyhandling()
132 132 {
133 133 noMessageFilter();
134 134 this.keyDown ~= &my_keydown;
135 135 }
136 +
137 + void do_manual_command(char c)
138 + {
139 + solver.force(c);
140 + fn(c);
141 + }
136 142
137 143 void my_keydown(Control c, KeyEventArgs ev)
138 144 {
139 145 switch(ev.keyCode)
140 146 {
141 - case Keys.DOWN: fn('D'); break;
142 - case Keys.UP: fn('U'); break;
143 - case Keys.LEFT: fn('L'); break;
144 - case Keys.RIGHT: fn('R'); break;
145 - case Keys.W: fn('W'); break;
146 - case Keys.S: fn('S'); break;
147 - case Keys.A: fn('A'); break;
147 + case Keys.DOWN: do_manual_command('D'); break;
148 + case Keys.UP: do_manual_command('U'); break;
149 + case Keys.LEFT: do_manual_command('L'); break;
150 + case Keys.RIGHT: do_manual_command('R'); break;
151 + case Keys.W: do_manual_command('W'); break;
152 + case Keys.S: do_manual_command('S'); break;
153 + case Keys.A: do_manual_command('A'); break;
148 154 case Keys.G: fn(solver.single_step()); break;
149 155 default: break;
150 156 }
151 157 }
152 158
153 159 Solver solver;
154 160 }