Canvas Toolkit
← Class index

CUndoStack

Core · extends CObject

Linear undo history. Commands must execute synchronously. Do not call stack mutation methods from a command's undo()/redo()/mergeWith().

import { CUndoStack } from "canvas-toolkit-lib";

Declared members

readonly indexChanged: CSignal<[number]>;
readonly canUndoChanged: CSignal<[boolean]>;
readonly canRedoChanged: CSignal<[boolean]>;
readonly undoTextChanged: CSignal<[string]>;
readonly redoTextChanged: CSignal<[string]>;
readonly cleanChanged: CSignal<[boolean]>;
constructor(parent?: CObject | null);
count(): number;
index(): number;
cleanIndex(): number;
isClean(): boolean;
canUndo(): boolean;
canRedo(): boolean;
undoText(): string;
redoText(): string;
command(index: number): CUndoCommand | null;
push(command: CUndoCommand): void;
undo(): void;
redo(): void;
setIndex(index: number): void;

Out-of-range indices are clamped; non-integer indices are rejected.

setClean(): void;
resetClean(): void;
clear(): void;

Discards history without undoing its effects.

destroy(): void;