7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-23 00:23:32 +00:00
Commit Graph

43694 Commits

Author SHA1 Message Date
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