Prima::Widget::UndoActions - undo and redo the content of editable widgets
Generic helpers that implement stored actions for undo/redo.
package MyUndoableWidget; use base qw(Prima::Widget Prima::Widget::UndoActions); sub on_mousedown { if ( $button == mb::Left ) { $self->begin_undo_group; $self->push_undo_action(text => $self->text); $self->text($self->text . '.'); $self->end_undo_group; } else { $self->undo; # will call $self->text( old text ) } }
Sets the limit on the number of atomic undo operations. If 0, undo is disabled.
Opens a bracket for a group of actions that can be undone as a single operation. The bracket is closed by calling end_undo_group.
end_undo_group
Return a boolean flag that reflects if the undo or redo actions could be done. Useful for graying a menu, f ex.
Closes the bracket for a group of actions, that was previously opened by begin_undo_group.
begin_undo_group
Should be called once, inside init()
Checks whether there are any undo-able ACTIONs in the undo list.
Stores a single undo action where ACTION is a method to be called inside undo/redo, if any. Each action is added to the last undo group and will be removed/replayed together with the other actions in the group.
Stores a single undo action where ACTION is the method to be called inside undo/redo, if any. Each action is a single undo/redo operation.
Re-applies changes, previously rolled back by undo.
undo
Rolls back changes into an internal array. The array size cannot extend the undoLimit value. In case undoLimit is 0 no undo actions can be made.
undoLimit
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, Prima::Edit,
To install Prima, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prima
CPAN shell
perl -MCPAN -e shell install Prima
For more information on module installation, please visit the detailed CPAN module installation guide.