Make key handler map a multimap to be able to support multiple handlers for the same key

This commit is contained in:
Jan 2023-08-23 23:07:55 +02:00
parent fc57032937
commit ccc020ca7e
4 changed files with 4 additions and 4 deletions

View File

@ -661,7 +661,7 @@ namespace IW4
return outputSet; return outputSet;
} }
_NODISCARD ItemKeyHandler* ConvertKeyHandler(const std::map<int, std::unique_ptr<CommonEventHandlerSet>>& keyHandlers, const CommonMenuDef* menu, const CommonItemDef* item = nullptr) const _NODISCARD ItemKeyHandler* ConvertKeyHandler(const std::multimap<int, std::unique_ptr<CommonEventHandlerSet>>& keyHandlers, const CommonMenuDef* menu, const CommonItemDef* item = nullptr) const
{ {
if (keyHandlers.empty()) if (keyHandlers.empty())
return nullptr; return nullptr;

View File

@ -663,7 +663,7 @@ namespace IW5
return outputSet; return outputSet;
} }
_NODISCARD ItemKeyHandler* ConvertKeyHandler(const std::map<int, std::unique_ptr<CommonEventHandlerSet>>& keyHandlers, const CommonMenuDef* menu, const CommonItemDef* item = nullptr) const _NODISCARD ItemKeyHandler* ConvertKeyHandler(const std::multimap<int, std::unique_ptr<CommonEventHandlerSet>>& keyHandlers, const CommonMenuDef* menu, const CommonItemDef* item = nullptr) const
{ {
if (keyHandlers.empty()) if (keyHandlers.empty())
return nullptr; return nullptr;

View File

@ -152,7 +152,7 @@ namespace menu
std::unique_ptr<CommonEventHandlerSet> m_on_mouse_exit_text; std::unique_ptr<CommonEventHandlerSet> m_on_mouse_exit_text;
std::unique_ptr<CommonEventHandlerSet> m_on_action; std::unique_ptr<CommonEventHandlerSet> m_on_action;
std::unique_ptr<CommonEventHandlerSet> m_on_accept; std::unique_ptr<CommonEventHandlerSet> m_on_accept;
std::map<int, std::unique_ptr<CommonEventHandlerSet>> m_key_handlers; std::multimap<int, std::unique_ptr<CommonEventHandlerSet>> m_key_handlers;
std::unique_ptr<CommonItemFeaturesListBox> m_list_box_features; std::unique_ptr<CommonItemFeaturesListBox> m_list_box_features;
std::unique_ptr<CommonItemFeaturesEditField> m_edit_field_features; std::unique_ptr<CommonItemFeaturesEditField> m_edit_field_features;

View File

@ -46,7 +46,7 @@ namespace menu
std::unique_ptr<CommonEventHandlerSet> m_on_close; std::unique_ptr<CommonEventHandlerSet> m_on_close;
std::unique_ptr<CommonEventHandlerSet> m_on_request_close; std::unique_ptr<CommonEventHandlerSet> m_on_request_close;
std::unique_ptr<CommonEventHandlerSet> m_on_esc; std::unique_ptr<CommonEventHandlerSet> m_on_esc;
std::map<int, std::unique_ptr<CommonEventHandlerSet>> m_key_handlers; std::multimap<int, std::unique_ptr<CommonEventHandlerSet>> m_key_handlers;
bool m_full_screen = false; bool m_full_screen = false;
bool m_screen_space = false; bool m_screen_space = false;