View Issue Details

IDProjectCategoryView StatusLast Update
0004090FreeCADFeaturepublic2021-02-06 06:49
Reportergraffy Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Target Version0.20 
Summary0004090: Provide direct access to task panel dialog from Python
DescriptionIn Python, there's no way to provide direct access to the task panel. Typically, this can be managed easily enough by simply passing a reference to the form from the module that creates it to subsequent modules that may need it.

However, the C++ API already provides this accessibility via Gui.Control().activeDialog(). Unfortunately, the Python wrapper implementation merely returns a boolean indicating whether or not the active dialog exists.

Suggest rewriting the Python Control.activeDialog() to return a reference to the active dialog (or None). This should pose little issue for existing code using Control.activeDialog() as any boolean test will still function properly.
TagsGUI
FreeCAD Information

Activities

graffy

2019-08-13 13:01

reporter   ~0013422

Link to forum thread:

https://forum.freecadweb.org/viewtopic.php?p=326529#p326529

rockn

2020-11-09 16:32

developer   ~0014968

+1 for this feature request

I agree this would be best to have this implemented in
FreeCADGui.Control.activeDialog()
but maybe we can add this method instead :
FreeCADGui.Control.getActiveDialog()
to provide name and other interesting informations about the current activeDialog.

Issue History

Date Modified Username Field Change
2019-08-12 12:56 graffy New Issue
2019-08-12 12:56 graffy Tag Attached: GUI
2019-08-13 13:01 graffy Note Added: 0013422
2020-11-09 16:32 rockn Note Added: 0014968
2021-02-06 06:49 abdullah Target Version => 0.20