Class: CommandManager

CommandManager

new CommandManager

コマンドマネージャ

Commandの管理を行うためのクラス

CommandManager#appendで追加された順番でコマンドを管理し、 実行済みコマンドの取り消し、及び実行が取り消されたコマンドの実行を行うことができます。

このクラスは以下のタイミングでイベントをあげます

イベント名 タイミング/th>
disableUndo 取り消すコマンドが無くなった時(undoが呼ばれて一番最初にappendされたコマンドを取り消した時)
enableUndo 取り消すコマンドができた時(redoが呼ばれて、実行済みコマンドができた時)
enableRedo 実行するコマンドができた時(undoが呼ばれて、実行が取り消されたコマンドができた時)
disableRedo 実行するコマンドが無くなった時(redoが呼ばれて、一番最後にappendされたコマンドが実行された時)

Mixes In

Methods

append

コマンドを追加

コマンドが配列で渡された場合は一連のコマンドを一つのコマンドとして扱います

Parameters:
Name Type Description
command Command | Command[]

clearAll

管理対象のコマンド(CommandManager#appendで追加したコマンド)を全て管理対象から外します


redo

一つ進む

最後に実行を取り消したコマンドの実行操作を行います

Returns:
実行したコマンドのexecuteの戻り値
Type
Any

undo

一つ戻す

最後に実行したコマンドの取り消し操作を行います

Returns:
取り消し操作を実行したコマンドのundo()実行時の戻り値
Type
Any