Another way could be a "freeze" of the automagics.
In some interface, there is a way to say "stop to reacting" to something, and then "restore the normal behaviour".
In this way when dealing with complex things, you can "freeze" the object modify all the things, some operations could affect the "automagic" so some things could became broken during modifications, once done the modification you should restart the normal behaviour and update the thing.
Now I don't know if simply adding such methods (stop and ) could be viable or simple, like I have seen recently some similar methods in PathJobGui.py
Code: Select all
FreeCAD.ActiveDocument.openTransaction(translate("Path_Job", "Create Job"))
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.abortTransaction()
Simply as an example.
Regards
Carlo D.