17#include <QUndoCommand>
60 const std::string* aRenameName);
64 void PushUndo(QUndoCommand* aUndoPtr);
65 QUndoStack*
UndoStack()
const {
return mUndoStack; }
67 void ClearProxyChanges();
73 static Undo* sInstance;
74 QUndoStack* mUndoStack;
75 QUndoCommand* mCurrentGroup;
76 int mUndoContextCount;
78 int mDiscardProxyChanges;
81class VI_EXPORT UndoProxyChange :
public QUndoCommand
96 const std::string* aRenameName);
100 void undo()
override;
101 void redo()
override;
122 explicit UndoContext(
const char* aUndoDescription =
nullptr);
123 explicit UndoContext(
const std::string& aUndoDescription);
124 explicit UndoContext(
const QString& aUndoDescription);
133 void Init(
const QString& aUndoDescription);
#define VI_EXPORT
Definition ViExport.hpp:38
Represents a path or unique key to a value in the proxy.
Definition WsfPProxyPath.hpp:64
Definition WsfPProxyValue.hpp:33
Definition WsfPProxy.hpp:32
ProxyModifiedReason
Definition WsfPProxy.hpp:35
UndoContext(const char *aUndoDescription=nullptr)
Definition Undo.cpp:332
void Push(QUndoCommand *aUndoPtr)
Definition Undo.hpp:130
QUndoCommand * ParentCommand() const
Definition Undo.cpp:410
void ClearFlags(int aFlags)
Definition Undo.cpp:403
void End()
Definition Undo.cpp:352
void SetFlags(int aFlags)
Definition Undo.cpp:397
std::string mSwapName
Definition Undo.hpp:115
Action mAction
Definition Undo.hpp:111
WsfPProxy * mProxyPtr
Definition Undo.hpp:110
Action
Definition Undo.hpp:85
@ cNULL_ACTION
Definition Undo.hpp:90
@ cADD_CHILD
Definition Undo.hpp:86
@ cREMOVE_CHILD
Definition Undo.hpp:87
@ cRENAME_CHILD
Definition Undo.hpp:89
@ cASSIGN_VALUE
Definition Undo.hpp:88
WsfPProxyPath mChangePath
Definition Undo.hpp:112
bool mIsUndone
Definition Undo.hpp:109
WsfPProxyValue mSwapValue
Definition Undo.hpp:113
Undo(const Undo &)=delete
QAction * CreateUndoAction(QObject *aParent)
Definition Undo.cpp:76
void EndDiscardProxyChanges()
Definition Undo.hpp:69
Undo & operator=(const Undo &)=delete
QAction * CreateRedoAction(QObject *aParent)
Definition Undo.cpp:84
void PushUndo(QUndoCommand *aUndoPtr)
Definition Undo.cpp:58
QUndoStack * UndoStack() const
Definition Undo.hpp:65
static Undo * Instance()
Definition Undo.hpp:39
Flags
Definition Undo.hpp:34
@ cDISCARD_PROXY_CHANGES
Definition Undo.hpp:35
QUndoCommand * CurrentCommand() const
Definition Undo.cpp:53
void BeginDiscardProxyChanges()
Definition Undo.hpp:68
Undo & operator=(Undo &&)=default
QUndoStack * GetUndoStack()
Definition Undo.hpp:70
void BeforeProxyChange(WsfPProxy *aProxyPtr, WsfPProxy::ProxyModifiedReason aProxyModifiedReason, const WsfPProxyPath &aPath, const std::string *aRenameName)
Definition Undo.cpp:35
static void Destroy()
Definition Undo.hpp:40
Undo()
Definition Undo.cpp:19
friend class UndoContext
Definition Undo.hpp:37