Uranium
Application Framework
 All Classes Namespaces Files Functions Variables Pages
UM.Operations.OperationStack.OperationStack Class Reference

A stack of operations. More...

Public Member Functions

def __init__
 
def push
 Push an operation on the stack. More...
 
def undo
 Undo the current operation. More...
 
def redo
 Redo the next operation. More...
 
def getOperations
 Get the list of operations in the stack. More...
 
def canUndo
 Whether we can undo any more operations. More...
 
def canRedo
 Whether we can redo any more operations. More...
 

Static Public Attributes

tuple changed = Signal()
 Signal for when the operation stack changes. More...
 

Detailed Description

A stack of operations.

This maintains the history of operations, which allows for undoing and re-doing these operations.

Member Function Documentation

def UM.Operations.OperationStack.OperationStack.canRedo (   self)

Whether we can redo any more operations.

Returns
True if we can redo any more operations, or False otherwise.
def UM.Operations.OperationStack.OperationStack.canUndo (   self)

Whether we can undo any more operations.

Returns
True if we can undo any more operations, or False otherwise.
def UM.Operations.OperationStack.OperationStack.getOperations (   self)

Get the list of operations in the stack.

The end of the list represents the more recent operations.

Returns
A list of the operations on the stack, in order.
def UM.Operations.OperationStack.OperationStack.push (   self,
  operation 
)

Push an operation on the stack.

This will perform the following things in sequence:

  • If the current index is pointing to an item lower in the stack than the top, remove all operations from the current index to the top.
  • Append the operation to the stack.
  • Call redo() on the operation.
  • Perform merging of operations.
Parameters
operationOperation The operation to push onto the stack.
def UM.Operations.OperationStack.OperationStack.redo (   self)

Redo the next operation.

This will call redo() on the current operation and increment the current index.

def UM.Operations.OperationStack.OperationStack.undo (   self)

Undo the current operation.

This will call undo() on the current operation and decrement the current index.

Member Data Documentation

tuple UM.Operations.OperationStack.OperationStack.changed = Signal()
static

Signal for when the operation stack changes.


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