source: src/Actions/CommandAction/UndoMarkAction.def@ c41ce0

Candidate_v1.7.0 stable
Last change on this file since c41ce0 was 0ec9f5, checked in by Frederik Heber <frederik.heber@…>, 5 years ago

Added UndoMarkAction.

NOTE: This action is necessary as not all actions are actually recorded
in the history. For example, the UndoAction is an action that is not
pushed into the history deque and also must not as further undos would
then become impossible. There are other actions that just do output
or similar things that do not change the state.
This makes it impossible to undo back to a certain state by blindly
counting actions as one cannot know from the outside whether an action
is stateless or not.

undoing till the set mark.

  • TESTS: added regression test case on undo-mark.
  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[0ec9f5]1/*
2 * UndoMarkAction.def
3 *
4 * Created on: Apr 06, 2021
5 * Author: heber
6 */
7
8// all includes and forward declarations necessary for non-integral types below
9
10#include "Parameters/Validators/DummyValidator.hpp"
11
12// i.e. there is an integer with variable name Z that can be found in
13// ValueStorage by the token "Z" -> first column: int, Z, "Z"
14// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
15#define paramtypes (bool)
16#define paramtokens ("undo-mark")
17#define paramdescriptions ("whether to set (true) the undo mark or reset (false)")
18#undef paramdefaults
19#define paramreferences (doSet)
20#define paramvalids (DummyValidator<bool>())
21
22#undef statetypes
23#undef statereferences
24
25// some defines for all the names, you may use ACTION, STATE and PARAMS
26#define CATEGORY Command
27#define MENUNAME "command"
28#define MENUPOSITION 8
29#define ACTIONNAME UndoMark
30#define TOKEN "undo-mark"
31
32
33// finally the information stored in the ActionTrait specialization
34#define DESCRIPTION "marks the current last action in the undo history to allow undoing directly to that state"
35#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.