Blender
V3.3
|
#include "BLI_compiler_attrs.h"
Go to the source code of this file.
void ED_OT_redo | ( | struct wmOperatorType * | ot | ) |
Definition at line 632 of file ed_undo.c.
References wmOperatorType::description, ed_redo_exec(), ed_redo_poll(), wmOperatorType::exec, wmOperatorType::idname, wmOperatorType::name, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_edutils().
void ED_OT_undo | ( | struct wmOperatorType * | ot | ) |
Definition at line 589 of file ed_undo.c.
References wmOperatorType::description, ed_undo_exec(), ed_undo_poll(), wmOperatorType::exec, wmOperatorType::idname, wmOperatorType::name, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_edutils().
void ED_OT_undo_history | ( | struct wmOperatorType * | ot | ) |
Definition at line 779 of file ed_undo.c.
References wmOperatorType::description, ed_undo_is_init_and_screenactive_poll(), wmOperatorType::exec, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, ot, wmOperatorType::poll, RNA_def_int(), wmOperatorType::srna, undo_history_exec(), and undo_history_invoke().
Referenced by ED_operatortypes_edutils().
void ED_OT_undo_push | ( | struct wmOperatorType * | ot | ) |
Definition at line 601 of file ed_undo.c.
References BKE_UNDO_STR_MAX, wmOperatorType::description, ED_operator_screenactive(), ed_undo_push_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_INTERNAL, ot, wmOperatorType::poll, RNA_def_string(), and wmOperatorType::srna.
Referenced by ED_operatortypes_edutils().
void ED_OT_undo_redo | ( | struct wmOperatorType * | ot | ) |
Definition at line 644 of file ed_undo.c.
References wmOperatorType::description, ed_undo_redo_exec(), ed_undo_redo_poll(), wmOperatorType::exec, wmOperatorType::idname, wmOperatorType::name, ot, and wmOperatorType::poll.
Referenced by ED_operatortypes_edutils().
struct Base** ED_undo_editmode_bases_from_view_layer | ( | struct ViewLayer * | view_layer, |
uint * | r_len | ||
) |
Definition at line 917 of file ed_undo.c.
References BASACT, BLI_assert, Object::data, FIRSTBASE, id, len, LIB_TAG_DOIT, MEM_malloc_arrayN, MEM_mallocN, Object::mode, NULL, OB_MODE_EDIT, Base::object, ID::tag, Object::type, and undo_editmode_objects_from_view_layer_prepare().
Referenced by ED_undo_object_editmode_restore_helper().
struct Object** ED_undo_editmode_objects_from_view_layer | ( | struct ViewLayer * | view_layer, |
uint * | r_len | ||
) |
Definition at line 888 of file ed_undo.c.
References BASACT, BLI_assert, Object::data, FIRSTBASE, id, len, LIB_TAG_DOIT, MEM_malloc_arrayN, MEM_mallocN, Object::mode, NULL, OB_MODE_EDIT, Base::object, Scene::objects, ID::tag, Object::type, and undo_editmode_objects_from_view_layer_prepare().
Referenced by armature_undosys_step_encode(), curve_undosys_step_encode(), lattice_undosys_step_encode(), mball_undosys_step_encode(), and mesh_undosys_step_encode().
Definition at line 88 of file ed_undo.c.
References BKE_undosys_stack_group_begin(), C, CTX_wm_manager(), and wmWindowManager::undo_stack.
Referenced by do_outliner_item_mode_toggle_generic(), and object_transfer_mode_to_base().
Definition at line 94 of file ed_undo.c.
References BKE_undosys_stack_group_end(), C, CTX_wm_manager(), and wmWindowManager::undo_stack.
Referenced by do_outliner_item_mode_toggle_generic(), and object_transfer_mode_to_base().
Definition at line 382 of file ed_undo.c.
References BKE_undosys_stack_clear_active(), C, CTX_wm_manager(), ED_undo_push(), UndoStep::name, UndoStack::step_active, str, STREQ, and wmWindowManager::undo_stack.
Referenced by ED_undo_grouped_push_op(), and view3d_camera_lock_undo_ex().
void ED_undo_grouped_push_op | ( | struct bContext * | C, |
struct wmOperator * | op | ||
) |
Definition at line 410 of file ed_undo.c.
References C, ED_undo_grouped_push(), wmOperatorType::name, wmOperator::type, and wmOperatorType::undo_group.
Referenced by wm_handler_fileselect_do(), and wm_operator_finished().
When a property of ID changes, return false.
This is to avoid changes to a property making undo pushes which are ignored by the undo-system. For example, changing a brush property isn't stored by sculpt-mode undo steps. This workaround is needed until the limitation is removed, see: T61948.
Definition at line 448 of file ed_undo.c.
References C, CLOG_INFO, CTX_data_view_layer(), Object::data, GS, id, LOG, Object::mode, ID::name, NULL, OB_MODE_ALL_PAINT, OB_MODE_EDIT, and OBACT.
Referenced by radial_control_modal(), and ui_apply_but_undo().
Referenced by ED_view3d_camera_lock_undo_test(), and memfile_undosys_poll().
Run from the main event loop, basic checks that undo is left in a correct state.
Definition at line 65 of file ed_undo.c.
References C, CTX_wm_manager(), UndoStack::group_level, NULL, UndoStep::skip, UndoStack::step_active, and wmWindowManager::undo_stack.
Referenced by wm_event_do_handlers().
Name optionally, function used to check for operator redo panel.
Referenced by WM_operator_check_ui_enabled().
void ED_undo_object_editmode_restore_helper | ( | struct bContext * | C, |
struct Object ** | object_array, | ||
uint | object_array_len, | ||
uint | object_array_stride | ||
) |
Load all our objects from object_array
into edit-mode, clear everything else.
Definition at line 817 of file ed_undo.c.
References BA_DESELECT, C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), Object::data, ED_object_base_select(), ED_object_editmode_enter_ex(), ED_object_editmode_exit_ex(), ED_undo_editmode_bases_from_view_layer(), EM_FREEDATA, EM_NO_CONTEXT, id, LIB_TAG_DOIT, MEM_freeN, Base::object, POINTER_OFFSET, scene, and ID::tag.
Referenced by armature_undosys_step_decode(), curve_undosys_step_decode(), font_undosys_step_decode(), lattice_undosys_step_decode(), mball_undosys_step_decode(), and mesh_undosys_step_decode().
void ED_undo_object_set_active_or_warn | ( | struct Scene * | scene, |
struct ViewLayer * | view_layer, | ||
struct Object * | ob, | ||
const char * | info, | ||
struct CLG_LogRef * | log | ||
) |
Definition at line 800 of file ed_undo.c.
References ViewLayer::basact, BKE_view_layer_base_find(), CLOG_WARN, ED_object_base_active_refresh(), G_MAIN, Object::id, log(), ID::name, NULL, OBACT, and scene.
Referenced by armature_undosys_step_decode(), curve_undosys_step_decode(), font_undosys_step_decode(), lattice_undosys_step_decode(), mball_undosys_step_decode(), mesh_undosys_step_decode(), and particle_undosys_step_decode().
int ED_undo_operator_repeat | ( | struct bContext * | C, |
struct wmOperator * | op | ||
) |
UI callbacks should call this rather than calling WM_operator_repeat() themselves.
Definition at line 662 of file ed_undo.c.
References BKE_area_find_region_active_win(), C, wmOperatorType::check, CLOG_INFO, CLOG_WARN, CTX_data_scene(), CTX_wm_area(), CTX_wm_manager(), CTX_wm_menu(), CTX_wm_region(), CTX_wm_region_set(), ED_region_tag_refresh_ui(), ED_undo_pop_op(), ED_undo_redo(), G, G_DEBUG, wmOperatorType::idname, LOG, wmOperatorType::name, OPERATOR_FINISHED, ret, scene, wmOperator::type, WM_JOB_TYPE_ANY, WM_jobs_test(), WM_operator_free_all_after(), WM_operator_poll(), WM_operator_repeat(), and WM_operator_repeat_check().
Referenced by ED_undo_operator_repeat_cb(), ED_undo_operator_repeat_cb_evt(), ed_undo_redo_exec(), file_browse_exec(), gizmo_bisect_exec(), gizmo_placement_exec(), gizmo_spin_exec(), and wm_block_redo_cb().
Convenience since UI callbacks use this mostly.
Referenced by uiTemplateOperatorRedoProperties().
Definition at line 395 of file ed_undo.c.
References C, ed_undo_step_direction(), NULL, and STEP_UNDO.
Referenced by redraw_timer_step().
void ED_undo_pop_op | ( | struct bContext * | C, |
struct wmOperator * | op | ||
) |
Definition at line 420 of file ed_undo.c.
References C, ed_undo_step_by_name(), wmOperatorType::name, wmOperator::reports, and wmOperator::type.
Referenced by ED_undo_operator_repeat(), and gizmo_tweak_start_and_finish().
Definition at line 100 of file ed_undo.c.
References BKE_undosys_print(), BKE_undosys_stack_limit_steps_and_memory(), BKE_undosys_step_push(), C, CLOG_CHECK, CLOG_INFO, CTX_wm_manager(), G, LOG, memory_limit, NC_WM, ND_LIB_OVERRIDE_CHANGED, UndoStep::next, NULL, UndoStack::step_active, UndoStack::step_init, steps, str, UNDO_PUSH_RET_OVERRIDE_CHANGED, wmWindowManager::undo_stack, WM_file_tag_modified(), and WM_main_add_notifier().
Referenced by blender::ed::space_node::attribute_search_exec_fn(), attribute_search_exec_fn(), colorband_add_cb(), colorband_del_cb(), colorband_distribute_cb(), colorband_flip_cb(), colorband_tools_dofunc(), curvemap_tools_dofunc(), CurveProfile_presets_dofunc(), CurveProfile_tools_dofunc(), delete_fmodifier_cb(), do_outliner_item_editmode_toggle(), do_outliner_item_mode_toggle_generic(), do_outliner_item_posemode_toggle(), driver_add_var_cb(), driver_delete_var_cb(), blender::ed::asset_browser::AssetCatalogDropController::drop_assets_into_catalog(), ED_sculpt_undo_push_multires_mesh_end(), ED_undo_grouped_push(), ed_undo_push_exec(), ED_undo_push_op(), eyedropper_add_material(), file_browse_exec(), fmodifier_reorder(), import_endjob(), object_transfer_mode_to_base(), outliner_action_set_exec(), outliner_animdata_operation_exec(), outliner_constraint_operation_exec(), outliner_data_operation_exec(), outliner_id_operation_exec(), outliner_lib_operation_exec(), outliner_liboverride_operation_exec(), outliner_modifier_operation_exec(), outliner_object_operation_exec(), outliner_scene_operation_exec(), radial_control_modal(), template_id_cb(), text_autocomplete_invoke(), text_autocomplete_modal(), ui_apply_but_funcs_after(), blender::ed::space_node::ui_node_link(), view3d_camera_lock_undo_ex(), and view3d_collection_drop_copy_external_asset().
void ED_undo_push_op | ( | struct bContext * | C, |
struct wmOperator * | op | ||
) |
Definition at line 404 of file ed_undo.c.
References C, ED_undo_push(), wmOperatorType::name, and wmOperator::type.
Referenced by paint_mask_extract_exec(), wm_block_redo_cb(), wm_handler_fileselect_do(), and wm_operator_finished().
Definition at line 399 of file ed_undo.c.
References C, ed_undo_step_direction(), NULL, and STEP_REDO.
Referenced by ED_undo_operator_repeat(), and redraw_timer_step().
Ideally we won't access the stack directly, this is needed for modes which handle undo themselves (bypassing ED_undo_push).
Using global isn't great, this just avoids doing inline, causing 'BKE_global.h' & 'BKE_main.h' includes.
Definition at line 473 of file ed_undo.c.
References G_MAIN, and wmWindowManager::undo_stack.
Referenced by ED_image_paint_tile_map_get(), ED_image_undo_push_begin_with_image(), ED_image_undo_push_end(), ED_paintcurve_undo_push_begin(), ED_paintcurve_undo_push_end(), ED_text_undo_push_init(), image_undo_push_begin(), image_undosys_step_encode(), memfile_undosys_poll(), memfile_undosys_step_encode(), sculpt_dynamic_topology_disable_with_undo(), sculpt_dynamic_topology_enable_with_undo(), sculpt_undo_get_nodes(), SCULPT_undo_push_begin(), SCULPT_undo_push_end_ex(), text_undosys_poll(), and text_undosys_step_encode_init().
Definition at line 343 of file memfile_undo.c.
References BKE_undosys_stack_active_with_type(), BKE_UNDOSYS_TYPE_MEMFILE, ed_undosys_step_get_memfile(), and NULL.
Referenced by wm_autosave_write(), and WM_exit_ex().
If the last undo step is a memfile one, find the first MemFileChunk matching given ID (using its session UUID), and tag it as "changed in the future".
Since non-memfile undo-steps cannot automatically set this flag in the previous step as done with memfile ones, this has to be called manually by relevant undo code.
Definition at line 352 of file memfile_undo.c.
References BKE_UNDOSYS_TYPE_MEMFILE, MemFile::chunks, id, LISTBASE_FOREACH, NULL, ID::session_uuid, UndoStack::step_active, and UndoStep::type.
Referenced by SCULPT_undo_push_begin().
Definition at line 52 of file undo_system_types.c.
References BKE_undosys_type_free_all().
Referenced by WM_exit_ex().
Definition at line 26 of file undo_system_types.c.
References BKE_undosys_type_append(), BKE_UNDOSYS_TYPE_IMAGE, BKE_UNDOSYS_TYPE_MEMFILE, BKE_UNDOSYS_TYPE_PAINTCURVE, BKE_UNDOSYS_TYPE_PARTICLE, BKE_UNDOSYS_TYPE_SCULPT, BKE_UNDOSYS_TYPE_TEXT, ED_armature_undosys_type(), ED_curve_undosys_type(), ED_font_undosys_type(), ED_image_undosys_type(), ED_lattice_undosys_type(), ED_mball_undosys_type(), ED_memfile_undosys_type(), ED_mesh_undosys_type(), ED_paintcurve_undosys_type(), ED_particle_undosys_type(), ED_sculpt_undosys_type(), and ED_text_undosys_type().
Referenced by WM_init().