82. Customizing the GUI
PyAero’s interface is intentionally assembled from small, structured building blocks rather than hard-coded menu and toolbar definitions scattered throughout the codebase.
83. Main Customization Points
The key files are:
src/ActionRegistry.pyresources/Menus/menu_layout.jsonresources/Menus/toolbar_layout.jsonresources/Shortcuts/shortcuts.json
84. Action Registry
The action registry defines:
action ids
labels
tooltips
icons
default shortcuts
callback targets
When you add a new command, the usual flow is:
define the action in
src/ActionRegistry.pyplace the action id in the menu or toolbar layout
optionally document or override its shortcut
85. Why This Matters
This structure keeps the interface maintainable:
the same action can appear in both menu and toolbar without duplicate logic
shortcut editing works against one shared source of truth
UI polish can evolve without rewriting every callback path
86. Workflow Pages
The workflow sidebar itself is built from page-builder modules such as:
src/ToolboxPagesAirfoil.pysrc/ToolboxPagesMeshing.pysrc/ToolboxPagesAnalysis.pysrc/ToolboxPagesCfd.py
This makes it practical to evolve one page at a time without destabilizing the whole interface.