15 s->appendAction( std::move( action ) );
19template<
class HistoryActionType,
typename... Args>
22 static_assert( std::is_base_of_v<HistoryAction, HistoryActionType> );
25 AppendHistory( std::make_shared<HistoryActionType>( std::forward<Args>( args )... ) );
30template<
class HistoryActionType>
34 static_assert( std::is_base_of_v<HistoryAction, HistoryActionType> );
35 using Obj =
typename HistoryActionType::Obj;
37 template<
typename... Args>
38 Historian( std::string name, std::shared_ptr<Obj> obj, Args&&... args ) : obj_( std::move( obj ) )
41 action_ = std::make_shared<HistoryActionType>( std::move( name ), obj_, std::forward<Args>( args )... );
48 action_->action( HistoryAction::Type::Undo );
59 HistoryActionType::setObjectDirty( obj_ );
62 std::shared_ptr<Obj> obj_;
63 std::shared_ptr<HistoryActionType> action_;
64 bool canceled_{
false };
82 const std::shared_ptr<CombinedHistoryAction>&
combinedAction()
const {
return combinedAction_; }
86 std::shared_ptr<CombinedHistoryAction> combinedAction_;
87 HistoryActionsVector* parentScopePtr_{
nullptr };
90#define SCOPED_HISTORY(name) MR::ScopeHistory __startScopedHistoryMode(name)
Definition MRAppendHistory.h:32
Historian(std::string name, std::shared_ptr< Obj > obj, Args &&... args)
Definition MRAppendHistory.h:38
void cancelAction()
Definition MRAppendHistory.h:44
~Historian()
Definition MRAppendHistory.h:54
typename HistoryActionType::Obj Obj
Definition MRAppendHistory.h:35
This class stores history stack for undo/redo.
Definition MRHistoryStore.h:16
static MRVIEWER_API HistoryStore * getViewerInstance()
The purpose of this class is to combine all actions appended to global history store in one big actio...
Definition MRAppendHistory.h:73
MRVIEWER_API ScopeHistory(const std::string &name)
creates new CombinedHistoryAction, and setups global history store to append all new actions there du...
MRVIEWER_API ~ScopeHistory()
created before CombinedHistoryAction if not empty is appended (with all sub-actions) in the global hi...
const std::shared_ptr< CombinedHistoryAction > & combinedAction() const
returns the action being populated
Definition MRAppendHistory.h:82
Definition MRCameraOrientationPlugin.h:8
void AppendHistory(std::shared_ptr< HistoryAction > action)
Appends given history action to viewer's global history store.
Definition MRAppendHistory.h:12
MRVIEWER_API void FilterHistoryByCondition(HistoryStackFilter filteringCondition, bool deepFiltering=true)