+// variables
+/* leveleditor internals */
+string_list_type level_subsets;
+bool le_level_changed; /* if changes, ask for saving, when quiting*/
+bool show_minimap;
+bool show_selections;
+bool le_help_shown;
+int pos_x, pos_y, cursor_x, cursor_y;
+int le_levelnb;
+Level* le_level;
+LevelSubset* le_level_subset;
+int le_show_grid;
+int le_frame;
+Surface* le_selection;
+int done;
+TileOrObject le_current;
+bool le_mouse_pressed[2];
+bool le_mouse_clicked[2];
+Button* le_save_level_bt;
+Button* le_exit_bt;
+Button* le_test_level_bt;
+Button* le_next_level_bt;
+Button* le_previous_level_bt;
+Button* le_move_right_bt;
+Button* le_move_left_bt;
+Button* le_move_up_bt;
+Button* le_move_down_bt;
+Button* le_rubber_bt;
+Button* le_select_mode_one_bt;
+Button* le_select_mode_two_bt;
+Button* le_settings_bt;
+Button* le_tilegroup_bt;
+Button* le_objects_bt;
+Button* le_object_select_bt;
+Button* le_object_properties_bt;
+ButtonPanel* le_tilemap_panel;
+int active_tm;
+Menu* leveleditor_menu;
+Menu* subset_load_menu;
+Menu* subset_new_menu;
+Menu* subset_settings_menu;
+Menu* level_settings_menu;
+Menu* select_tilegroup_menu;
+Menu* select_objects_menu;
+Timer select_tilegroup_menu_effect;
+Timer select_objects_menu_effect;
+Timer display_level_info;
+typedef std::map<std::string, ButtonPanel*> ButtonPanelMap;
+ButtonPanelMap tilegroups_map;
+ButtonPanelMap objects_map;
+std::string cur_tilegroup;
+std::string cur_objects;
+MouseCursor* mouse_select_object;
+MovingObject* selected_game_object;
+
+square selection;
+SelectionMode le_selection_mode;
+SDL_Event event;
+};