From 85d3e5541aa41842800811392d565befb3ea2835 Mon Sep 17 00:00:00 2001 From: kobewi Date: Fri, 25 Mar 2022 18:06:46 +0100 Subject: [PATCH] Add per-scene UndoRedo --- editor/visual_script_editor.cpp | 9 +++------ editor/visual_script_editor.h | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/editor/visual_script_editor.cpp b/editor/visual_script_editor.cpp index 2c7d23a..a5eb09f 100644 --- a/editor/visual_script_editor.cpp +++ b/editor/visual_script_editor.cpp @@ -43,6 +43,7 @@ #include "editor/editor_resource_preview.h" #include "editor/editor_scale.h" #include "editor/editor_settings.h" +#include "editor/editor_undo_redo_manager.h" #include "scene/gui/check_button.h" #include "scene/gui/graph_edit.h" #include "scene/gui/separator.h" @@ -74,7 +75,7 @@ class VisualScriptEditorSignalEdit : public Object { StringName sig; public: - UndoRedo *undo_redo; + Ref undo_redo; Ref script; protected: @@ -197,8 +198,6 @@ public: sig = p_sig; notify_property_list_changed(); } - - VisualScriptEditorSignalEdit() { undo_redo = nullptr; } }; class VisualScriptEditorVariableEdit : public Object { @@ -207,7 +206,7 @@ class VisualScriptEditorVariableEdit : public Object { StringName var; public: - UndoRedo *undo_redo; + Ref undo_redo; Ref script; protected: @@ -355,8 +354,6 @@ public: var = p_var; notify_property_list_changed(); } - - VisualScriptEditorVariableEdit() { undo_redo = nullptr; } }; static Color _color_from_type(Variant::Type p_type, bool dark_theme = true) { diff --git a/editor/visual_script_editor.h b/editor/visual_script_editor.h index 6b337e5..306f71e 100644 --- a/editor/visual_script_editor.h +++ b/editor/visual_script_editor.h @@ -38,6 +38,7 @@ class GraphEdit; +class EditorUndoRedoManager; class VisualScriptEditorSignalEdit; class VisualScriptEditorVariableEdit; @@ -135,8 +136,7 @@ class VisualScriptEditor : public ScriptEditorBase { EditorProperty *default_property_editor = nullptr; Ref edited_default_property_holder; - UndoRedo *undo_redo = nullptr; - + Ref undo_redo; Tree *members = nullptr; AcceptDialog *function_name_edit = nullptr; LineEdit *function_name_box = nullptr;