载入中...
搜索中...
未找到
eve::editor::IEditorTransactionBackend类 参考abstract

Transaction boundary consumed by editor property and other UI models. 更多...

#include <EditorTransactionService.h>

类 eve::editor::IEditorTransactionBackend 继承关系图:
eve::editor::LocalTransactionBackend

Public 成员函数

virtual ~IEditorTransactionBackend ()=default
 Releases IEditorTransactionBackend resources.
 
virtual Result< TransactionId > begin (TransactionSpec specification)=0
 Begin an explicit transaction without mutating its target.
 
virtual Result< void > append (DomainOperation operation)=0
 Append a serializable operation to the pending transaction.
 
virtual Result< EditorDryRunReport > preview ()=0
 Validate the pending transaction without publishing target state.
 
virtual Result< TransactionReceipt > commit ()=0
 Publish the pending transaction and retain it for undo.
 
virtual Result< void > discard ()=0
 Discard pending work after reverting any provisional preview.
 
virtual Result< TransactionReceipt > retry ()=0
 Retry a failed commit while retaining its original operation list.
 
virtual Result< TransactionReceipt > undo ()=0
 Compensate the latest committed transaction.
 
virtual Result< TransactionReceipt > redo ()=0
 Reapply the latest compensated transaction.
 
virtual bool active () const noexcept=0
 Whether a transaction is currently pending.
 
virtual bool canUndo () const noexcept=0
 Whether committed history can be compensated.
 
virtual bool canRedo () const noexcept=0
 Whether compensated history can be reapplied.
 

详细描述

Transaction boundary consumed by editor property and other UI models.

Implementations are borrowed by the model and must outlive every synchronous call. The boundary owns the pending transaction and history; callers must inspect every structured result. Implementations are owner-thread-only and must not invoke an unknown callback while coordinating a transaction.

在文件 EditorTransactionService.h 第 17 行定义.

构造及析构函数说明

◆ ~IEditorTransactionBackend()

virtual eve::editor::IEditorTransactionBackend::~IEditorTransactionBackend ( )
virtualdefault

Releases IEditorTransactionBackend resources.

成员函数说明

◆ active()

virtual bool eve::editor::IEditorTransactionBackend::active ( ) const
pure virtualnoexcept

◆ append()

virtual Result< void > eve::editor::IEditorTransactionBackend::append ( DomainOperation  operation)
pure virtual

Append a serializable operation to the pending transaction.

在 eve::editor::LocalTransactionBackend 内被实现.

被这些函数引用 eve::editor::MaterialStudioController::commitInteraction() , 以及 eve::editor::EditorPropertyModel::write().

◆ begin()

virtual Result< TransactionId > eve::editor::IEditorTransactionBackend::begin ( TransactionSpec  specification)
pure virtual

◆ canRedo()

virtual bool eve::editor::IEditorTransactionBackend::canRedo ( ) const
pure virtualnoexcept

Whether compensated history can be reapplied.

在 eve::editor::LocalTransactionBackend 内被实现.

◆ canUndo()

virtual bool eve::editor::IEditorTransactionBackend::canUndo ( ) const
pure virtualnoexcept

Whether committed history can be compensated.

在 eve::editor::LocalTransactionBackend 内被实现.

◆ commit()

virtual Result< TransactionReceipt > eve::editor::IEditorTransactionBackend::commit ( )
pure virtual

◆ discard()

virtual Result< void > eve::editor::IEditorTransactionBackend::discard ( )
pure virtual

◆ preview()

virtual Result< EditorDryRunReport > eve::editor::IEditorTransactionBackend::preview ( )
pure virtual

◆ redo()

virtual Result< TransactionReceipt > eve::editor::IEditorTransactionBackend::redo ( )
pure virtual

Reapply the latest compensated transaction.

在 eve::editor::LocalTransactionBackend 内被实现.

被这些函数引用 eve::editor::EditorPropertyModel::redo().

◆ retry()

virtual Result< TransactionReceipt > eve::editor::IEditorTransactionBackend::retry ( )
pure virtual

Retry a failed commit while retaining its original operation list.

在 eve::editor::LocalTransactionBackend 内被实现.

被这些函数引用 eve::editor::EditorPropertyModel::retryTransaction().

◆ undo()

virtual Result< TransactionReceipt > eve::editor::IEditorTransactionBackend::undo ( )
pure virtual

Compensate the latest committed transaction.

在 eve::editor::LocalTransactionBackend 内被实现.

被这些函数引用 eve::editor::EditorPropertyModel::undo().


该类的文档由以下文件生成: