GUI refactoring: diminished cyclic include dependence in View
For training purpose I started refactoring from View part.
It already had distinct hierarchy on dependency graph, but there still existed triangle Edit <--> Tool <--> PropertyEditor
The changes are following:
-
Whole folder
GUI/View/Editmerged toGUI/View/Common.GUI/View/EdithadDoubleSpinBoxandDoubleLineEdit. These classes that are just changed Qt classes should lie with other simple "bricks" and be accessible for any class inViewfolder. That is why theGUI/View/Commonfolder is the right place. -
ScientificSpinBoxandCustomEventFiltersare also simple Qt derivatives that should be accessible everywhere inView. So they were also moved fromGUI/View/PropertyEditortoGUI/View/Common. -
ScientificSpinBoxnow inheritsQDoubleSpinboxinstead ofQAbstractSpinbox. In fact, it was anyway intended for "double" values but there was necessity to explicitly overload some configuration functions for bothQDoubleSpinboxandScientificSpinBox.
Dependency graphs:
There are still mutual dependencies Common<-->Tool and Job<-->Main.
DoubleSpinBox from Common uses configuration method from Tool at creation. This looks tolerable.
Job and Main should see each other for showing progress bar and automatically refocus when simulation is finished. This is also looks OK.