=====================================================================
fixes#4241
Problem:
PartDesignGui::ViewProvider is responsible for closing the tasks for most of PD features when exiting edit mode
(i.e. unsetEdit()).
For primitives, PartDesignGui::ViewProviderPrimitive is responsible, and neither does it or relies on its parent
VP to do it when calling unsetEdit().
Solution:
Make PartDesignGui::ViewProviderPrimitive::unsetEdit() rely on parent PartDesignGui::ViewProvider to tidy up,
including closing the task dialog.
Reference:
This is the default stack call when closing a document while a PD task using PartDesignGui::Viewprovider is active:
========================================================
- Correction to mustExecute() to account for the new properties
- Make properties not used by the mode as read-only.
- Gui: apply() only for construction mode valid features
* in the undo/redo list use an object's label and not the internal name
* check by the transaction ID instead of name to open a transaction to make the workbenches independent of implementation details of the core system
* when rejecting a task do not call undo() because this is not the same as aborting a pending transaction
* this also fixes the warning: <App> Document.cpp(1182): Cannot commit transaction while transacting