Gray out calib 4
This MR factors out the CoordinateSystemBox. I apologzie in advance, this MR tackles multiple things at once while doing that.
The changes are:
- moving the "Coordinate System" box out of control into its own cpp/h/ui file
- that means moving the widget and all its signal/slot connections
- Create new interface
WorldImageCorrespondence
for all calculations between image/pixel coords and world coords (dispatches toExtrCalibration
when 3D, else uses old 2D coord sys) - Moves the methods for wold image correspondence from the
ImageItem
to the newly createdCoordinateSystemBox
- During this change: Make the 2D coord system not depend on
mapToItem
; its now using normal affine transformations (QTransform
) instead, which incidentally should make #383 easier -
imageSizeChanged
is now a slot ofControl
, such thatImageItem
can call it without having a reference toControl
by sending a signal (Following that: image item is now now directly depending on control anymore) - Some include clean-up
Reviewer Checklist
Formatting
-
the pre-build checks succeed
General code quality
-
naming conventions are met (see .clang-tidy for detailed information) -
no static analyzer warnings in new code parts (e.g., use clang-tidy for checking)
General usability
-
old versions of pet-files are still loadable
Only if changes in UI
-
new elements are also saved and loaded from pet-file -
check if tab order is still correct -
all new SpinBoxes are promoted -
new keybindings added to Petrack::keyBindings()
Edited by Schrödter, Tobias