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を超えるコマンドを記録したとき、古いコマンドから順に記録が消えます。
func cmd() |
func add(undo: undo@Cmd, redo: undo@Cmd) | |
undo | アンドゥのコマンド |
redo | リドゥのコマンド |
発生条件 | ビルド | 例外コード |
---|---|---|
recordBeginメソッドを呼んでいない | dbgのみ | 0xE917000A |
func recordBegin() |
発生条件 | ビルド | 例外コード |
---|---|---|
既にrecordBeginを呼んでいる | dbgのみ | 0xE917000A |
func recordEnd() |
発生条件 | ビルド | 例外コード |
---|---|---|
recordBeginメソッドを呼んでいない | dbgのみ | 0xE917000A |
func recording(): bool | |
戻り値 | コマンドを記録中ならtrue、記録中でないならfalse |
func redo() |
発生条件 | ビルド | 例外コード |
---|---|---|
コマンドを記録中にこのメソッドが呼ばれた | dbgのみ | 0xE917000A |
func undo() |
発生条件 | ビルド | 例外コード |
---|---|---|
コマンドを記録中にこのメソッドが呼ばれた | dbgのみ | 0xE917000A |
func makeUndo(undoBufSize: int): undo@Undo | |
undoBufSize | コマンドを記録するバッファのサイズ |
戻り値 | アンドゥクラスのインスタンス |