Define here the maximum number of old states that can be saved for each layer.
Undo, Save
Set the maximum number of old states that can be saved in memory,
using the
Undo and
Save mechanisms. Everytime this
number is exceeded, the oldest state is discarded forever.
For each layer, GAMGI maintains a list of old states saved automatically
when a discontinuous action takes place, that can be recovered with the
Undo mechanism.
A discontinuous action occurs when a user presses
Ok, clicks
over the ruler to rotate, move, scale an object, or in general when
a clear boundary can be defined between what existed before and after.
Continuous actions occur when objects are moved, rotated, scaled,
directly with the mouse, as parameters are changing almost continuously.
If continuous actions were saved with
Undo, in a few seconds all
Undo levels would be filled up with almost equal states and old
Undo states would be removed forever, turning the
Undo
mechanism much less useful. Moreover, continuous actions would be slow,
because GAMGI would be saving things all the time.
The
Save mechanism works exactly as the
Undo mechanism,
except that it is fully controlled by the user, who decides when a layer
should be saved, while the
Undo mechanism works without any user
intervention. With the
Save mechanism, users can save any layer
exactly when they wish (in particular after any discontinuous action),
and control when old states are discarded, after exceeding the
number of
Save levels.
The maximum number of
Undo and
Save levels does not affect
performance but the memory required to keep old states, for each layer,
for each window, can be significant, particularly for
Undo,
where old states are saved automatically. Therefore the maximum
number of levels should be kept to relatively low values.
Although
Save and
Undo work exactly in the same way and
complement each other, they use totally independent resources.