Files
create/src/Mod/Draft/drafttaskpanels
tetektoza 46b7c6c385 Draft: Introduce 1-axis mode for ortho array (#21602)
* 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
2025-06-09 17:33:51 +02:00
..
2025-01-13 11:22:20 -06:00
2025-01-13 11:22:20 -06:00

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.