#include <context_manager.hpp>
Public Member Functions | |
context_manager (editor_display &gui, const game_config_view &game_config, const std::string &addon_id) | |
~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_contexts () |
Save all open map_contexts to memory. More... | |
void | save_all_maps () |
Save all maps, show save dialogs for unsaved ones. More... | |
void | save_map (bool show_confirmation=true) |
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) const |
Menu expanding for open maps list. More... | |
void | expand_load_mru_menu (std::vector< config > &items) const |
Menu expanding for most recent loaded list. More... | |
void | expand_sides_menu (std::vector< config > &items) const |
Menu expanding for the map's player sides. More... | |
void | expand_areas_menu (std::vector< config > &items) const |
Menu expanding for the map's defined areas. More... | |
void | expand_time_menu (std::vector< config > &items) const |
Menu expanding for the map's defined areas. More... | |
void | expand_local_time_menu (std::vector< config > &items) const |
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 (const team &t) |
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_addon_id (const std::string &id) |
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... | |
void | edit_pbl () |
void | change_addon_id () |
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 | map_to_scenario () |
Convert existing map to scenario. 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 (std::unique_ptr< map_context > &&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 (std::unique_ptr< map_context > &&mc) |
void | create_default_context () |
Creates a default map context object, used to ensure there is always at least one. More... | |
void | create_blank_context () |
void | refresh_on_context_change () |
Performs the necessary housekeeping necessary when switching contexts. More... | |
bool | write_map (bool display_confirmation=true) |
Save the map under a given filename. More... | |
bool | write_scenario (bool display_confirmation=true) |
void | init_context (int width, int height, const t_translation::terrain_code &fill, bool new_context, bool is_pure_map=true) |
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::string | current_addon_ |
The currently selected add-on. 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< std::unique_ptr< map_context > > | 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.
editor::context_manager::context_manager | ( | editor_display & | gui, |
const game_config_view & | game_config, | ||
const std::string & | addon_id | ||
) |
Definition at line 76 of file context_manager.cpp.
References create_default_context(), resources::filter_con, and init_map_generators().
editor::context_manager::~context_manager | ( | ) |
Definition at line 94 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 1016 of file context_manager.cpp.
References map_contexts_.
Referenced by create_blank_context(), and init_context().
|
private |
Definition at line 1022 of file context_manager.cpp.
References map_contexts_.
Referenced by load_map().
void editor::context_manager::apply_mask_dialog | ( | ) |
Display an apply mask dialog and process user input.
Definition at line 458 of file context_manager.cpp.
References _(), current_addon_, e, game_config_, filesystem::get_current_editor_dir(), filesystem::get_dir(), editor::map_context::get_filename(), get_map_context(), editor::map_context::map(), 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(), and gui2::show_transient_message().
void editor::context_manager::change_addon_id | ( | ) |
Definition at line 252 of file context_manager.cpp.
References addon_filename_legal(), current_addon_, filesystem::get_current_editor_dir(), main(), map_contexts_, filesystem::read_file(), filesystem::rename_dir(), and filesystem::write_file().
|
private |
Check if a map is already open.
Definition at line 871 of file context_manager.cpp.
References i, and map_contexts_.
Referenced by check_switch_open_map(), save_map_as_dialog(), and save_scenario_as_dialog().
|
private |
Check if a map is already open.
If yes, switch to it and return true, return false otherwise.
Definition at line 881 of file context_manager.cpp.
References _(), check_open_map(), i, map_contexts_, gui2::show_transient_message(), and switch_context().
Referenced by load_map().
|
inline |
Definition at line 47 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 1061 of file context_manager.cpp.
References confirm_discard(), create_default_context(), current_context_index_, map_contexts_, and refresh_on_context_change().
|
private |
Shows an are-you-sure dialog if the map was modified.
Definition at line 789 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 |
Definition at line 1052 of file context_manager.cpp.
References add_map_context(), current_addon_, game_config::default_terrain, game_config_view::find_mandatory_child(), game_config_, and t_translation::read_terrain_code().
Referenced by create_default_context(), and save_contexts().
|
private |
Creates a default map context object, used to ensure there is always at least one.
When we have saved contexts, reopen them instead.
Definition at line 1040 of file context_manager.cpp.
References create_blank_context(), map_contexts_, and switch_context().
Referenced by close_current_context(), and context_manager().
void editor::context_manager::create_mask_to_dialog | ( | ) |
Display an apply mask dialog and process user input.
Definition at line 501 of file context_manager.cpp.
References _(), current_addon_, e, game_config_, filesystem::get_current_editor_dir(), filesystem::get_dir(), editor::map_context::get_filename(), get_map_context(), editor::map_context::map(), 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(), and gui2::show_transient_message().
|
inline |
Index into the map_contexts_ array.
Definition at line 61 of file context_manager.hpp.
References current_context_index_.
void editor::context_manager::edit_pbl | ( | ) |
Definition at line 244 of file context_manager.cpp.
References current_addon_, and filesystem::get_current_editor_dir().
void editor::context_manager::edit_scenario_dialog | ( | ) |
Display a scenario edit dialog and process user input.
Definition at line 277 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(), and editor::map_context::victory_defeated().
void editor::context_manager::edit_side_dialog | ( | const team & | t | ) |
Display a side edit dialog and process user input.
Definition at line 235 of file context_manager.cpp.
References get_map_context(), editor::map_context::set_side_setup(), and t.
void editor::context_manager::expand_areas_menu | ( | std::vector< config > & | items | ) | const |
Menu expanding for the map's defined areas.
Definition at line 386 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::map_context::get_time_manager(), markup::italic(), label, editor::map_context::map(), and editor::editor_map::selection().
void editor::context_manager::expand_load_mru_menu | ( | std::vector< config > & | items | ) | const |
Menu expanding for most recent loaded list.
Definition at line 370 of file context_manager.cpp.
References _(), filesystem::base_name(), prefs::get(), game_config::path, and prefs::recent_files().
void editor::context_manager::expand_local_time_menu | ( | std::vector< config > & | items | ) | const |
Menu expanding for the map's defined areas.
Definition at line 448 of file context_manager.cpp.
References get_map_context(), editor::map_context::get_time_manager(), and tod_manager::times().
void editor::context_manager::expand_open_maps_menu | ( | std::vector< config > & | items | ) | const |
Menu expanding for open maps list.
Definition at line 332 of file context_manager.cpp.
References filesystem::base_name(), filename, editor::map_context::get_default_context_name(), editor::map_context::get_filename(), editor::map_context::get_name(), editor::map_context::is_embedded(), editor::map_context::is_pure_map(), markup::italic(), label, map_contexts_, and editor::map_context::modified().
void editor::context_manager::expand_sides_menu | ( | std::vector< config > & | items | ) | const |
Menu expanding for the map's player sides.
Definition at line 418 of file context_manager.cpp.
References _(), get_map_context(), markup::italic(), label, t, and editor::map_context::teams().
void editor::context_manager::expand_time_menu | ( | std::vector< config > & | items | ) | const |
Menu expanding for the map's defined areas.
Definition at line 437 of file context_manager.cpp.
References get_map_context(), editor::map_context::get_time_manager(), and tod_manager::times().
void editor::context_manager::fill_selection | ( | ) |
Fill the selection with the foreground terrain.
Definition at line 800 of file context_manager.cpp.
References get_map_context(), editor::get_selected_bg_terrain(), and perform_refresh().
void editor::context_manager::generate_map_dialog | ( | ) |
Display a generate random map dialog and process user input.
Definition at line 756 of file context_manager.cpp.
References _(), 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(), and gui2::show_transient_message().
|
inline |
Definition at line 52 of file context_manager.hpp.
References clipboard_.
Referenced by editor::editor_toolkit::init_mouse_actions().
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 182 of file context_manager.hpp.
References get_map_context().
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 194 of file context_manager.hpp.
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 200 of file context_manager.hpp.
|
inline |
Get the current map context object.
Definition at line 159 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(), map_to_scenario(), 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_map(), save_map_as_dialog(), 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 218 of file context_manager.hpp.
References current_context_index_, and map_contexts_.
|
inlineoverridevirtual |
Inherited from filter_context.
Implements filter_context.
Definition at line 188 of file context_manager.hpp.
References get_map_context(), and editor::map_context::get_time_manager().
|
inline |
Definition at line 86 of file context_manager.hpp.
References gui_.
Referenced by map_to_scenario(), new_scenario(), and refresh_on_context_change().
|
private |
Definition at line 964 of file context_manager.cpp.
References add_map_context(), current_addon_, draw::fill(), game_config_view::find_mandatory_child(), game_config_, replace_map_context(), and switch_context().
Referenced by new_map(), and new_scenario().
|
private |
init available random map generators
Definition at line 740 of file context_manager.cpp.
References 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 156 of file context_manager.cpp.
References auto_update_transitions_, pref_constants::TRANSITION_UPDATE_OFF, pref_constants::TRANSITION_UPDATE_ON, and pref_constants::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 893 of file context_manager.cpp.
References _(), add_map_context_of(), check_switch_open_map(), current_addon_, editor::editor_controller::current_addon_id_, e, filename, game_config_, filesystem::get_addon_id_from_path(), get_filename(), get_map_context(), editor::initialize_addon(), filesystem::is_cfg(), LOG_ED, wfl::msg(), replace_map_context_with(), set_addon_id(), gui2::show_transient_message(), and switch_context().
Referenced by 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 204 of file context_manager.cpp.
References _(), editor::editor_controller::current_addon_id_, filesystem::get_current_editor_dir(), editor::map_context::get_filename(), filesystem::get_legacy_editor_dir(), 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().
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 225 of file context_manager.cpp.
References prefs::get(), utf8::index(), load_map(), and prefs::recent_files().
void editor::context_manager::map_to_scenario | ( | ) |
Convert existing map to scenario.
Definition at line 992 of file context_manager.cpp.
References current_addon_, game_config_view::find_mandatory_child(), game_config_, get_map_context(), gui(), gui_, i, display::init_flags(), editor::map_context::map(), editor::map_context::new_side(), gamemap_base::num_valid_starting_positions(), replace_map_context(), display::set_playing_team_index(), and display::set_viewing_team_index().
std::size_t editor::context_manager::modified_maps | ( | std::string & | modified | ) |
Definition at line 182 of file context_manager.cpp.
References map_contexts_, and font::unicode_bullet.
|
private |
Create a new map.
Definition at line 976 of file context_manager.cpp.
References draw::fill(), and init_context().
Referenced by generate_map_dialog(), and new_map_dialog().
void editor::context_manager::new_map_dialog | ( | ) |
Display a new map dialog and process user input.
Definition at line 306 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(), w, and gamemap_base::w().
|
private |
Create a new scenario.
Definition at line 981 of file context_manager.cpp.
References draw::fill(), get_map_context(), gui(), gui_, init_context(), display::init_flags(), editor::map_context::new_side(), display::set_playing_team_index(), and display::set_viewing_team_index().
Referenced by new_scenario_dialog().
void editor::context_manager::new_scenario_dialog | ( | ) |
Display a new map dialog and process user input.
Definition at line 319 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(), w, and gamemap_base::w().
|
inline |
Definition at line 66 of file context_manager.hpp.
References map_contexts_.
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 485 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(), 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 528 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(), loc, 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(), pref_constants::TRANSITION_UPDATE_ON, and pref_constants::TRANSITION_UPDATE_PARTIAL.
Referenced by 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 125 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(), loc, locs_, display::rebuild_all(), display::recalculate_minimap(), editor::map_context::set_needs_terrain_rebuild(), and editor::map_context::teams().
Referenced by reload_map().
|
private |
Performs the necessary housekeeping necessary when switching contexts.
Definition at line 102 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_index(), display::set_viewing_team_index(), set_window_title(), and resources::tod_manager.
Referenced by close_current_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 148 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 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 491 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().
|
private |
Replace the current map context and refresh accordingly.
Definition at line 1029 of file context_manager.cpp.
References replace_map_context_with().
Referenced by init_context(), and map_to_scenario().
|
private |
Definition at line 1034 of file context_manager.cpp.
References current_context_index_, map_contexts_, and refresh_on_context_change().
Referenced by 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 567 of file context_manager.cpp.
References 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(), w, gamemap_base::w(), and WRN_ED.
void editor::context_manager::revert_map | ( | ) |
Revert the map by reloading it from disk.
Definition at line 949 of file context_manager.cpp.
References confirm_discard(), ERR_ED, filename, editor::map_context::get_filename(), get_map_context(), and load_map().
void editor::context_manager::save_all_maps | ( | ) |
Save all maps, show save dialogs for unsaved ones.
Definition at line 805 of file context_manager.cpp.
References current_context_index_, i, map_contexts_, save_map(), and switch_context().
void editor::context_manager::save_contexts | ( | ) |
Save all open map_contexts to memory.
Definition at line 815 of file context_manager.cpp.
References create_blank_context(), current_context_index_, map_contexts_, swap(), and switch_context().
void editor::context_manager::save_map | ( | bool | show_confirmation = true | ) |
Save the map, open dialog if not named yet.
Definition at line 823 of file context_manager.cpp.
References editor::map_context::get_filename(), get_map_context(), filesystem::is_directory(), save_map_as_dialog(), save_scenario_as_dialog(), write_map(), and write_scenario().
Referenced by save_all_maps().
void editor::context_manager::save_map_as_dialog | ( | ) |
Display a save map as dialog and process user input.
Definition at line 636 of file context_manager.cpp.
References _(), check_open_map(), editor::editor_controller::current_addon_id_, current_context_index_, filesystem::get_current_editor_dir(), editor::map_context::get_filename(), filesystem::get_legacy_editor_dir(), get_map_context(), map_contexts_, filesystem::map_extension, filesystem::mask_extension, gui2::OK, game_config::path, gui2::dialogs::file_dialog::path(), gui2::dialogs::file_dialog::set_extension(), editor::map_context::set_filename(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_save_mode(), gui2::dialogs::file_dialog::set_title(), gui2::dialogs::modal_dialog::show(), gui2::show_message(), gui2::show_transient_message(), VGETTEXT, write_map(), and gui2::dialogs::message::yes_no_buttons.
Referenced by save_map().
void editor::context_manager::save_scenario_as_dialog | ( | ) |
Display a save map as dialog and process user input.
Definition at line 689 of file context_manager.cpp.
References _(), gui2::dialogs::file_dialog::add_extra_path(), check_open_map(), editor::editor_controller::current_addon_id_, current_context_index_, desktop::GAME_EDITOR_MAP_DIR, filesystem::get_current_editor_dir(), editor::map_context::get_filename(), get_map_context(), map_contexts_, gui2::OK, game_config::path, gui2::dialogs::file_dialog::path(), gui2::dialogs::file_dialog::set_extension(), editor::map_context::set_filename(), gui2::dialogs::file_dialog::set_path(), gui2::dialogs::file_dialog::set_save_mode(), gui2::dialogs::file_dialog::set_title(), gui2::dialogs::modal_dialog::show(), gui2::show_message(), gui2::show_transient_message(), VGETTEXT, filesystem::wml_extension, write_scenario(), and gui2::dialogs::message::yes_no_buttons.
Referenced by save_map().
|
inline |
Definition at line 164 of file context_manager.hpp.
References current_addon_, id, and map_contexts_.
Referenced by load_map().
|
inline |
Set the default dir (where the filebrowser is pointing at when there is no map file opened)
Definition at line 173 of file context_manager.hpp.
References default_dir_.
|
inline |
Definition at line 39 of file context_manager.hpp.
References auto_update_transitions_, and prefs::get().
|
private |
Displays the specified map name in the window titlebar.
Definition at line 1098 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(), and refresh_on_context_change().
|
inline |
Definition at line 153 of file context_manager.hpp.
References map_contexts_.
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 1078 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(), create_default_context(), init_context(), load_map(), save_all_maps(), and save_contexts().
bool editor::context_manager::toggle_update_transitions | ( | ) |
Definition at line 170 of file context_manager.cpp.
References auto_update_transitions_, prefs::get(), pref_constants::TRANSITION_UPDATE_COUNT, and pref_constants::TRANSITION_UPDATE_ON.
|
private |
Save the map under a given filename.
Displays an error message on failure.
Definition at line 856 of file context_manager.cpp.
References _(), e, get_map_context(), gui_, editor::map_context::save_map(), and editor::editor_display::set_status().
Referenced by save_map(), and save_map_as_dialog().
|
private |
Definition at line 841 of file context_manager.cpp.
References _(), e, get_map_context(), gui_, editor::map_context::save_scenario(), and editor::editor_display::set_status().
Referenced by save_map(), and save_scenario_as_dialog().
|
private |
Flag to rebuild terrain on every terrain change.
Definition at line 342 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 348 of file context_manager.hpp.
Referenced by clipboard_empty(), and get_clipboard().
|
private |
The currently selected add-on.
Definition at line 333 of file context_manager.hpp.
Referenced by apply_mask_dialog(), change_addon_id(), create_blank_context(), create_mask_to_dialog(), edit_pbl(), init_context(), load_map(), map_to_scenario(), and set_addon_id().
|
private |
Definition at line 339 of file context_manager.hpp.
Referenced by close_current_context(), current_context_index(), get_map_context(), replace_map_context_with(), save_all_maps(), save_contexts(), save_map_as_dialog(), save_scenario_as_dialog(), and switch_context().
|
private |
Default directory for map load/save as dialogs.
Definition at line 330 of file context_manager.hpp.
Referenced by set_default_dir().
|
private |
Definition at line 327 of file context_manager.hpp.
Referenced by apply_mask_dialog(), create_blank_context(), create_mask_to_dialog(), init_context(), load_map(), and map_to_scenario().
|
private |
Definition at line 325 of file context_manager.hpp.
Referenced by gui(), map_to_scenario(), new_scenario(), refresh_after_action(), refresh_all(), reload_map(), write_map(), and write_scenario().
|
private |
Definition at line 337 of file context_manager.hpp.
Referenced by generate_map_dialog().
class location_palette* editor::context_manager::locs_ |
Definition at line 206 of file context_manager.hpp.
Referenced by refresh_all().
|
private |
The currently opened map context object.
Definition at line 345 of file context_manager.hpp.
Referenced by add_map_context(), add_map_context_of(), change_addon_id(), check_open_map(), check_switch_open_map(), close_current_context(), create_default_context(), expand_open_maps_menu(), get_map_context(), modified_maps(), open_maps(), replace_map_context_with(), save_all_maps(), save_contexts(), save_map_as_dialog(), save_scenario_as_dialog(), set_addon_id(), size(), and switch_context().
|
private |
Available random map generators.
Definition at line 336 of file context_manager.hpp.
Referenced by generate_map_dialog(), and init_map_generators().