Prevent "Return to Level Editor" from working, if no levelsubset is loaded. This...
[supertux.git] / src / menu.h
index 60d6205..641b68d 100644 (file)
@@ -53,7 +53,6 @@ enum GameMenuIDs {
 
 enum WorldMapMenuIDs {
   MNID_RETURNWORLDMAP,
-  MNID_SAVEGAME,
   MNID_QUITWORLDMAP
   };
 
@@ -62,8 +61,34 @@ enum LevelEditorMainMenuIDs {
   MNID_SUBSETSETTINGS,
   MNID_QUITLEVELEDITOR
   };
+  
+enum LevelEditorSubsetSettingsIDs {
+  MNID_SUBSETTITLE,
+  MNID_SUBSETDESCRIPTION,
+  MNID_SUBSETSAVECHANGES
+  };
+  
+enum LevelEditorSubsetNewIDs {
+ MNID_SUBSETNAME,
+ MNID_CREATESUBSET
+};
 
 enum LevelEditorSettingsMenuIDs {
+  MNID_NAME,
+  MNID_AUTHOR,
+  MNID_SONG,
+  MNID_BGIMG,
+  MNID_PARTICLE,
+  MNID_LENGTH,
+  MNID_TIME,
+  MNID_GRAVITY,
+  MNID_BGSPEED,
+  MNID_TopRed,
+  MNID_TopGreen,
+  MNID_TopBlue,
+  MNID_BottomRed,
+  MNID_BottomGreen,
+  MNID_BottomBlue,
   MNID_APPLY
   };
 
@@ -102,6 +127,11 @@ public:
   void change_input(const char *text);
 
   static MenuItem* create(MenuItemKind kind, const char *text, int init_toggle, Menu* target_menu, int id, int* int_p);
+
+  std::string get_input_with_symbol(bool active_item);   // returns the text with an input symbol
+private:
+  bool input_flickering;
+  Timer input_flickering_timer;
 };
 
 class Menu
@@ -173,6 +203,8 @@ public:
   MenuItem& get_item(int index) { return item[index]; }
   MenuItem& get_item_by_id(int id);
 
+  int get_active_item_id();
+
   bool isToggled(int id);
 
   void Menu::get_controlfield_key_into_input(MenuItem *item);