MeshLib C++ Docs
Loading...
Searching...
No Matches
MRCombinedHistoryAction.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
3#include "MRHistoryAction.h"
4#include <memory>
5
6namespace MR
7{
10
11
14class MRMESH_CLASS CombinedHistoryAction : public HistoryAction
15{
16public:
18 MRMESH_API CombinedHistoryAction( const std::string& name, const std::vector<std::shared_ptr<HistoryAction>>& actions );
19
20 virtual std::string name() const override
21 {
22 return name_;
23 }
24
25 MRMESH_API virtual void action( HistoryAction::Type type ) override;
26
27 HistoryActionsVector& getStack() { return actions_; }
28 const HistoryActionsVector& getStack() const { return actions_; }
29
32 MRMESH_API bool filter( HistoryStackFilter filteringCondition );
33
34 bool empty() const { return actions_.empty(); };
35
36 [[nodiscard]] MRMESH_API virtual size_t heapBytes() const override;
37
38private:
39 HistoryActionsVector actions_;
40 std::string name_;
41};
42
43}
Definition MRCombinedHistoryAction.h:15
Definition MRHistoryAction.h:15
bool empty() const
Definition MRCombinedHistoryAction.h:34
MRMESH_API bool filter(HistoryStackFilter filteringCondition)
const HistoryActionsVector & getStack() const
Definition MRCombinedHistoryAction.h:28
virtual std::string name() const override
Definition MRCombinedHistoryAction.h:20
std::function< bool(const std::shared_ptr< HistoryAction > &)> HistoryStackFilter
Definition MRHistoryAction.h:33
virtual MRMESH_API void action(HistoryAction::Type type) override
This function is called on history action (undo, redo, etc.)
std::vector< std::shared_ptr< HistoryAction > > HistoryActionsVector
Definition MRHistoryAction.h:34
HistoryActionsVector & getStack()
Definition MRCombinedHistoryAction.h:27
Type
Definition MRHistoryAction.h:22
virtual MRMESH_API size_t heapBytes() const override
returns the amount of memory this object occupies on heap
MRMESH_API CombinedHistoryAction(const std::string &name, const std::vector< std::shared_ptr< HistoryAction > > &actions)
Will call action() for each actions in given order (undo in reverse, redo in forward)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8