Skip to content

Add GUI fields for KiBot's rail widener framing plugin - #931

Open
Reid-n0rc wants to merge 1 commit into
yaqwsx:masterfrom
Reid-n0rc:rail-widener-gui
Open

Reid-n0rc wants to merge 1 commit into
yaqwsx:masterfrom
Reid-n0rc:rail-widener-gui

Conversation

@Reid-n0rc

Copy link
Copy Markdown

Closes #930

Summary

Adds dedicated pcbnew panelize-dialog fields for KiBot's rail widener framing plugin (see INTI-CMNB/KiBot#953, implemented in INTI-CMNB/KiBot#954).

  • Extends the framing type choices with railstb+widener/railslr+widener/frame+widener/tightframe+widener.
  • Selecting one of these swaps the generic Code/Arg boxes for dedicated Widenercorners/Widenerwidth/Widenerlength/Widenergap fields.
  • ppFraming() collapses those synthetic fields into the existing type: plugin / code / arg form during preset resolution (code pointed at kibot.panelize_plugins.rail_widener.RailWidenerFramingPlugin, arg built from the widener fields), so the rest of the panelize/plugin-loading pipeline is untouched.
  • Only kikit/panelize_ui_sections.py changes; no changes to the actual panelization logic.

Dependency: this only makes sense once KiBot's rail widener PR (INTI-CMNB/KiBot#954) is merged and released, since the generated arg references that module path. Please don't merge this before that lands.

Test plan

  • Verified ppFraming() resolves a railstb+widener section (with widenercorners/widenerwidth/widenerlength/widenergap) into type: plugin + the correct code class object + arg JSON (units correctly converted to KiCad native IU, matching what width/fillet resolve to in the same section).
  • Installed this into a local KiCad 10 Python environment and confirmed the new types/fields appear and work in pcbnew's own Tools > External Plugins > Panelize PCB dialog, producing a panel with the rail widener patches.

Adds railstb+widener/railslr+widener/frame+widener/tightframe+widener
framing types to the panelize dialog. Selecting one exposes dedicated
Widenercorners/Widenerwidth/Widenerlength/Widenergap fields, which get
collapsed into the generic type=plugin/code/arg form (pointing at
kibot.panelize_plugins.rail_widener.RailWidenerFramingPlugin) during
preset resolution, so the actual panelization code is untouched.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] GUI fields for KiBot's rail widener framing plugin

1 participant