3 Copyright (C) 2010-11 celeron55, Perttu Ahola <celeron55@gmail.com>
4 Copyright (C) 2011 Ciaran Gultnieks <ciaran@ciarang.com>
5 Copyright (C) 2011 teddydestodes <derkomtur@schattengang.net>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation; either version 2.1 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU Lesser General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #include "guiKeyChangeMenu.h"
24 #include "serialization.h"
27 #include <IGUICheckBox.h>
28 #include <IGUIEditBox.h>
29 #include <IGUIButton.h>
30 #include <IGUIStaticText.h>
36 GUI_ID_BACK_BUTTON = 101, GUI_ID_ABORT_BUTTON, GUI_ID_SCROLL_BAR,
38 GUI_ID_KEY_FORWARD_BUTTON,
39 GUI_ID_KEY_BACKWARD_BUTTON,
40 GUI_ID_KEY_LEFT_BUTTON,
41 GUI_ID_KEY_RIGHT_BUTTON,
42 GUI_ID_KEY_USE_BUTTON,
43 GUI_ID_KEY_FLY_BUTTON,
44 GUI_ID_KEY_FAST_BUTTON,
45 GUI_ID_KEY_JUMP_BUTTON,
46 GUI_ID_KEY_CHAT_BUTTON,
47 GUI_ID_KEY_CMD_BUTTON,
48 GUI_ID_KEY_CONSOLE_BUTTON,
49 GUI_ID_KEY_SNEAK_BUTTON,
50 GUI_ID_KEY_DROP_BUTTON,
51 GUI_ID_KEY_INVENTORY_BUTTON,
52 GUI_ID_KEY_DUMP_BUTTON,
53 GUI_ID_KEY_RANGE_BUTTON
56 GUIKeyChangeMenu::GUIKeyChangeMenu(gui::IGUIEnvironment* env,
57 gui::IGUIElement* parent, s32 id, IMenuManager *menumgr) :
58 GUIModalMenu(env, parent, id, menumgr)
64 GUIKeyChangeMenu::~GUIKeyChangeMenu()
69 void GUIKeyChangeMenu::removeChildren()
71 const core::list<gui::IGUIElement*> &children = getChildren();
72 core::list<gui::IGUIElement*> children_copy;
73 for (core::list<gui::IGUIElement*>::ConstIterator i = children.begin(); i
74 != children.end(); i++)
76 children_copy.push_back(*i);
78 for (core::list<gui::IGUIElement*>::Iterator i = children_copy.begin(); i
79 != children_copy.end(); i++)
85 void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
93 Calculate new sizes and positions
98 core::rect < s32 > rect(screensize.X / 2 - size.X / 2,
99 screensize.Y / 2 - size.Y / 2, screensize.X / 2 + size.X / 2,
100 screensize.Y / 2 + size.Y / 2);
103 recalculateAbsolutePosition(false);
108 core::rect < s32 > rect(0, 0, 600, 40);
109 rect += topleft + v2s32(25, 3);
110 //gui::IGUIStaticText *t =
111 Environment->addStaticText(wgettext("Keybindings. (If this menu screws up, remove stuff from minetest.conf)"),
112 rect, false, true, this, -1);
113 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
115 v2s32 offset(25, 60);
119 core::rect < s32 > rect(0, 0, 100, 20);
120 rect += topleft + v2s32(offset.X, offset.Y);
121 Environment->addStaticText(wgettext("Forward"),
122 rect, false, true, this, -1);
123 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
127 core::rect < s32 > rect(0, 0, 100, 30);
128 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
129 this->forward = Environment->addButton(rect, this,
130 GUI_ID_KEY_FORWARD_BUTTON,
131 wgettext(key_forward.name()));
134 offset += v2s32(0, 25);
136 core::rect < s32 > rect(0, 0, 100, 20);
137 rect += topleft + v2s32(offset.X, offset.Y);
138 Environment->addStaticText(wgettext("Backward"),
139 rect, false, true, this, -1);
140 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
144 core::rect < s32 > rect(0, 0, 100, 30);
145 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
146 this->backward = Environment->addButton(rect, this,
147 GUI_ID_KEY_BACKWARD_BUTTON,
148 wgettext(key_backward.name()));
150 offset += v2s32(0, 25);
152 core::rect < s32 > rect(0, 0, 100, 20);
153 rect += topleft + v2s32(offset.X, offset.Y);
154 Environment->addStaticText(wgettext("Left"),
155 rect, false, true, this, -1);
156 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
160 core::rect < s32 > rect(0, 0, 100, 30);
161 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
162 this->left = Environment->addButton(rect, this, GUI_ID_KEY_LEFT_BUTTON,
163 wgettext(key_left.name()));
165 offset += v2s32(0, 25);
167 core::rect < s32 > rect(0, 0, 100, 20);
168 rect += topleft + v2s32(offset.X, offset.Y);
169 Environment->addStaticText(wgettext("Right"),
170 rect, false, true, this, -1);
171 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
175 core::rect < s32 > rect(0, 0, 100, 30);
176 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
177 this->right = Environment->addButton(rect, this,
178 GUI_ID_KEY_RIGHT_BUTTON,
179 wgettext(key_right.name()));
181 offset += v2s32(0, 25);
183 core::rect < s32 > rect(0, 0, 100, 20);
184 rect += topleft + v2s32(offset.X, offset.Y);
185 Environment->addStaticText(wgettext("Use"),
186 rect, false, true, this, -1);
187 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
191 core::rect < s32 > rect(0, 0, 100, 30);
192 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
193 this->use = Environment->addButton(rect, this, GUI_ID_KEY_USE_BUTTON,
194 wgettext(key_use.name()));
196 offset += v2s32(0, 25);
198 core::rect < s32 > rect(0, 0, 100, 20);
199 rect += topleft + v2s32(offset.X, offset.Y);
200 Environment->addStaticText(wgettext("Sneak"),
201 rect, false, true, this, -1);
202 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
206 core::rect < s32 > rect(0, 0, 100, 30);
207 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
208 this->sneak = Environment->addButton(rect, this,
209 GUI_ID_KEY_SNEAK_BUTTON,
210 wgettext(key_sneak.name()));
212 offset += v2s32(0, 25);
214 core::rect < s32 > rect(0, 0, 100, 20);
215 rect += topleft + v2s32(offset.X, offset.Y);
216 Environment->addStaticText(wgettext("Jump"), rect, false, true, this, -1);
217 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
221 core::rect < s32 > rect(0, 0, 100, 30);
222 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
223 this->jump = Environment->addButton(rect, this, GUI_ID_KEY_JUMP_BUTTON,
224 wgettext(key_jump.name()));
227 offset += v2s32(0, 25);
229 core::rect < s32 > rect(0, 0, 100, 20);
230 rect += topleft + v2s32(offset.X, offset.Y);
231 Environment->addStaticText(wgettext("Drop"), rect, false, true, this, -1);
232 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
236 core::rect < s32 > rect(0, 0, 100, 30);
237 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
238 this->dropbtn = Environment->addButton(rect, this, GUI_ID_KEY_DROP_BUTTON,
239 wgettext(key_drop.name()));
242 offset += v2s32(0, 25);
244 core::rect < s32 > rect(0, 0, 100, 20);
245 rect += topleft + v2s32(offset.X, offset.Y);
246 Environment->addStaticText(wgettext("Inventory"),
247 rect, false, true, this, -1);
248 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
252 core::rect < s32 > rect(0, 0, 100, 30);
253 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
254 this->inventory = Environment->addButton(rect, this,
255 GUI_ID_KEY_INVENTORY_BUTTON,
256 wgettext(key_inventory.name()));
258 offset += v2s32(0, 25);
260 core::rect < s32 > rect(0, 0, 100, 20);
261 rect += topleft + v2s32(offset.X, offset.Y);
262 Environment->addStaticText(wgettext("Chat"), rect, false, true, this, -1);
263 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
267 core::rect < s32 > rect(0, 0, 100, 30);
268 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
269 this->chat = Environment->addButton(rect, this, GUI_ID_KEY_CHAT_BUTTON,
270 wgettext(key_chat.name()));
272 offset += v2s32(0, 25);
274 core::rect < s32 > rect(0, 0, 100, 20);
275 rect += topleft + v2s32(offset.X, offset.Y);
276 Environment->addStaticText(wgettext("Command"), rect, false, true, this, -1);
277 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
281 core::rect < s32 > rect(0, 0, 100, 30);
282 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
283 this->cmd = Environment->addButton(rect, this, GUI_ID_KEY_CMD_BUTTON,
284 wgettext(key_cmd.name()));
286 offset += v2s32(0, 25);
288 core::rect < s32 > rect(0, 0, 100, 20);
289 rect += topleft + v2s32(offset.X, offset.Y);
290 Environment->addStaticText(wgettext("Console"), rect, false, true, this, -1);
291 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
295 core::rect < s32 > rect(0, 0, 100, 30);
296 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
297 this->console = Environment->addButton(rect, this, GUI_ID_KEY_CONSOLE_BUTTON,
298 wgettext(key_console.name()));
302 offset = v2s32(250, 60);
304 core::rect < s32 > rect(0, 0, 100, 20);
305 rect += topleft + v2s32(offset.X, offset.Y);
306 Environment->addStaticText(wgettext("Toggle fly"),
307 rect, false, true, this, -1);
308 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
312 core::rect < s32 > rect(0, 0, 100, 30);
313 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
314 this->fly = Environment->addButton(rect, this, GUI_ID_KEY_FLY_BUTTON,
315 wgettext(key_fly.name()));
317 offset += v2s32(0, 25);
319 core::rect < s32 > rect(0, 0, 100, 20);
320 rect += topleft + v2s32(offset.X, offset.Y);
321 Environment->addStaticText(wgettext("Toggle fast"),
322 rect, false, true, this, -1);
323 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
327 core::rect < s32 > rect(0, 0, 100, 30);
328 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
329 this->fast = Environment->addButton(rect, this, GUI_ID_KEY_FAST_BUTTON,
330 wgettext(key_fast.name()));
332 offset += v2s32(0, 25);
334 core::rect < s32 > rect(0, 0, 100, 20);
335 rect += topleft + v2s32(offset.X, offset.Y);
336 Environment->addStaticText(wgettext("Range select"),
337 rect, false, true, this, -1);
338 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
342 core::rect < s32 > rect(0, 0, 100, 30);
343 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
344 this->range = Environment->addButton(rect, this,
345 GUI_ID_KEY_RANGE_BUTTON,
346 wgettext(key_range.name()));
349 offset += v2s32(0, 25);
351 core::rect < s32 > rect(0, 0, 100, 20);
352 rect += topleft + v2s32(offset.X, offset.Y);
353 Environment->addStaticText(wgettext("Print stacks"),
354 rect, false, true, this, -1);
355 //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
359 core::rect < s32 > rect(0, 0, 100, 30);
360 rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
361 this->dump = Environment->addButton(rect, this, GUI_ID_KEY_DUMP_BUTTON,
362 wgettext(key_dump.name()));
365 core::rect < s32 > rect(0, 0, 100, 30);
366 rect += topleft + v2s32(size.X - 100 - 20, size.Y - 40);
367 Environment->addButton(rect, this, GUI_ID_BACK_BUTTON,
371 core::rect < s32 > rect(0, 0, 100, 30);
372 rect += topleft + v2s32(size.X - 100 - 20 - 100 - 20, size.Y - 40);
373 Environment->addButton(rect, this, GUI_ID_ABORT_BUTTON,
379 void GUIKeyChangeMenu::drawMenu()
381 gui::IGUISkin* skin = Environment->getSkin();
384 video::IVideoDriver* driver = Environment->getVideoDriver();
386 video::SColor bgcolor(140, 0, 0, 0);
389 core::rect < s32 > rect(0, 0, 620, 620);
390 rect += AbsoluteRect.UpperLeftCorner;
391 driver->draw2DRectangle(bgcolor, rect, &AbsoluteClippingRect);
394 gui::IGUIElement::draw();
397 bool GUIKeyChangeMenu::acceptInput()
399 g_settings->set("keymap_forward", key_forward.sym());
400 g_settings->set("keymap_backward", key_backward.sym());
401 g_settings->set("keymap_left", key_left.sym());
402 g_settings->set("keymap_right", key_right.sym());
403 g_settings->set("keymap_jump", key_jump.sym());
404 g_settings->set("keymap_sneak", key_sneak.sym());
405 g_settings->set("keymap_drop", key_drop.sym());
406 g_settings->set("keymap_inventory", key_inventory.sym());
407 g_settings->set("keymap_chat", key_chat.sym());
408 g_settings->set("keymap_cmd", key_cmd.sym());
409 g_settings->set("keymap_console", key_console.sym());
410 g_settings->set("keymap_rangeselect", key_range.sym());
411 g_settings->set("keymap_freemove", key_fly.sym());
412 g_settings->set("keymap_fastmove", key_fast.sym());
413 g_settings->set("keymap_special1", key_use.sym());
414 g_settings->set("keymap_print_debug_stacks", key_dump.sym());
418 void GUIKeyChangeMenu::init_keys()
420 key_forward = getKeySetting("keymap_forward");
421 key_backward = getKeySetting("keymap_backward");
422 key_left = getKeySetting("keymap_left");
423 key_right = getKeySetting("keymap_right");
424 key_jump = getKeySetting("keymap_jump");
425 key_sneak = getKeySetting("keymap_sneak");
426 key_drop = getKeySetting("keymap_drop");
427 key_inventory = getKeySetting("keymap_inventory");
428 key_chat = getKeySetting("keymap_chat");
429 key_cmd = getKeySetting("keymap_cmd");
430 key_console = getKeySetting("keymap_console");
431 key_range = getKeySetting("keymap_rangeselect");
432 key_fly = getKeySetting("keymap_freemove");
433 key_fast = getKeySetting("keymap_fastmove");
434 key_use = getKeySetting("keymap_special1");
435 key_dump = getKeySetting("keymap_print_debug_stacks");
438 bool GUIKeyChangeMenu::resetMenu()
444 case GUI_ID_KEY_FORWARD_BUTTON:
445 this->forward->setText(
446 wgettext(key_forward.name()));
448 case GUI_ID_KEY_BACKWARD_BUTTON:
449 this->backward->setText(
450 wgettext(key_backward.name()));
452 case GUI_ID_KEY_LEFT_BUTTON:
453 this->left->setText(wgettext(key_left.name()));
455 case GUI_ID_KEY_RIGHT_BUTTON:
456 this->right->setText(wgettext(key_right.name()));
458 case GUI_ID_KEY_JUMP_BUTTON:
459 this->jump->setText(wgettext(key_jump.name()));
461 case GUI_ID_KEY_SNEAK_BUTTON:
462 this->sneak->setText(wgettext(key_sneak.name()));
464 case GUI_ID_KEY_DROP_BUTTON:
465 this->dropbtn->setText(wgettext(key_drop.name()));
467 case GUI_ID_KEY_INVENTORY_BUTTON:
468 this->inventory->setText(
469 wgettext(key_inventory.name()));
471 case GUI_ID_KEY_CHAT_BUTTON:
472 this->chat->setText(wgettext(key_chat.name()));
474 case GUI_ID_KEY_CMD_BUTTON:
475 this->cmd->setText(wgettext(key_cmd.name()));
477 case GUI_ID_KEY_CONSOLE_BUTTON:
478 this->console->setText(wgettext(key_console.name()));
480 case GUI_ID_KEY_RANGE_BUTTON:
481 this->range->setText(wgettext(key_range.name()));
483 case GUI_ID_KEY_FLY_BUTTON:
484 this->fly->setText(wgettext(key_fly.name()));
486 case GUI_ID_KEY_FAST_BUTTON:
487 this->fast->setText(wgettext(key_fast.name()));
489 case GUI_ID_KEY_USE_BUTTON:
490 this->use->setText(wgettext(key_use.name()));
492 case GUI_ID_KEY_DUMP_BUTTON:
493 this->dump->setText(wgettext(key_dump.name()));
501 bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
503 if (event.EventType == EET_KEY_INPUT_EVENT && activeKey >= 0
504 && event.KeyInput.PressedDown)
507 KeyPress kp(event.KeyInput);
509 if (activeKey == GUI_ID_KEY_FORWARD_BUTTON)
511 this->forward->setText(wgettext(kp.name()));
512 this->key_forward = kp;
514 else if (activeKey == GUI_ID_KEY_BACKWARD_BUTTON)
516 this->backward->setText(wgettext(kp.name()));
517 this->key_backward = kp;
519 else if (activeKey == GUI_ID_KEY_LEFT_BUTTON)
521 this->left->setText(wgettext(kp.name()));
524 else if (activeKey == GUI_ID_KEY_RIGHT_BUTTON)
526 this->right->setText(wgettext(kp.name()));
527 this->key_right = kp;
529 else if (activeKey == GUI_ID_KEY_JUMP_BUTTON)
531 this->jump->setText(wgettext(kp.name()));
534 else if (activeKey == GUI_ID_KEY_SNEAK_BUTTON)
536 this->sneak->setText(wgettext(kp.name()));
537 this->key_sneak = kp;
539 else if (activeKey == GUI_ID_KEY_DROP_BUTTON)
541 this->dropbtn->setText(wgettext(kp.name()));
544 else if (activeKey == GUI_ID_KEY_INVENTORY_BUTTON)
546 this->inventory->setText(wgettext(kp.name()));
547 this->key_inventory = kp;
549 else if (activeKey == GUI_ID_KEY_CHAT_BUTTON)
551 this->chat->setText(wgettext(kp.name()));
554 else if (activeKey == GUI_ID_KEY_CMD_BUTTON)
556 this->cmd->setText(wgettext(kp.name()));
559 else if (activeKey == GUI_ID_KEY_CONSOLE_BUTTON)
561 this->console->setText(wgettext(kp.name()));
562 this->key_console = kp;
564 else if (activeKey == GUI_ID_KEY_RANGE_BUTTON)
566 this->range->setText(wgettext(kp.name()));
567 this->key_range = kp;
569 else if (activeKey == GUI_ID_KEY_FLY_BUTTON)
571 this->fly->setText(wgettext(kp.name()));
574 else if (activeKey == GUI_ID_KEY_FAST_BUTTON)
576 this->fast->setText(wgettext(kp.name()));
579 else if (activeKey == GUI_ID_KEY_USE_BUTTON)
581 this->use->setText(wgettext(kp.name()));
584 else if (activeKey == GUI_ID_KEY_DUMP_BUTTON)
586 this->dump->setText(wgettext(kp.name()));
593 if (event.EventType == EET_GUI_EVENT)
595 if (event.GUIEvent.EventType == gui::EGET_ELEMENT_FOCUS_LOST
598 if (!canTakeFocus(event.GUIEvent.Element))
600 dstream << "GUIMainMenu: Not allowing focus change."
602 // Returning true disables focus change
606 if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED)
608 if(event.GUIEvent.Caller->getID() != GUI_ID_BACK_BUTTON &&
609 event.GUIEvent.Caller->getID() != GUI_ID_ABORT_BUTTON)
614 switch (event.GUIEvent.Caller->getID())
616 case GUI_ID_BACK_BUTTON: //back
620 case GUI_ID_ABORT_BUTTON: //abort
623 case GUI_ID_KEY_FORWARD_BUTTON:
625 activeKey = event.GUIEvent.Caller->getID();
626 this->forward->setText(wgettext("press Key"));
628 case GUI_ID_KEY_BACKWARD_BUTTON:
630 activeKey = event.GUIEvent.Caller->getID();
631 this->backward->setText(wgettext("press Key"));
633 case GUI_ID_KEY_LEFT_BUTTON:
635 activeKey = event.GUIEvent.Caller->getID();
636 this->left->setText(wgettext("press Key"));
638 case GUI_ID_KEY_RIGHT_BUTTON:
640 activeKey = event.GUIEvent.Caller->getID();
641 this->right->setText(wgettext("press Key"));
643 case GUI_ID_KEY_USE_BUTTON:
645 activeKey = event.GUIEvent.Caller->getID();
646 this->use->setText(wgettext("press Key"));
648 case GUI_ID_KEY_FLY_BUTTON:
650 activeKey = event.GUIEvent.Caller->getID();
651 this->fly->setText(wgettext("press Key"));
653 case GUI_ID_KEY_FAST_BUTTON:
655 activeKey = event.GUIEvent.Caller->getID();
656 this->fast->setText(wgettext("press Key"));
658 case GUI_ID_KEY_JUMP_BUTTON:
660 activeKey = event.GUIEvent.Caller->getID();
661 this->jump->setText(wgettext("press Key"));
663 case GUI_ID_KEY_DROP_BUTTON:
665 activeKey = event.GUIEvent.Caller->getID();
666 this->dropbtn->setText(wgettext("press Key"));
668 case GUI_ID_KEY_CHAT_BUTTON:
670 activeKey = event.GUIEvent.Caller->getID();
671 this->chat->setText(wgettext("press Key"));
673 case GUI_ID_KEY_CMD_BUTTON:
675 activeKey = event.GUIEvent.Caller->getID();
676 this->cmd->setText(wgettext("press Key"));
678 case GUI_ID_KEY_CONSOLE_BUTTON:
680 activeKey = event.GUIEvent.Caller->getID();
681 this->console->setText(wgettext("press Key"));
683 case GUI_ID_KEY_SNEAK_BUTTON:
685 activeKey = event.GUIEvent.Caller->getID();
686 this->sneak->setText(wgettext("press Key"));
688 case GUI_ID_KEY_INVENTORY_BUTTON:
690 activeKey = event.GUIEvent.Caller->getID();
691 this->inventory->setText(wgettext("press Key"));
693 case GUI_ID_KEY_DUMP_BUTTON:
695 activeKey = event.GUIEvent.Caller->getID();
696 this->dump->setText(wgettext("press Key"));
698 case GUI_ID_KEY_RANGE_BUTTON:
700 activeKey = event.GUIEvent.Caller->getID();
701 this->range->setText(wgettext("press Key"));
709 return Parent ? Parent->OnEvent(event) : false;