Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
SiliconStudio.ActionStack.ITransactionalActionStack Interface Reference

Base interface for a transactional action stack. More...

Inheritance diagram for SiliconStudio.ActionStack.ITransactionalActionStack:
SiliconStudio.ActionStack.IActionStack SiliconStudio.ActionStack.NullTransactionalActionStack SiliconStudio.ActionStack.TransactionalActionStack SiliconStudio.Presentation.ViewModel.ActionStack.ViewModelTransactionalActionStack

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...
 
- Public Member Functions inherited from SiliconStudio.ActionStack.IActionStack
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

- Properties inherited from SiliconStudio.ActionStack.IActionStack
IEnumerable< IActionItemActionItems [get]
 Gets the action items currently stored in the action stack, including undone items that have not been disbranched. More...
 
- Events inherited from SiliconStudio.ActionStack.IActionStack
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...
 

Detailed Description

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.

Member Function Documentation

IDisposable SiliconStudio.ActionStack.ITransactionalActionStack.BeginCancelTransaction ( )

Creates a BeginTransaction-CancelTransaction transaction subscription. Use it with a using statement to ensure balanced state integrity.

Returns
Returns a cancel transaction subscription.
See also
BeginTransaction, CancelTransaction

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.

Returns
Returns a discard transaction subscription.
See also
BeginTransaction, DiscardTransaction

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.

Parameters
nameThe name given to the transaction at the end.
Returns
An EndTransaction subscription.
See also
BeginTransaction, EndTransaction(string)

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.

Parameters
getNameA delegate that late-evaluate the name given to the transaction at the end.
Returns
Returns a end transaction subscription.
See also
BeginTransaction, EndTransaction(string)

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.

Parameters
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.

Parameters
displayName
aggregateActionItemsA 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.


The documentation for this interface was generated from the following file: