C# Class Illusion.AbstractAction

Base class of action.
Inheritance: IAction
Mostra file Open project: kasicass/kasicass

Public Methods

Method Description
CanExecute ( ) : bool

For most Actions, CanExecute is true when ExecuteCount = 0 (not yet executed) and false when ExecuteCount = 1 (already executed once)

CanUnExecute ( ) : bool

Execute ( ) : void

Apply changes encapsulated by this object.

ExecuteCount++

TryToMerge ( IAction followingAction ) : bool

If the last action can be joined with the followingAction, the following action isn't added to the Undo stack, but rather mixed together with the current one.

UnExecute ( ) : void

Undo changes made by a previous Execute call.

ExecuteCount--

Protected Methods

Method Description
ExecuteCore ( ) : void

Override execute core to provide your logic that actually performs the action

UnExecuteCore ( ) : void

Override this to provide the logic that undoes the action

Method Details

CanExecute() public method

For most Actions, CanExecute is true when ExecuteCount = 0 (not yet executed) and false when ExecuteCount = 1 (already executed once)
public CanExecute ( ) : bool
return bool

CanUnExecute() public method

public CanUnExecute ( ) : bool
return bool

Execute() public method

Apply changes encapsulated by this object.
ExecuteCount++
public Execute ( ) : void
return void

ExecuteCore() protected abstract method

Override execute core to provide your logic that actually performs the action
protected abstract ExecuteCore ( ) : void
return void

TryToMerge() public method

If the last action can be joined with the followingAction, the following action isn't added to the Undo stack, but rather mixed together with the current one.
public TryToMerge ( IAction followingAction ) : bool
followingAction IAction
return bool

UnExecute() public method

Undo changes made by a previous Execute call.
ExecuteCount--
public UnExecute ( ) : void
return void

UnExecuteCore() protected abstract method

Override this to provide the logic that undoes the action
protected abstract UnExecuteCore ( ) : void
return void