diff options
author | Kostadin Damyanov <maxmight@gmail.com> | 2015-08-09 12:45:21 +0300 |
---|---|---|
committer | Kostadin Damyanov <maxmight@gmail.com> | 2015-08-09 12:45:21 +0300 |
commit | cdf1ac7d58f3dc026cd316a66450771762d74432 (patch) | |
tree | 635ab608220b2940674098253efddbca7a69377a /core/undo_redo.cpp | |
parent | f5bfd497aab7e24a6f4dc0315e9e9333504067a0 (diff) | |
parent | c2e2f2e0aebf6342e6f18ae5d67b6a825590675a (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'core/undo_redo.cpp')
-rw-r--r-- | core/undo_redo.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/core/undo_redo.cpp b/core/undo_redo.cpp index f565070216..85cc2bbc7f 100644 --- a/core/undo_redo.cpp +++ b/core/undo_redo.cpp @@ -244,7 +244,12 @@ void UndoRedo::_process_operation_list(List<Operation>::Element *E) { Resource* res = obj->cast_to<Resource>(); if (res) res->set_edited(true); + #endif + + if (method_callback) { + method_callback(method_callbck_ud,obj,op.name,VARIANT_ARGS_FROM_ARRAY(op.args)); + } } break; case Operation::TYPE_PROPERTY: { @@ -254,6 +259,9 @@ void UndoRedo::_process_operation_list(List<Operation>::Element *E) { if (res) res->set_edited(true); #endif + if (property_callback) { + property_callback(prop_callback_ud,obj,op.name,op.args[0]); + } } break; case Operation::TYPE_REFERENCE: { //do nothing @@ -325,6 +333,19 @@ void UndoRedo::set_commit_notify_callback(CommitNotifyCallback p_callback,void* callback_ud=p_ud; } +void UndoRedo::set_method_notify_callback(MethodNotifyCallback p_method_callback,void* p_ud) { + + method_callback=p_method_callback; + method_callbck_ud=p_ud; +} + +void UndoRedo::set_property_notify_callback(PropertyNotifyCallback p_property_callback,void* p_ud){ + + property_callback=p_property_callback; + prop_callback_ud=p_ud; +} + + UndoRedo::UndoRedo() { version=1; @@ -334,6 +355,12 @@ UndoRedo::UndoRedo() { merging=true; callback=NULL; callback_ud=NULL; + + method_callbck_ud=NULL; + prop_callback_ud=NULL; + method_callback=NULL; + property_callback=NULL; + } UndoRedo::~UndoRedo() { |