Files
create/src/Mod/Draft/drafttaskpanels
Roy-043 56d75c2c06 Draft: store 3 ShapeString parameters and remove font from prefs (#21054)
* Draft: store 3 ShapeString parameters and remove font from prefs

With this PR 3 ShapeString parameters are stored:
* ShapeStringFontFile: this replaces the old FontFile parameter.
* ShapeStringHeight
* ShapeStringText

The ShapeStringFontFile is just the last selected font file and not exposed in the Preferences editor.

Additionally:
* Changed the label of the text input box from "String" to "Text".
* Changed the label of the point reset button to sentence case.

* Remove faulty docstring
2025-04-29 07:13:17 -05:00
..
2025-01-13 11:22:20 -06: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.