This commit is generated using regex based find and replace:
```
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*getObject\(\s*\)\)/getObject<$1>/
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*([^)]*)\s*->\s*getObject\(\s*\)\)/$2->getObject<$1>()/
```
To regenerate if needed.
+ fix memory leak by using QDialog on the stack
+ open a transaction where needed when making a copy to avoid mess with undo/redo
+ set proper title and use main window as parent
+ replace class name Dialog with PartDesignGui::DlgReference
* Remove hint system on buttons. Buttons show currently selected
reference type, instead.
* Change button's caption to "Selecting..." when selecting.
* internal logic rearrangements
When another bit of information was needed to be extracted from mode
suggestion routine, it felt like listMapModes had too many arguments.
So, the arguments have been collapsed into a struct. This triggered a
few namespace-related changes, which lead to massive search-and-replace
changes all over FreeCAD.
So the only functional change carried out is the addition of reference
types readout to info returned by suggestor.
Attachment mode list used to display only the modes that fit current
references. Now, modes that can be reached by adding more references are
listed too, but grayed out.
On datum creation it is better to ask the user on OK than on tool activation, as he might hit cancel (and then the created references are till there) or even more important, he could add additional external references within the dialog. The disadvantae is that if the user sets "cross reference" ge gets asked again every time he opens and leaves the dialog.
- Rebase App::Origin on App::DocumentObject
- Keep all control over the Origin structure inside the Origin and it's
ViewProvider
- Add OriginFeature class as common base for App::Plane and App::Line
- Rebase App::Plane and App::Line on top of newly created class and
move to the file.
- Change Origin's ViewProvider API associated with temporary display
- Lots of associated changes to files
- Several minor fixes
- Lots of new bugs
* fix messagebox not popping when clicking OK but status is error
* accept preselection
* unify code for all datum commands
* edit selected datum if type matches, instead of creating new one