fix(gui): forward optional visibility arg in Workbench.appendToolbar() #182

Merged
forbes merged 1 commits from fix/appendToolbar-visibility into main 2026-02-13 01:57:49 +00:00
Owner

Summary

The Python wrapper class Workbench in FreeCADGuiInit.py only accepted (name, cmds) in its appendToolbar() method, but the underlying C++ PythonWorkbench::appendToolbar accepts an optional third visibility string (PyArg_ParseTuple(args, "sO|s", ...)).

When workbenches passed a visibility argument like "Unavailable", the Python wrapper raised:

Workbench.appendToolbar() takes 3 positional arguments but 4 were given

Changes

  • Add optional visibility parameter to Workbench.appendToolbar() in src/Gui/FreeCADGuiInit.py
  • Forward the parameter to the C++ binding when present

Testing

The Silo workbench InitGui.py calls self.appendToolbar("Silo Origin", cmds, "Unavailable") — this no longer raises an error.

## Summary The Python wrapper class `Workbench` in `FreeCADGuiInit.py` only accepted `(name, cmds)` in its `appendToolbar()` method, but the underlying C++ `PythonWorkbench::appendToolbar` accepts an optional third visibility string (`PyArg_ParseTuple(args, "sO|s", ...)`). When workbenches passed a visibility argument like `"Unavailable"`, the Python wrapper raised: ``` Workbench.appendToolbar() takes 3 positional arguments but 4 were given ``` ## Changes - Add optional `visibility` parameter to `Workbench.appendToolbar()` in `src/Gui/FreeCADGuiInit.py` - Forward the parameter to the C++ binding when present ## Testing The Silo workbench `InitGui.py` calls `self.appendToolbar("Silo Origin", cmds, "Unavailable")` — this no longer raises an error.
forbes added 1 commit 2026-02-12 19:41:11 +00:00
fix(gui): forward optional visibility arg in Workbench.appendToolbar()
All checks were successful
Build and Test / build (pull_request) Successful in 36m44s
ab71902a4c
The Python wrapper in FreeCADGuiInit.py only accepted (name, cmds) and
did not forward the optional visibility parameter to the underlying C++
PythonWorkbench::appendToolbar which accepts 'sO|s'. This caused a
'takes 3 positional arguments but 4 were given' error when workbenches
passed a visibility string like 'Unavailable'.
forbes merged commit a10143a661 into main 2026-02-13 01:57:49 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#182