Use field width of 9 on sscanf (fixes cppcheck portability issues)
[supertux.git] / src / gui / menu_manager.hpp
index 643841b..2be6983 100644 (file)
 #ifndef HEADER_SUPERTUX_GUI_MENU_MANAGER_HPP
 #define HEADER_SUPERTUX_GUI_MENU_MANAGER_HPP
 
-#include <vector>
 #include <list>
 #include <memory>
+#include <vector>
 
 #include "SDL.h"
 
+class Dialog;
 class DrawingContext;
 class Menu;
 class MenuTransition;
@@ -34,12 +35,14 @@ private:
 public:
   static MenuManager& instance();
 
-public:
+private:
+  std::unique_ptr<Dialog> m_dialog;
+  bool m_has_next_dialog;
+  std::unique_ptr<Dialog> m_next_dialog;
+
   std::vector<std::unique_ptr<Menu> > m_menu_stack;
   std::unique_ptr<MenuTransition> m_transition;
 
-  friend class Menu;
-
 public:
   MenuManager();
   ~MenuManager();
@@ -50,6 +53,8 @@ public:
 
   void draw(DrawingContext& context);
 
+  void set_dialog(std::unique_ptr<Dialog> dialog);
+
   void set_menu(int id);
   void set_menu(std::unique_ptr<Menu> menu);
   void push_menu(int id);
@@ -64,7 +69,7 @@ public:
   }
 
 private:
-  Menu* current() const;
+  Menu* current_menu() const;
   void transition(Menu* from, Menu* to);
 
 private: