Tomasz Wlostowski
f60017903f
demos: demo project for the MULTICHANNEL_TOOL
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
6e84d665ed
pcbnew: clean-up and partial de-auto-ization of MULTICHANNEL_TOOL
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
d37bdfbfe8
pcbnew: default arguments for the constructor of PCBEXPR_CONTEXT
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
ad66ea60df
pcbnew: moved the multichannel tools into Tools menu
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
99d53647e8
pcbnew: improvements in the heuristics of the MULTICHANNEL_TOOL topology matching algo.
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
7315d8e47b
common: COMMIT now throws an assertion if an item is added/deleted multiple times
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
628d4d3fdb
pcbnew: weeding out bugs in the MULTICHANNEL_TOOL...
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
c790a17aae
pcbnew: add rule area type as an introspectable property
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
a27d529cbc
pcbnew: performance improvements & grouping bugfixes in multichannel tool
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
49f470f0a6
pcbnew: fixes in the logic of multichannel tool dialogs
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
9b671d3448
pcbnew: first working version of the Repeat Layout feature (MULTICHANNEL_TOOL)
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
c617b0d3b1
pcbnew: implement logic of Repeat Layout dialog
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
048bbcb02b
BOARD_COMMIT: allow to make PCB-editor specific commits outside the actual pcbnew
...
Useful for testing pcbnew's tools without building the actual pcbnew.
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
c3b57f9f02
pcbnew: add MULTICHANNEL_TOOL files to CMakeLists
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
b236e3a9ab
pcbnew: menu entries for the MULTICHANNEL_TOOL
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
689ba39581
pcbnew: register the MULTICHANNEL_TOOL in the tool manager.
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
4347ae1270
router: ignore the newly introduced placement rule areas, just focus on keepouts for the moment.
2024-08-13 22:50:26 +02:00
Tomasz Wlostowski
d34bcc8f08
PCB_ACTIONS: add actions for MULTICHANNEL_TOOL
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
43c8ecd77f
PCB_TOOL_BASE: allow casting the frame to types other than PCB_BASE_DRAW_FRAME.
...
This is useful when testing pcbnew's TOOLs outside the real pcbnew window (example: P&S log viewer/playground), as
with the default cast, all of pcbnew UI would have to be linked in for the tests to build.
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
31111b2652
pcbnew: initial implementation of MULTICHANNEL_TOOL. Ugly and buggy.
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
1105ab755c
pcbnew: initial versions of dialogs for the MULTICHANNEL_TOOL
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
8f25491a1d
DIALOG_RULE_AREA_PROPERTIES: support for placement rule areas:
...
- radio box for selecting between "Keepout" and "Placement" rule type
- optional scintilla control for inputting the Placement query/filter expression
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
e35f64c3cf
pcbnew: parse also the human readable hierarchical sheet paths for footprints when reading the netlist
...
We've had so far the chain of UUIDs, but for the ease of use in the DRC language (i.e. memberOfSheet),
a human-readable path is also useful. No file format changes.
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
46b54da139
pcbnew: BuildConnectivity() must remove any dangling RN_NET pointers when rebuilding connectivity data from scratch to avoid use-after-free crashes
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
7b784a5986
common: update PCB file format keyword with placement rule areas
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
64afa302c9
pcbnew: improve handling of trailing '/' in hierarchical sheet paths in DRC memberOfSheet() function
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
cb4b26b39b
pcbnew: file format support for placement rule areas
...
Added:
- "placement" tag to denote placement Rule Areas
- "expr" tag for providing the filtering expression
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
05fc8199dc
pcbnew: added Placement Rule Area properties to class ZONE:
...
- RuleAreaType: distinction between Keepout and Placement rule areas
- RuleAreaExpression: custom DRC language expression for assigning components for Placement rules
2024-08-13 22:50:25 +02:00
Tomasz Wlostowski
8bb4dce288
pcbnew: initial commit for MULTICHANNEL_TOOL, wip in dialogs & tool actions
2024-08-13 22:50:25 +02:00
JamesJCode
ca2f96fc07
Add configurable thickness and opacity for net color highlighting
2024-08-13 21:15:15 +01:00
jean-pierre charras
8d53090581
Pcbnew: fix 2 issues after removing a track, especially ending on a teardrop
...
- Message panel display not always correctly updated (shows an old data)
- Incorrect updated ratsnest is some cases when removing a track ending on
a teardrop.
2024-08-13 19:54:09 +02:00
John Beard
67b6ba33d3
Pcbnew/FPedit: Make orthogonal dimensions the default
...
Aligned (free-angle) dimensions are much less common than
H/V ones in most PCB fab drawings and footprint drawings.
2024-08-13 08:36:10 +01:00
John Beard
f2d2e953f7
Fix clang warning (need virtual dtor)
2024-08-13 08:36:10 +01:00
Jeff Young
8a487c2c86
Fix missing parameter.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18530
2024-08-12 20:31:46 -06:00
JamesJCode
19d5d21f23
Move netclass highlighting style to application-level setting
...
Also includes bugfix whereby wires, junctions, and bus entries
were not subject to override of local colors.
2024-08-12 23:52:01 +01:00
JamesJCode
8b412e5df4
Fix exception when opening application schematic color settings panel
2024-08-12 22:52:16 +01:00
JamesJCode
ea482e8d15
Revert NET_SETTING schema increment
2024-08-12 22:40:12 +01:00
Jeff Young
528b74db7f
Improve PIN_TRICKS to handle pins with no names.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18535
2024-08-12 15:18:59 -06:00
JamesJCode
6371b15aa4
Implement highlighting style for netclass colors
2024-08-12 21:39:07 +01:00
JamesJCode
d95901d981
Fix import netclass colors to PCB for new default netclass position
2024-08-12 19:53:36 +01:00
JamesJCode
0aa82b9a04
Correctly handle read-only fields for default netclass
2024-08-12 18:13:02 +01:00
Jon Evans
4332618e68
Fix uninitialized member
2024-08-12 08:27:24 -04:00
Jeff Young
522c2b9e7e
Only update UnusedPads properties when it matters.
...
(Note that this is only for the Remove Unused Pads dialog, not the property inspector or pad properties or via properties dialogs.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18454
2024-08-11 22:16:23 -06:00
Jeff Young
f89ba38b66
ADDED: importing text vars from Schematic Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18465
2024-08-11 19:33:15 -06:00
Jeff Young
a6eec63688
ADDED: importing bus aliases from Schematic Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18465
2024-08-11 19:33:15 -06:00
Jon Evans
bd946313dc
ADDED: Position items relative to arbitrary reference point
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4756
2024-08-11 18:59:26 -04:00
Jon Evans
c9af2f318f
Ensure constraints when changing pad hole properties
...
Also expose hole shape to properties system
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17575
2024-08-11 18:10:15 -04:00
Jeff Young
014a2a49e1
Make dialog modified state work in Pad Properties.
2024-08-11 12:45:36 -06:00
Jeff Young
f4b635e551
ADDED: annular rings setting to Edit Track & Via Properties.
2024-08-11 12:45:36 -06:00
Jeff Young
04d3779a5a
Minor fixes to dialog layout.
2024-08-11 12:45:36 -06:00