New Undo / Redo stack for the gizmos. The Gizmo specific stack is

entered with Plater::enter_gizmos_stack(), and left with
Plater::enter_gizmos_stack(). Other than that, the 2nd Undo / Redo
stack is transparent to the user of the Plater.

WIP: Currently the Gizmo stack takes a snapshot of the whole scene on
Plater::enter_gizmos_stack(). While it should work, it may be cheaper
to modify the Undo/Redo stack to only take a snapshot of the gizmos
in the Gizmo mode.
This commit is contained in:
bubnikv 2019-07-26 13:44:33 +02:00
parent eefd950e16
commit 30d4bfd410
5 changed files with 94 additions and 34 deletions

View file

@ -197,7 +197,11 @@ public:
void redo_to(int selection);
bool undo_redo_string_getter(const bool is_undo, int idx, const char** out_text);
void undo_redo_topmost_string_getter(const bool is_undo, std::string& out_text);
const Slic3r::UndoRedo::Stack& undo_redo_stack() const;
// For the memory statistics.
const Slic3r::UndoRedo::Stack& undo_redo_stack_main() const;
// Enter / leave the Gizmos specific Undo / Redo stack. To be used by the SLA support point editing gizmo.
void enter_gizmos_stack();
void leave_gizmos_stack();
void on_extruders_change(int extruders_count);
void on_config_change(const DynamicPrintConfig &config);