Fix for coverity #29369
[supertux.git] / src / gui / menu.hpp
index 6ff1ed7..8fc4ad5 100644 (file)
 class DrawingContext;
 class MenuItem;
 
-bool confirm_dialog(Surface* background, std::string text);
-
 class Menu
 {
-  static Color default_color;
-  static Color active_color;
-  static Color inactive_color;
-  static Color label_color;
-  static Color field_color;
-
 private:
   /* Action done on the menu */
   enum MenuAction {
@@ -67,7 +59,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 +69,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 +95,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<MenuItem> 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;