#include <context_manager.hpp>
Public Types | |
using | context_ptr = std::unique_ptr< map_context > |
Public Member Functions | |
context_manager (editor_display &gui, const game_config_view &game_config) | |
~context_manager () | |
bool | is_active_transitions_hotkey (const std::string &item) |
std::size_t | modified_maps (std::string &modified) |
void | set_update_transitions_mode (int mode) |
bool | toggle_update_transitions () |
bool | clipboard_empty () |
map_fragment & | get_clipboard () |
void | fill_selection () |
Fill the selection with the foreground terrain. More... | |
int | current_context_index () |
Index into the map_contexts_ array. More... | |
std::size_t | open_maps (void) |
void | perform_refresh (const editor_action &action, bool drag_part=false) |
Perform an action on the current map_context, then refresh the display. More... | |
void | save_all_maps (bool auto_save_windows=false) |
Save all maps, open dialog if not named yet, except when using auto_save_windows which will name unnamed maps "windows_N". More... | |
void | save_map () |
Save the map, open dialog if not named yet. More... | |
editor_display & | gui () |
void | refresh_all () |
Refresh everything, i.e. More... | |
void | apply_mask_dialog () |
Display an apply mask dialog and process user input. More... | |
void | create_mask_to_dialog () |
Display an apply mask dialog and process user input. More... | |
void | rename_area_dialog () |
Display an dialog to querry a new id for an [time_area]. More... | |
void | expand_open_maps_menu (std::vector< config > &items, int i) |
Menu expanding for open maps list. More... | |
void | expand_load_mru_menu (std::vector< config > &items, int i) |
Menu expanding for most recent loaded list. More... | |
void | expand_sides_menu (std::vector< config > &items, int i) |
Menu expanding for the map's player sides. More... | |
void | expand_areas_menu (std::vector< config > &items, int i) |
Menu expanding for the map's defined areas. More... | |
void | expand_time_menu (std::vector< config > &items, int i) |
Menu expanding for the map's defined areas. More... | |
void | expand_local_time_menu (std::vector< config > &items, int i) |
Menu expanding for the map's defined areas. More... | |
void | load_map_dialog (bool force_same_context=false) |
Display a load map dialog and process user input. More... | |
void | load_mru_item (unsigned index, bool force_same_context=false) |
Open the specified entry from the recent files list. More... | |
void | edit_scenario_dialog () |
Display a scenario edit dialog and process user input. More... | |
void | edit_side_dialog (int side_index) |
Display a side edit dialog and process user input. More... | |
void | new_map_dialog () |
Display a new map dialog and process user input. More... | |
void | new_scenario_dialog () |
Display a new map dialog and process user input. More... | |
void | save_map_as_dialog () |
Display a save map as dialog and process user input. More... | |
void | save_scenario_as_dialog () |
Display a save map as dialog and process user input. More... | |
void | generate_map_dialog () |
Display a generate random map dialog and process user input. More... | |
void | resize_map_dialog () |
Display a load map dialog and process user input. More... | |
std::size_t | size () |
map_context & | get_map_context () |
Get the current map context object. More... | |
void | set_default_dir (const std::string &str) |
Set the default dir (where the filebrowser is pointing at when there is no map file opened) More... | |
virtual const display_context & | get_disp_context () const override |
Inherited from filter_context. More... | |
virtual const tod_manager & | get_tod_man () const override |
Inherited from filter_context. More... | |
virtual const game_data * | get_game_data () const override |
Inherited from filter_context. More... | |
virtual game_lua_kernel * | get_lua_kernel () const override |
Inherited from filter_context. More... | |
void | refresh_after_action (bool drag_part=false) |
Refresh the display after an action has been performed. More... | |
void | close_current_context () |
Closes the active map context. More... | |
void | switch_context (const int index, const bool force=false) |
Switches the context to the one under the specified index. More... | |
void | load_map (const std::string &filename, bool new_context) |
Load a map given the filename. More... | |
void | revert_map () |
Revert the map by reloading it from disk. More... | |
void | reload_map () |
Reload the map after it has significantly changed (when e.g. More... | |
![]() | |
virtual | ~filter_context () |
Public Attributes | |
class location_palette * | locs_ |
Private Member Functions | |
void | init_map_generators (const game_config_view &game_config) |
init available random map generators More... | |
bool | confirm_discard () |
Shows an are-you-sure dialog if the map was modified. More... | |
const map_context & | get_map_context () const |
Get the current map context object - const version. More... | |
template<typename... T> | |
int | add_map_context (const T &... args) |
Add a map context. More... | |
int | add_map_context_of (context_ptr &&mc) |
template<typename... T> | |
void | replace_map_context (const T &... args) |
Replace the current map context and refresh accordingly. More... | |
void | replace_map_context_with (context_ptr &&mc) |
void | create_default_context () |
Creates a default map context object, used to ensure there is always at least one. More... | |
void | refresh_on_context_change () |
Performs the necessary housekeeping necessary when switching contexts. More... | |
bool | save_map_as (const std::string &filename) |
Save the map under a given filename. More... | |
bool | save_scenario_as (const std::string &filename) |
bool | write_map (bool display_confirmation=false) |
Save the map under a given filename. More... | |
bool | write_scenario (bool display_confirmation=false) |
void | new_map (int width, int height, const t_translation::terrain_code &fill, bool new_context) |
Create a new map. More... | |
void | new_scenario (int width, int height, const t_translation::terrain_code &fill, bool new_context) |
Create a new scenario. More... | |
std::size_t | check_open_map (const std::string &fn) const |
Check if a map is already open. More... | |
bool | check_switch_open_map (const std::string &fn) |
Check if a map is already open. More... | |
void | set_window_title () |
Displays the specified map name in the window titlebar. More... | |
Private Attributes | |
editor_display & | gui_ |
const game_config_view & | game_config_ |
std::string | default_dir_ |
Default directory for map load/save as dialogs. More... | |
std::vector< std::unique_ptr< map_generator > > | map_generators_ |
Available random map generators. More... | |
map_generator * | last_map_generator_ |
int | current_context_index_ |
int | auto_update_transitions_ |
Flag to rebuild terrain on every terrain change. More... | |
std::vector< context_ptr > | map_contexts_ |
The currently opened map context object. More... | |
map_fragment | clipboard_ |
Clipboard map_fragment – used for copy-paste. More... | |
Definition at line 29 of file context_manager.hpp.
using editor::context_manager::context_ptr = std::unique_ptr<map_context> |
Definition at line 32 of file context_manager.hpp.
editor::context_manager::context_manager | ( | editor_display & | gui, |
const game_config_view & | game_config | ||
) |
Definition at line 70 of file context_manager.cpp.
References create_default_context(), default_dir_, resources::filter_con, filesystem::get_dir(), filesystem::get_user_data_dir(), and init_map_generators().
editor::context_manager::~context_manager | ( | ) |
Definition at line 92 of file context_manager.cpp.
References resources::filter_con, game_config::get_default_title_string(), and video::set_window_title().
|
private |
Add a map context.
The controller assumes ownership.
Definition at line 991 of file context_manager.cpp.
References map_contexts_.
Referenced by create_default_context(), get_map_context(), new_map(), and new_scenario().
|
private |
Definition at line 997 of file context_manager.cpp.
References map_contexts_.
Referenced by get_map_context(), and load_map().
void editor::context_manager::apply_mask_dialog | ( | ) |
Display an apply mask dialog and process user input.
Definition at line 464 of file context_manager.cpp.
References _(), a, default_dir_, e, game_config_, editor::map_context::get_filename(), get_map_context(), gui2::dialogs::file_dialog::path(), perform_refresh(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_title(), gui2::dialogs::modal_dialog::show(), gui2::show_error_message(), gui2::show_transient_message(), and game::error::what().
Referenced by gui().
|
private |
Check if a map is already open.
Definition at line 866 of file context_manager.cpp.
References i, and map_contexts_.
Referenced by check_switch_open_map(), get_map_context(), save_map_as(), and save_scenario_as().
|
private |
Check if a map is already open.
If yes, switch to it and return true, return false otherwise.
Definition at line 876 of file context_manager.cpp.
References _(), check_open_map(), i, map_contexts_, gui2::show_transient_message(), and switch_context().
Referenced by get_map_context(), and load_map().
|
inline |
Definition at line 49 of file context_manager.hpp.
References clipboard_, and editor::map_fragment::empty().
void editor::context_manager::close_current_context | ( | ) |
Closes the active map context.
Switches to a valid context afterward or creates a dummy one.
Definition at line 1033 of file context_manager.cpp.
References confirm_discard(), create_default_context(), current_context_index_, map_contexts_, and refresh_on_context_change().
Referenced by get_map_context().
|
private |
Shows an are-you-sure dialog if the map was modified.
Definition at line 734 of file context_manager.cpp.
References _(), gui2::CANCEL, get_map_context(), gui2::show_message(), and gui2::dialogs::message::yes_no_buttons.
Referenced by close_current_context(), and revert_map().
|
private |
Creates a default map context object, used to ensure there is always at least one.
Except when we saved windows, in which case reopen them
Definition at line 1016 of file context_manager.cpp.
References add_map_context(), game_config::default_terrain, game_config_view::find_child(), game_config_, and t_translation::read_terrain_code().
Referenced by close_current_context(), context_manager(), and get_map_context().
void editor::context_manager::create_mask_to_dialog | ( | ) |
Display an apply mask dialog and process user input.
Definition at line 507 of file context_manager.cpp.
References _(), a, default_dir_, e, game_config_, editor::map_context::get_filename(), get_map_context(), gui2::dialogs::file_dialog::path(), perform_refresh(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_title(), gui2::dialogs::modal_dialog::show(), gui2::show_error_message(), gui2::show_transient_message(), and game::error::what().
Referenced by gui().
|
inline |
Index into the map_contexts_ array.
Definition at line 63 of file context_manager.hpp.
References current_context_index_.
void editor::context_manager::edit_scenario_dialog | ( | ) |
Display a scenario edit dialog and process user input.
Definition at line 240 of file context_manager.cpp.
References editor::map_context::get_description(), editor::map_context::get_id(), get_map_context(), editor::map_context::get_name(), editor::map_context::get_time_manager(), editor::map_context::get_xp_mod(), tod_manager::number_of_turns(), editor::map_context::random_start_time(), editor::map_context::set_scenario_setup(), set_window_title(), preferences::turns(), and editor::map_context::victory_defeated().
Referenced by gui().
void editor::context_manager::edit_side_dialog | ( | int | side_index | ) |
Display a side edit dialog and process user input.
Definition at line 229 of file context_manager.cpp.
References get_map_context(), editor::map_context::set_side_setup(), t, and editor::map_context::teams().
Referenced by gui().
void editor::context_manager::expand_areas_menu | ( | std::vector< config > & | items, |
int | i | ||
) |
Menu expanding for the map's defined areas.
Definition at line 367 of file context_manager.cpp.
References _(), editor::map_context::get_active_area(), tod_manager::get_area_by_index(), tod_manager::get_area_ids(), get_map_context(), editor::get_menu_marker(), editor::map_context::get_time_manager(), i, label, editor::map_context::map(), and editor::editor_map::selection().
Referenced by gui().
void editor::context_manager::expand_load_mru_menu | ( | std::vector< config > & | items, |
int | i | ||
) |
Menu expanding for most recent loaded list.
Definition at line 341 of file context_manager.cpp.
References _(), filesystem::base_name(), i, game_config::path, and preferences::editor::recent_files().
Referenced by gui().
void editor::context_manager::expand_local_time_menu | ( | std::vector< config > & | items, |
int | i | ||
) |
Menu expanding for the map's defined areas.
Definition at line 447 of file context_manager.cpp.
References get_map_context(), editor::map_context::get_time_manager(), i, and tod_manager::times().
Referenced by gui().
void editor::context_manager::expand_open_maps_menu | ( | std::vector< config > & | items, |
int | i | ||
) |
Menu expanding for open maps list.
Definition at line 298 of file context_manager.cpp.
References filesystem::base_name(), editor::map_context::get_default_context_name(), editor::map_context::get_filename(), editor::get_menu_marker(), editor::map_context::get_name(), i, editor::map_context::is_embedded(), editor::map_context::is_pure_map(), label, map_contexts_, and editor::map_context::modified().
Referenced by gui().
void editor::context_manager::expand_sides_menu | ( | std::vector< config > & | items, |
int | i | ||
) |
Menu expanding for the map's player sides.
Definition at line 404 of file context_manager.cpp.
References _(), get_map_context(), i, label, t, editor::map_context::teams(), and team::user_team_name().
Referenced by gui().
void editor::context_manager::expand_time_menu | ( | std::vector< config > & | items, |
int | i | ||
) |
Menu expanding for the map's defined areas.
Definition at line 428 of file context_manager.cpp.
References get_map_context(), editor::map_context::get_time_manager(), i, and tod_manager::times().
Referenced by gui().
void editor::context_manager::fill_selection | ( | ) |
Fill the selection with the foreground terrain.
Definition at line 745 of file context_manager.cpp.
References get_map_context(), editor::get_selected_bg_terrain(), and perform_refresh().
Referenced by get_clipboard().
void editor::context_manager::generate_map_dialog | ( | ) |
Display a generate random map dialog and process user input.
Definition at line 701 of file context_manager.cpp.
References _(), a, map_generator::create_map(), e, get_map_context(), gui2::dialogs::editor_generate_map::get_seed(), gui2::dialogs::editor_generate_map::get_selected_map_generator(), last_map_generator_, map_generators_, new_map(), perform_refresh(), gui2::dialogs::editor_generate_map::select_map_generator(), editor::map_context::set_needs_labels_reset(), gui2::dialogs::modal_dialog::show(), gui2::show_error_message(), gui2::show_transient_message(), and game::error::what().
Referenced by gui().
|
inline |
Definition at line 54 of file context_manager.hpp.
References clipboard_, and fill_selection().
Referenced by editor::editor_toolkit::init_mouse_actions().
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 173 of file context_manager.hpp.
References get_map_context().
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 185 of file context_manager.hpp.
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 191 of file context_manager.hpp.
|
inline |
Get the current map context object.
Definition at line 161 of file context_manager.hpp.
References current_context_index_, and map_contexts_.
Referenced by apply_mask_dialog(), confirm_discard(), create_mask_to_dialog(), edit_scenario_dialog(), edit_side_dialog(), expand_areas_menu(), expand_local_time_menu(), expand_sides_menu(), expand_time_menu(), fill_selection(), generate_map_dialog(), get_disp_context(), get_tod_man(), load_map(), load_map_dialog(), new_map_dialog(), new_scenario(), new_scenario_dialog(), perform_refresh(), refresh_after_action(), refresh_all(), refresh_on_context_change(), reload_map(), rename_area_dialog(), resize_map_dialog(), revert_map(), save_all_maps(), save_map(), save_map_as(), save_map_as_dialog(), save_scenario_as(), save_scenario_as_dialog(), set_window_title(), switch_context(), write_map(), and write_scenario().
|
inlineprivate |
Get the current map context object - const version.
Definition at line 209 of file context_manager.hpp.
References add_map_context(), add_map_context_of(), check_open_map(), check_switch_open_map(), close_current_context(), create_default_context(), current_context_index_, draw::fill(), load_map(), map_contexts_, new_map(), new_scenario(), refresh_after_action(), refresh_on_context_change(), reload_map(), replace_map_context(), replace_map_context_with(), revert_map(), save_map_as(), save_scenario_as(), set_window_title(), switch_context(), write_map(), and write_scenario().
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 179 of file context_manager.hpp.
References get_map_context(), and editor::map_context::get_time_manager().
|
inline |
Definition at line 88 of file context_manager.hpp.
References apply_mask_dialog(), create_mask_to_dialog(), edit_scenario_dialog(), edit_side_dialog(), expand_areas_menu(), expand_load_mru_menu(), expand_local_time_menu(), expand_open_maps_menu(), expand_sides_menu(), expand_time_menu(), generate_map_dialog(), gui_, i, utf8::index(), mp::ui_alerts::items, load_map_dialog(), load_mru_item(), new_map_dialog(), new_scenario_dialog(), refresh_all(), rename_area_dialog(), resize_map_dialog(), save_map_as_dialog(), and save_scenario_as_dialog().
Referenced by new_scenario(), and refresh_on_context_change().
|
private |
init available random map generators
Definition at line 684 of file context_manager.cpp.
References game_config_view::child_range(), create_map_generator(), ERR_ED, i, and map_generators_.
Referenced by context_manager().
bool editor::context_manager::is_active_transitions_hotkey | ( | const std::string & | item | ) |
Definition at line 154 of file context_manager.cpp.
References auto_update_transitions_, preferences::editor::TRANSITION_UPDATE_OFF, preferences::editor::TRANSITION_UPDATE_ON, and preferences::editor::TRANSITION_UPDATE_PARTIAL.
void editor::context_manager::load_map | ( | const std::string & | filename, |
bool | new_context | ||
) |
Load a map given the filename.
Definition at line 888 of file context_manager.cpp.
References _(), add_map_context_of(), check_switch_open_map(), e, ERR_ED, game_config_, get_filename(), editor::map_context::get_filename(), get_map_context(), editor::map_context::get_map_data_key(), LOG_ED, wfl::msg(), replace_map_context_with(), gui2::show_transient_message(), switch_context(), VGETTEXT, and game::error::what().
Referenced by get_map_context(), load_map_dialog(), load_mru_item(), and revert_map().
void editor::context_manager::load_map_dialog | ( | bool | force_same_context = false | ) |
Display a load map dialog and process user input.
Definition at line 202 of file context_manager.cpp.
References _(), default_dir_, filesystem::directory_name(), get_filename(), get_map_context(), load_map(), gui2::dialogs::file_dialog::path(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_title(), and gui2::dialogs::modal_dialog::show().
Referenced by gui().
void editor::context_manager::load_mru_item | ( | unsigned | index, |
bool | force_same_context = false |
||
) |
Open the specified entry from the recent files list.
Definition at line 219 of file context_manager.cpp.
References load_map(), and preferences::editor::recent_files().
Referenced by gui().
std::size_t editor::context_manager::modified_maps | ( | std::string & | modified | ) |
Definition at line 180 of file context_manager.cpp.
References map_contexts_, and font::unicode_bullet.
|
private |
Create a new map.
Definition at line 954 of file context_manager.cpp.
References add_map_context(), game_config_view::find_child(), game_config_, replace_map_context(), and switch_context().
Referenced by generate_map_dialog(), get_map_context(), and new_map_dialog().
void editor::context_manager::new_map_dialog | ( | ) |
Display a new map dialog and process user input.
Definition at line 272 of file context_manager.cpp.
References _(), draw::fill(), get_map_context(), editor::get_selected_bg_terrain(), gamemap_base::h(), h, editor::map_context::map(), new_map(), gamemap_base::w(), and w.
Referenced by gui().
|
private |
Create a new scenario.
Definition at line 967 of file context_manager.cpp.
References add_map_context(), game_config_view::find_child(), game_config_, get_map_context(), gui(), gui_, display::init_flags(), editor::map_context::new_side(), replace_map_context(), display::set_playing_team(), display::set_team(), and switch_context().
Referenced by get_map_context(), and new_scenario_dialog().
void editor::context_manager::new_scenario_dialog | ( | ) |
Display a new map dialog and process user input.
Definition at line 285 of file context_manager.cpp.
References _(), draw::fill(), get_map_context(), editor::get_selected_bg_terrain(), gamemap_base::h(), h, editor::map_context::map(), new_scenario(), gamemap_base::w(), and w.
Referenced by gui().
|
inline |
Definition at line 68 of file context_manager.hpp.
References map_contexts_, perform_refresh(), save_all_maps(), and save_map().
void editor::context_manager::perform_refresh | ( | const editor_action & | action, |
bool | drag_part = false |
||
) |
Perform an action on the current map_context, then refresh the display.
Definition at line 491 of file context_manager.cpp.
References get_map_context(), editor::map_context::perform_action(), and refresh_after_action().
Referenced by apply_mask_dialog(), create_mask_to_dialog(), fill_selection(), generate_map_dialog(), open_maps(), and resize_map_dialog().
void editor::context_manager::refresh_after_action | ( | bool | drag_part = false | ) |
Refresh the display after an action has been performed.
The map context contains details of what needs to be refreshed.
Definition at line 534 of file context_manager.cpp.
References auto_update_transitions_, editor::map_context::changed_locations(), editor::map_context::clear_changed_locations(), get_map_context(), gui_, display::invalidate(), display::invalidate_all(), display::rebuild_all(), editor::editor_display::rebuild_terrain(), display::recalculate_minimap(), reload_map(), editor::map_context::reset_starting_position_labels(), editor::map_context::set_needs_terrain_rebuild(), preferences::editor::TRANSITION_UPDATE_ON, and preferences::editor::TRANSITION_UPDATE_PARTIAL.
Referenced by get_map_context(), and perform_refresh().
void editor::context_manager::refresh_all | ( | ) |
Refresh everything, i.e.
invalidate all hexes and redraw them. Does not reload the map.
Definition at line 123 of file context_manager.cpp.
References editor::location_palette::add_item(), editor::map_context::clear_changed_locations(), display::create_buttons(), get_map_context(), gui_, i, display::invalidate_all(), locs_, display::rebuild_all(), display::recalculate_minimap(), editor::map_context::set_needs_terrain_rebuild(), and editor::map_context::teams().
Referenced by gui(), and reload_map().
|
private |
Performs the necessary housekeeping necessary when switching contexts.
Definition at line 100 of file context_manager.cpp.
References display::change_display_context(), resources::classification, map_labels::enable(), editor::map_context::get_classification(), editor::map_context::get_labels(), get_map_context(), editor::map_context::get_time_manager(), gui(), display::init_flags(), reload_map(), display::set_playing_team(), display::set_team(), set_window_title(), size(), and resources::tod_manager.
Referenced by close_current_context(), get_map_context(), replace_map_context_with(), and switch_context().
void editor::context_manager::reload_map | ( | ) |
Reload the map after it has significantly changed (when e.g.
the dimensions changed). This is necessary to avoid issues with parts of the map being cached in the display class.
Definition at line 146 of file context_manager.cpp.
References get_map_context(), gui_, refresh_all(), display::reload_map(), editor::map_context::reset_starting_position_labels(), and editor::map_context::set_needs_reload().
Referenced by get_map_context(), refresh_after_action(), and refresh_on_context_change().
void editor::context_manager::rename_area_dialog | ( | ) |
Display an dialog to querry a new id for an [time_area].
Definition at line 497 of file context_manager.cpp.
References editor::map_context::get_active_area(), tod_manager::get_area_ids(), get_map_context(), editor::map_context::get_time_manager(), N_, and tod_manager::set_area_id().
Referenced by gui().
|
private |
Replace the current map context and refresh accordingly.
Definition at line 1004 of file context_manager.cpp.
References replace_map_context_with().
Referenced by get_map_context(), new_map(), and new_scenario().
|
private |
Definition at line 1010 of file context_manager.cpp.
References current_context_index_, map_contexts_, and refresh_on_context_change().
Referenced by get_map_context(), load_map(), and replace_map_context().
void editor::context_manager::resize_map_dialog | ( | ) |
Display a load map dialog and process user input.
Definition at line 573 of file context_manager.cpp.
References a, gui2::dialogs::editor_resize_map::EXPAND_BOTTOM, gui2::dialogs::editor_resize_map::EXPAND_BOTTOM_LEFT, gui2::dialogs::editor_resize_map::EXPAND_BOTTOM_RIGHT, gui2::dialogs::editor_resize_map::EXPAND_CENTER, gui2::dialogs::editor_resize_map::EXPAND_LEFT, gui2::dialogs::editor_resize_map::EXPAND_RIGHT, gui2::dialogs::editor_resize_map::EXPAND_TOP, gui2::dialogs::editor_resize_map::EXPAND_TOP_LEFT, gui2::dialogs::editor_resize_map::EXPAND_TOP_RIGHT, draw::fill(), get_map_context(), editor::get_selected_bg_terrain(), gamemap_base::h(), h, editor::map_context::map(), t_translation::NONE_TERRAIN, perform_refresh(), gamemap_base::w(), w, and WRN_ED.
Referenced by gui().
void editor::context_manager::revert_map | ( | ) |
Revert the map by reloading it from disk.
Definition at line 939 of file context_manager.cpp.
References confirm_discard(), ERR_ED, editor::map_context::get_filename(), get_map_context(), and load_map().
Referenced by get_map_context().
void editor::context_manager::save_all_maps | ( | bool | auto_save_windows = false | ) |
Save all maps, open dialog if not named yet, except when using auto_save_windows which will name unnamed maps "windows_N".
Also record all filenames for future reopening.
Definition at line 750 of file context_manager.cpp.
References current_context_index_, default_dir_, editor::map_context::get_filename(), get_map_context(), i, filesystem::is_directory(), map_contexts_, s, save_map(), editor::map_context::set_filename(), and switch_context().
Referenced by open_maps().
void editor::context_manager::save_map | ( | ) |
Save the map, open dialog if not named yet.
Definition at line 772 of file context_manager.cpp.
References editor::map_context::get_filename(), get_map_context(), filesystem::is_directory(), editor::map_context::is_pure_map(), save_map_as_dialog(), save_scenario_as_dialog(), write_map(), and write_scenario().
Referenced by open_maps(), and save_all_maps().
|
private |
Save the map under a given filename.
Definition at line 813 of file context_manager.cpp.
References _(), check_open_map(), current_context_index_, editor::map_context::get_filename(), get_map_context(), editor::map_context::is_embedded(), map_contexts_, editor::map_context::set_embedded(), editor::map_context::set_filename(), gui2::show_transient_message(), and write_map().
Referenced by get_map_context(), and save_map_as_dialog().
void editor::context_manager::save_map_as_dialog | ( | ) |
Display a save map as dialog and process user input.
Definition at line 642 of file context_manager.cpp.
References _(), default_dir_, filesystem::get_dir(), editor::map_context::get_filename(), get_map_context(), gui2::dialogs::file_dialog::path(), save_map_as(), gui2::dialogs::file_dialog::set_extension(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_save_mode(), gui2::dialogs::file_dialog::set_title(), and gui2::dialogs::modal_dialog::show().
Referenced by gui(), and save_map().
|
private |
Definition at line 790 of file context_manager.cpp.
References _(), check_open_map(), current_context_index_, editor::map_context::get_filename(), get_map_context(), editor::map_context::is_embedded(), map_contexts_, editor::map_context::set_embedded(), editor::map_context::set_filename(), gui2::show_transient_message(), and write_scenario().
Referenced by get_map_context(), and save_scenario_as_dialog().
void editor::context_manager::save_scenario_as_dialog | ( | ) |
Display a save map as dialog and process user input.
Definition at line 663 of file context_manager.cpp.
References _(), default_dir_, filesystem::get_dir(), editor::map_context::get_filename(), get_map_context(), gui2::dialogs::file_dialog::path(), save_scenario_as(), gui2::dialogs::file_dialog::set_extension(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_save_mode(), gui2::dialogs::file_dialog::set_title(), and gui2::dialogs::modal_dialog::show().
Referenced by gui(), and save_map().
|
inline |
Set the default dir (where the filebrowser is pointing at when there is no map file opened)
Definition at line 167 of file context_manager.hpp.
References default_dir_.
|
inline |
Definition at line 41 of file context_manager.hpp.
References auto_update_transitions_, preferences::editor::set_auto_update_transitions(), and toggle_update_transitions().
|
private |
Displays the specified map name in the window titlebar.
Definition at line 1070 of file context_manager.cpp.
References filesystem::base_name(), editor::map_context::get_default_context_name(), game_config::get_default_title_string(), get_filename(), get_map_context(), editor::map_context::get_name(), and video::set_window_title().
Referenced by edit_scenario_dialog(), get_map_context(), and refresh_on_context_change().
|
inline |
Definition at line 155 of file context_manager.hpp.
References map_contexts_.
Referenced by refresh_on_context_change().
void editor::context_manager::switch_context | ( | const int | index, |
const bool | force = false |
||
) |
Switches the context to the one under the specified index.
Definition at line 1050 of file context_manager.cpp.
References current_context_index_, map_labels::enable(), editor::map_context::get_labels(), get_map_context(), utf8::index(), map_contexts_, refresh_on_context_change(), and WRN_ED.
Referenced by check_switch_open_map(), get_map_context(), load_map(), new_map(), new_scenario(), and save_all_maps().
bool editor::context_manager::toggle_update_transitions | ( | ) |
Definition at line 168 of file context_manager.cpp.
References auto_update_transitions_, preferences::editor::set_auto_update_transitions(), preferences::editor::TRANSITION_UPDATE_COUNT, and preferences::editor::TRANSITION_UPDATE_ON.
Referenced by set_update_transitions_mode().
|
private |
Save the map under a given filename.
Displays an error message on failure.
Definition at line 851 of file context_manager.cpp.
References _(), e, get_map_context(), editor::map_context::save_map(), gui2::show_transient_message(), and game::error::what().
Referenced by get_map_context(), save_map(), and save_map_as().
|
private |
Definition at line 836 of file context_manager.cpp.
References _(), e, get_map_context(), editor::map_context::save_scenario(), gui2::show_transient_message(), and game::error::what().
Referenced by get_map_context(), save_map(), and save_scenario_as().
|
private |
Flag to rebuild terrain on every terrain change.
Definition at line 329 of file context_manager.hpp.
Referenced by is_active_transitions_hotkey(), refresh_after_action(), set_update_transitions_mode(), and toggle_update_transitions().
|
private |
Clipboard map_fragment – used for copy-paste.
Definition at line 335 of file context_manager.hpp.
Referenced by clipboard_empty(), and get_clipboard().
|
private |
Definition at line 326 of file context_manager.hpp.
Referenced by close_current_context(), current_context_index(), get_map_context(), replace_map_context_with(), save_all_maps(), save_map_as(), save_scenario_as(), and switch_context().
|
private |
Default directory for map load/save as dialogs.
Definition at line 320 of file context_manager.hpp.
Referenced by apply_mask_dialog(), context_manager(), create_mask_to_dialog(), load_map_dialog(), save_all_maps(), save_map_as_dialog(), save_scenario_as_dialog(), and set_default_dir().
|
private |
Definition at line 317 of file context_manager.hpp.
Referenced by apply_mask_dialog(), create_default_context(), create_mask_to_dialog(), load_map(), new_map(), and new_scenario().
|
private |
Definition at line 315 of file context_manager.hpp.
Referenced by gui(), new_scenario(), refresh_after_action(), refresh_all(), and reload_map().
|
private |
Definition at line 324 of file context_manager.hpp.
Referenced by generate_map_dialog().
class location_palette* editor::context_manager::locs_ |
Definition at line 197 of file context_manager.hpp.
Referenced by refresh_all().
|
private |
The currently opened map context object.
Definition at line 332 of file context_manager.hpp.
Referenced by add_map_context(), add_map_context_of(), check_open_map(), check_switch_open_map(), close_current_context(), expand_open_maps_menu(), get_map_context(), modified_maps(), open_maps(), replace_map_context_with(), save_all_maps(), save_map_as(), save_scenario_as(), size(), and switch_context().
|
private |
Available random map generators.
Definition at line 323 of file context_manager.hpp.
Referenced by generate_map_dialog(), and init_map_generators().