* Draft: Introduce 1-axis mode for ortho array As the title says - the 1 axis mode allows to switch between all of the axises mode and allows to modify only 1 axis at the time that user can select with the checkbox. * Draft: Rename to Linear Mode and remove redundant comments * Draft: Display only one interval for the selected axis * Draft: Cache selected variables in user.cfg - axis mode, intervals, etc... * Draft: Make sure the checkboxes in OrthoArray are exclusively selected * Draft: Apply review comments Changed a couple of things according to review: * linear mode is now being used as default during first startup (it wasn't before) * applied Roy's comments about coding style, etc. * grouped everything into separate QGroupBox which is dedicated for Linear Mode and has it's own labels, although spinboxes are shared so during mode switch we reparent them now * removed Orthogonal Array's icon * in the QGroup applied naming suggested in the review, X Intervals -> interval, etc. * changed to radio buttons since we want exclusivity in selection
General
2020 May
These files provide the logic behind the "task panels" of the "GuiCommands"
defined in draftguitools/.
These files should not have code to create the task panel widgets manually.
These interfaces should be properly defined in .ui files
made with Qt Designer and placed inside the Resources/ui/ directory.
There are many GUI commands which are "old style" and thus don't have
an individual task panel. These commands use the task panel defined
in the big DraftGui.py module. This module defines many widgets
for many tools, and selectively chooses the widgets to show and to hide
depending on the command that is activated.
A big file that controls many widgets at the same time is difficult
to handle and to maintain because changing the behavior of one widget
may affect the operation of various GUI commands.
This must be changed so that in the future each tool has its own
individual task panel file, and its own .ui file.
Individual files are more maintainable because changes can be done
to a single tool without affecting the rest.
For more information see the thread: [Discussion] Splitting Draft tools into their own modules
To do
In the future each tool should have its own individual task panel file,
and its own .ui file.
This should be done by breaking DraftGui.py, creating many .ui files,
creating many task panel modules, and making sure these modules
are used correctly by the GUI commands.