![]() |
Paradox Game Engine
v1.0.0 beta06
|
Base interface for a transactional action stack. More...
Public Member Functions | |
IDisposable | BeginEndTransaction (string name) |
Creates a BeginTransaction-EndTransaction subscription. Use it with a using statement to ensure balanced state integrity. More... | |
IDisposable | BeginEndTransaction (Func< string > getName) |
Creates a BeginTransaction-EndTransaction subscription. Use it with a using statement to ensure balanced state integrity. More... | |
IDisposable | BeginCancelTransaction () |
Creates a BeginTransaction-CancelTransaction transaction subscription. Use it with a using statement to ensure balanced state integrity. More... | |
IDisposable | BeginDiscardTransaction () |
Creates a BeginTransaction-DiscardTransaction transaction subscription. Use it with a using statement to ensure balanced state integrity. More... | |
void | BeginTransaction () |
Begins a transaction. IActionItem added after a call to BeginTransaction are stored in a temporary transaction stack, until a call to EndTransaction(string), CancelTransaction, or DiscardTransaction is done. More... | |
void | EndTransaction (string displayName) |
Ends a transaction started with BeginTransaction. More... | |
void | EndTransaction (string displayName, Func< IReadOnlyCollection< IActionItem >, IActionItem > aggregateActionItems) |
Ends a transaction started with BeginTransaction. More... | |
void | CancelTransaction () |
Cancels a transaction started with BeginTransaction. Every action from the cancelled transaction will be undone. More... | |
void | DiscardTransaction () |
Discard a transaction started with BeginTransaction. More... | |
![]() | |
void | Add (IActionItem item) |
Adds an action item to the stack. Discards any action item that is currently undone. More... | |
void | AddRange (IEnumerable< IActionItem > items) |
Adds multiple action items on the stack. Discards any action item that is currently undone. More... | |
void | Clear () |
Clears the action stack. More... | |
SavePoint | CreateSavePoint (bool markActionsAsSaved) |
Creates a save point at the current index of the action stack. More... | |
bool | Undo () |
Undoes the last action item that is currently done. More... | |
bool | Redo () |
Redoes the first action item that is currently undone. More... | |
Additional Inherited Members | |
![]() | |
IEnumerable< IActionItem > | ActionItems [get] |
Gets the action items currently stored in the action stack, including undone items that have not been disbranched. More... | |
![]() | |
EventHandler < ActionItemsEventArgs < IActionItem > > | ActionItemsAdded |
Raised whenever action items are added to the stack. More... | |
EventHandler | ActionItemsCleared |
Raised whenever the action stack is cleared. More... | |
EventHandler < DiscardedActionItemsEventArgs < IActionItem > > | ActionItemsDiscarded |
Raised whenever action items are discarded from the stack. More... | |
EventHandler < ActionItemsEventArgs < IActionItem > > | Undone |
Raised when an action item is undone. More... | |
EventHandler < ActionItemsEventArgs < IActionItem > > | Redone |
Raised when an action item is redone. More... | |
Base interface for a transactional action stack.
A transactional action stack is an action stack that generates IAggregateActionItem from the action items that are added after a transaction is started and before it is finished. A transaction can also be cancelled (undone) or discarded instead of creating an aggregate action item. Multiple transactions can be created at the same time, each transaction that ends will become a single item of the parent transaction in progress.
Definition at line 16 of file ITransactionalActionStack.cs.
IDisposable SiliconStudio.ActionStack.ITransactionalActionStack.BeginCancelTransaction | ( | ) |
Creates a BeginTransaction-CancelTransaction transaction subscription. Use it with a using statement to ensure balanced state integrity.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
IDisposable SiliconStudio.ActionStack.ITransactionalActionStack.BeginDiscardTransaction | ( | ) |
Creates a BeginTransaction-DiscardTransaction transaction subscription. Use it with a using statement to ensure balanced state integrity.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
IDisposable SiliconStudio.ActionStack.ITransactionalActionStack.BeginEndTransaction | ( | string | name | ) |
Creates a BeginTransaction-EndTransaction subscription. Use it with a using statement to ensure balanced state integrity.
name | The name given to the transaction at the end. |
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
IDisposable SiliconStudio.ActionStack.ITransactionalActionStack.BeginEndTransaction | ( | Func< string > | getName | ) |
Creates a BeginTransaction-EndTransaction subscription. Use it with a using statement to ensure balanced state integrity.
getName | A delegate that late-evaluate the name given to the transaction at the end. |
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
void SiliconStudio.ActionStack.ITransactionalActionStack.BeginTransaction | ( | ) |
Begins a transaction. IActionItem added after a call to BeginTransaction are stored in a temporary transaction stack, until a call to EndTransaction(string), CancelTransaction, or DiscardTransaction is done.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
void SiliconStudio.ActionStack.ITransactionalActionStack.CancelTransaction | ( | ) |
Cancels a transaction started with BeginTransaction. Every action from the cancelled transaction will be undone.
This method will undo every action item of the transaction and then discard them.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
void SiliconStudio.ActionStack.ITransactionalActionStack.DiscardTransaction | ( | ) |
Discard a transaction started with BeginTransaction.
This method will ends the transaction and discard every action item it contains.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
void SiliconStudio.ActionStack.ITransactionalActionStack.EndTransaction | ( | string | displayName | ) |
Ends a transaction started with BeginTransaction.
displayName |
Once the transaction is ended, an aggregate action is created with all action items that were added during the transaction. This aggregate is added to the action stack.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.
void SiliconStudio.ActionStack.ITransactionalActionStack.EndTransaction | ( | string | displayName, |
Func< IReadOnlyCollection< IActionItem >, IActionItem > | aggregateActionItems | ||
) |
Ends a transaction started with BeginTransaction.
displayName | |
aggregateActionItems | A function that will aggregate an enumeration of action items into a single action item. |
Once the transaction is ended, an aggregate action is created with all action items that were added during the transaction. This aggregate is added to the action stack.
Implemented in SiliconStudio.ActionStack.TransactionalActionStack, and SiliconStudio.ActionStack.NullTransactionalActionStack.