Init Repo
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
#include "../CommandHistory.h"
|
||||
#include <functional>
|
||||
#include <string>
|
||||
|
||||
namespace UsdLayerManager {
|
||||
|
||||
/// Type-agnostic attribute set command.
|
||||
/// Stores execute and undo as std::function closures capturing the typed values.
|
||||
class AttributeSetCommand : public ICommand {
|
||||
public:
|
||||
AttributeSetCommand(std::string description,
|
||||
std::function<void()> executeFunc,
|
||||
std::function<void()> undoFunc);
|
||||
|
||||
void Execute() override { if (m_executeFunc) m_executeFunc(); }
|
||||
void Undo() override { if (m_undoFunc) m_undoFunc(); }
|
||||
std::string GetDescription() const override { return m_description; }
|
||||
|
||||
private:
|
||||
std::string m_description;
|
||||
std::function<void()> m_executeFunc;
|
||||
std::function<void()> m_undoFunc;
|
||||
};
|
||||
|
||||
} // namespace UsdLayerManager
|
||||
Reference in New Issue
Block a user