X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fgui%2Fmenu.hpp;h=5ecd3f877cd7208328ffc6f54b504805b3097d1a;hb=370daa152883377f23c9f80fa95e2faaf6531e5c;hp=6ff1ed736dd191226148ce5a325ddcaaddbda92b;hpb=fb7ec3e0b1fefa5d88bd1a4c8b81a3b71a72c1fd;p=supertux.git diff --git a/src/gui/menu.hpp b/src/gui/menu.hpp index 6ff1ed736..5ecd3f877 100644 --- a/src/gui/menu.hpp +++ b/src/gui/menu.hpp @@ -28,8 +28,6 @@ class DrawingContext; class MenuItem; -bool confirm_dialog(Surface* background, std::string text); - class Menu { static Color default_color; @@ -67,7 +65,7 @@ public: const std::string& mapping = ""); MenuItem* add_string_select(int id, const std::string& text); - virtual void menu_action(MenuItem* item); + virtual void menu_action(MenuItem* item) = 0; void process_input(); @@ -77,8 +75,6 @@ public: /** Remove all entries from the menu */ void clear(); - virtual void check_menu() =0; - MenuItem& get_item(int index) { return *(items[index]); @@ -105,27 +101,17 @@ public: virtual void on_window_resize(); protected: - /** Return the index of the menu item that was 'hit' (ie. the user - clicked on it) in the last event() call */ - int check (); - MenuItem* add_item(std::unique_ptr menu_item); private: + void process_action(MenuAction menuaction); void check_controlfield_change_event(const SDL_Event& event); void draw_item(DrawingContext& context, int index); private: - /** Number of the item that got 'hit' (ie. pressed) in the last - event()/update() call, -1 if none */ - int hit_item; - // position of the menu (ie. center of the menu, not top/left) Vector pos; - /** input event for the menu (up, down, left, right, etc.) */ - MenuAction menuaction; - /* input implementation variables */ int delete_character; char mn_input_char;