From 3bcb4a9850ac7ae81d5548d40c831f6699cdc866 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 31 Oct 2012 01:20:34 +0300 Subject: Simplify screen buttons handling. --- src/gui/windowmenu.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/gui/windowmenu.h') diff --git a/src/gui/windowmenu.h b/src/gui/windowmenu.h index fb5d3af10..1ee485a8d 100644 --- a/src/gui/windowmenu.h +++ b/src/gui/windowmenu.h @@ -37,6 +37,19 @@ #include class TextPopup; +class Window; + +struct ButtonInfo final +{ + ButtonInfo(Button *button0, Window *window0) : + button(button0), + window(window0) + { + } + + Button *button; + Window *window; +}; /** * The window menu. Allows showing and hiding many of the different windows @@ -65,7 +78,7 @@ class WindowMenu final : public Container, void mouseExited(gcn::MouseEvent& mouseEvent A_UNUSED) override; - std::map &getButtonNames() A_WARN_UNUSED + std::map &getButtonNames() A_WARN_UNUSED { return mButtonNames; } std::vector &getButtons() A_WARN_UNUSED @@ -86,13 +99,14 @@ class WindowMenu final : public Container, inline void addButton(const char *const text, const std::string &description, int &x, int &h, const int key, + Window *window, const bool visible = true); void updateButtons(); TextPopup *mTextPopup; std::vector mButtons; - std::map mButtonNames; + std::map mButtonNames; bool mHaveMouse; int mAutoHide; }; -- cgit v1.2.3-60-g2f50