undo@Cmd

コマンドのクラスです。
このクラスを継承し、cmdメソッドをオーバーライドすることで、アンドゥで扱うコマンドを作ります。

 undo@Cmd.cmd



コマンドを実行するメソッドです。

func cmd()

このメソッドをオーバーライドすることで、アンドゥで扱うコマンドを作ります。
このメソッドはUndoクラスから呼び出されます。

 undo@Undo

アンドゥ、リドゥを管理するクラスです。
インスタンスは#演算子ではなく、undo@makeUndoで作成してください。

 undo@Undo.add

コマンドを追加するメソッドです。

func add(undo: undo@Cmd, redo: undo@Cmd)

undoアンドゥのコマンド
redoリドゥのコマンド
このメソッドは、recordBeginメソッドとrecordEndメソッドの呼び出しの間に実行する必要があります。
発生条件ビルド例外コード
recordBeginメソッドを呼んでいないdbgのみ0xE917000A

 undo@Undo.recordBegin

コマンドの記録を開始するメソッドです。

func recordBegin()

recordBeginメソッドを呼んでからrecordEndメソッドを呼ぶまでの間が1セットのコマンドとみなされます。
発生条件ビルド例外コード
既にrecordBeginを呼んでいるdbgのみ0xE917000A

 undo@Undo.recordEnd

コマンドの記録を終了するメソッドです。

func recordEnd()

recordBeginメソッドを呼んでからrecordEndメソッドを呼ぶまでの間が1セットのコマンドとみなされます。
発生条件ビルド例外コード
recordBeginメソッドを呼んでいないdbgのみ0xE917000A

 undo@Undo.recording

コマンドを記録中かどうかを取得するメソッドです。

func recording(): bool

戻り値コマンドを記録中ならtrue、記録中でないならfalse

 undo@Undo.redo

リドゥを実行するメソッドです。

func redo()

recordBeginを呼んでからrecordEndを呼ぶまでの間に追加されたコマンドを1セットとみなして、1セット分のリドゥコマンドを実行します。
発生条件ビルド例外コード
コマンドを記録中にこのメソッドが呼ばれたdbgのみ0xE917000A

 undo@Undo.undo

アンドゥを実行するメソッドです。

func undo()

recordBeginを呼んでからrecordEndを呼ぶまでの間に追加されたコマンドを1セットとみなして、1セット分のアンドゥコマンドを実行します。
発生条件ビルド例外コード
コマンドを記録中にこのメソッドが呼ばれたdbgのみ0xE917000A

 undo@makeUndo

アンドゥクラスのインスタンスを作成する関数です。

func makeUndo(undoBufSize: int): undo@Undo

undoBufSizeコマンドを記録するバッファのサイズ
戻り値アンドゥクラスのインスタンス
アンドゥおよびリドゥは、それぞれおよそundoBufSize回のコマンドが記録できます。 またコマンドのセットごとに区切りを記録し、この区切りも1回分のコマンドに相当するバッファを消費します。
undoBufSizeを超えるコマンドを記録したとき、古いコマンドから順に記録が消えます。
1733253771jaf