From 532faef82b20802502d54fabb7364c25eb7ac875 Mon Sep 17 00:00:00 2001 From: Stephen Kennedy Date: Wed, 13 Aug 2008 11:46:08 +0000 Subject: Keymapper WIP: * Improved automatic mapping algorithm * Remap dialog overhaul - now displays active keymap(s) svn-id: r33821 --- backends/keymapper/remap-dialog.h | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'backends/keymapper/remap-dialog.h') diff --git a/backends/keymapper/remap-dialog.h b/backends/keymapper/remap-dialog.h index e1ca809e97..839455e74e 100644 --- a/backends/keymapper/remap-dialog.h +++ b/backends/keymapper/remap-dialog.h @@ -41,44 +41,42 @@ public: virtual ~RemapDialog(); virtual void open(); virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data); - virtual void handleKeyDown(Common::KeyState state); + virtual void handleKeyUp(Common::KeyState state); protected: - struct Mapping { - Action *action; + struct ActionWidgets { GUI::StaticTextWidget *actionText; GUI::ButtonWidget *keyButton; }; + struct ActionInfo { + Action *action; + bool inherited; + String description; + }; void loadKeymap(); void refreshKeymap(); - void setupWidgets(uint num); - void startRemapping(Mapping *remap); + void setupWidgets(); + void startRemapping(uint i); void stopRemapping(); Keymapper *_keymapper; Stack *_activeKeymaps; - KeymapManager::Domain *_globalKeymaps; - KeymapManager::Domain *_gameKeymaps; + Keymap** _keymapTable; - List *_currentActions; - List::iterator _topAction; - uint _topRow; + Array _currentActions; + int _topAction; Rect _keymapArea; GUI::PopUpWidget *_kmPopUp; - Keymap** _keymapTable; - + //GUI::ContainerWidget *_container; GUI::ScrollBarWidget *_scrollBar; - uint _colWidth; uint _colCount, _rowCount; - uint _spacing; - uint _buttonHeight; - Mapping *_activeRemap; - Array _keymapMappings; + Array _keymapWidgets; + Action *_activeRemapAction; }; -- cgit v1.2.3