6#include <idoc/CSerializedUndoManagerComp.h>
9#include <imtbase/ITransactionManager.h>
16class CTransactionableUndoManagerComp:
17 public idoc::CSerializedUndoManagerComp,
18 virtual public ITransactionManager
21 typedef idoc::CSerializedUndoManagerComp BaseClass;
23 I_BEGIN_COMPONENT(CTransactionableUndoManagerComp);
24 I_REGISTER_INTERFACE(ITransactionManager);
27 CTransactionableUndoManagerComp();
30 virtual bool StartTransaction()
override;
31 virtual bool CancelTransaction()
override;
32 virtual bool EndTransaction()
override;
35 virtual void BeforeUpdate(imod::IModel* modelPtr)
override;
36 virtual void AfterUpdate(imod::IModel* modelPtr,
const istd::IChangeable::ChangeSet& changeSet)
override;
39 bool m_transactionInProgress;
40 bool m_updateInProgress;