18 s->appendAction( std::move( action ) );
22template<
class HistoryActionType,
typename... Args>
25 static_assert( std::is_base_of_v<HistoryAction, HistoryActionType> );
28 AppendHistory( std::make_shared<HistoryActionType>( std::forward<Args>( args )... ) );
42template<
class HistoryActionType>
46 static_assert( std::is_base_of_v<HistoryAction, HistoryActionType> );
47 using Obj =
typename HistoryActionType::Obj;
49 template<
typename... Args>
50 [[nodiscard]]
Historian( std::string name, std::shared_ptr<Obj> obj, Args&&... args ) : obj_( std::move( obj ) )
53 action_ = std::make_shared<HistoryActionType>( std::move( name ), obj_, std::forward<Args>( args )... );
71 HistoryActionType::setObjectDirty( obj_ );
74 std::shared_ptr<Obj> obj_;
75 std::shared_ptr<HistoryActionType> action_;
76 bool canceled_{
false };
88 MRVIEWER_API
ScopeHistory(
const std::string& name,
const std::function<std::string ()>& dynamicNameFunc = {} );
94 const std::shared_ptr<CombinedHistoryAction>&
combinedAction()
const {
return combinedAction_; }
98 std::shared_ptr<CombinedHistoryAction> combinedAction_;
102#define SCOPED_HISTORY( ... ) MR::ScopeHistory __startScopedHistoryMode( __VA_ARGS__ )
This class stores history stack for undo/redo.
Definition MRHistoryStore.h:16
static HistoryStore * getViewerInstance()
ScopeHistory(const std::string &name, const std::function< std::string()> &dynamicNameFunc={})
creates new CombinedHistoryAction, and setups global history store to append all new actions there du...
void FilterHistoryByCondition(HistoryStackFilter filteringCondition, bool deepFiltering=true)
void AppendHistory(std::shared_ptr< HistoryAction > action)
Appends given history action to viewer's global history store.
Definition MRAppendHistory.h:15
Historian(std::string name, std::shared_ptr< Obj > obj, Args &&... args)
Definition MRAppendHistory.h:50
void cancelAction()
Definition MRAppendHistory.h:56
~Historian()
Definition MRAppendHistory.h:66
std::function< bool(const std::shared_ptr< HistoryAction > &)> HistoryStackFilter
Definition MRHistoryAction.h:38
std::vector< std::shared_ptr< HistoryAction > > HistoryActionsVector
Definition MRHistoryAction.h:39
const std::shared_ptr< CombinedHistoryAction > & combinedAction() const
returns the action being populated
Definition MRAppendHistory.h:94
~ScopeHistory()
created before CombinedHistoryAction if not empty is appended (with all sub-actions) in the global hi...
typename HistoryActionType::Obj Obj
Definition MRAppendHistory.h:47
@ Undo
Definition MRHistoryAction.h:28
only for bindings generation
Definition MRCameraOrientationPlugin.h:8