Mike Williams
40058ebe80
actions: move all basic selection operations to common actions
7 months ago
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
10 months ago
JamesJCode
3800bae281
Enforce thread safety in clearance and creepage checks
Previously, these checks injected a custom handler to add graphic
objects to a DRC marker. This was not thread-safe and was causing
non-deterministic crashes. The DRC reporting methods now accept
a customer handler which is called on the newly created
PCB_MARKER within the commit context. This defaults to nullptr
for DRC checks which do not require graphics or other additional
processing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19282
10 months ago
Fabien Corona
5e263c9eec
Add a graphics handler to DRC Engine
The handler can be used to set graphical shapes to a DRC marker
1 year ago
Fabien Corona
f258cc5164
DRC creepage
1 year ago
Seth Hillbrand
0f57d76ecd
Clean and standardize cross-probing action
Between schematic and pcb editors, we want the following actions:
- Single click on ERC/DRC item should show the item in the ERC/DRC
window. But if the window is not visible, it should only update the
status bar
- Double click on ERC/DRC item should show and raid the ERC/DRC window
as well as select the line item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17383
2 years ago
Jeff Young
d5d07e64c9
Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible.
4 years ago
Marek Roszko
14a0fa435c
ADDED: DRC JSON report
2 years ago
Marek Roszko
812143ac69
ADDED: Run PCB DRC via cli
2 years ago
Ian McInerney
2fb6f19a84
Separate immediate and delayed action dispatch
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2 years ago
Jeff Young
93789e75b9
Re-create missing exclusion markers if DRC was cancelled.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14919
2 years ago
Jeff Young
daa3a1aae9
Revert addition of update-teardrops checkbox to DRC dialog.
2 years ago
Jeff Young
2d15067453
ADDED allow update of teardrops before running DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/14264
3 years ago
Jeff Young
521aa5b5ae
Update DRC exclusions model to match terminology.
DRC exclusions were originally written following the C++
pragma model (ie: allow this violation here). However, the
"exclusion" terminology we used in the GUI suggests a model
model where the exclusions go away when the violation no
longer exists.
Fixes https://gitlab.com/kicad/code/kicad/issues/14351
3 years ago
Jeff Young
63386ba64d
Pointer safety for ERC/DRC dialogs.
Also makes the "Edit ingored violations" easier to find.
Fixes https://gitlab.com/kicad/code/kicad/issues/12308
3 years ago
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
3 years ago
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
3 years ago
Seth Hillbrand
9fcc641808
Don't set the dirty bit when running DRC
Dirty bit is set in the zone filler separately, there is no action in
the DRC that needs to be saved
Fixes https://gitlab.com/kicad/code/kicad/issues/11344
(cherry picked from commit 821fe6ea42
)
4 years ago
Jeff Young
bc51c89c90
Reconcile zone-auto-fill with undo.
4 years ago
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
4 years ago
Jeff Young
ab583a32f9
Better layer handling for DRC markers.
Fixes https://gitlab.com/kicad/code/kicad/issues/10126
4 years ago
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
4 years ago
Jeff Young
4ba3937f8a
Cleanup.
4 years ago
Jeff Young
a48867ea01
Solder mask integrity testing.
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
4 years ago
Seth Hillbrand
fb5fef9f5f
Remove extraneous Raise() from DRC cross-probe
Scroll-to-show on GTK relies on the idle handler but this is interrupted
by a Raise and not revisited. Since the Dialog is always on top of the
editor, Raise is not needed to view the referenced error
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
4 years ago
Jeff Young
1bb5fc3fd6
Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
Also adds double-click-marker to open DRC dialog and select marker
in list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
4 years ago
Jeff Young
e2baacec21
Add cross-probing between PCB (markers) and DRC marker list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
4 years ago
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
4 years ago
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
4 years ago
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
4 years ago
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
5 years ago
Jeff Young
41234a8373
Implement more precise annotation-required messages.
Also moves the message to an infobar so it's more noticeable.
Fixes https://gitlab.com/kicad/code/kicad/issues/7332
5 years ago
Jeff Young
8ee72853fb
Be more targetted on when we load DRC Rules for better performance.
5 years ago
Jeff Young
df262eaa06
Make prev/next marker work reliably on all platforms.
Requires us to move from arrow-keys to our own commands (the only
way that the OSX wxWidgets impl doesn't eat the keys when the dataVIew
has focus).
While there we might as well add a command to exlucde markers.
ADDED Prev Marker, Next Marker, Exclude Marker
Fixes https://gitlab.com/kicad/code/kicad/issues/6575
Fixes https://gitlab.com/kicad/code/kicad/issues/5501
5 years ago
Jeff Young
7bd31d5237
Naming conventions.
5 years ago
Jeff Young
3216256b49
Turn off zone fill up-to-date checker in DRC.
The individual DRC errors will catch it, and the user can always
choose to fill zones first.
5 years ago
Jeff Young
115fd1d7f3
Move track-to-zone testing to RTrees.
Also implemente pad-to-zone testing and removes the control in the
GUI (now that it's fast).
5 years ago
Jeff Young
cd93dbd324
Naming cleanup.
5 years ago
Jeff Young
d5addb692c
Move a bunch of DRC tests to RTrees.
5 years ago
Jeff Young
bc23fd0530
Mark footprint tests as run even if netlist is empty.
Fixes https://gitlab.com/kicad/code/kicad/issues/6125
5 years ago
jean-pierre charras
0b23cb7dbb
more cleanup about removing useless include
5 years ago
Jon Evans
b6e4b7bf7d
Fix order of initializing tools when loading board
Also add a few safeguards against invalid situations
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5801
5 years ago
Jeff Young
7300640da0
Reload DRC rules on MODEL_RELOAD.
Fixes https://gitlab.com/kicad/code/kicad/issues/5794
5 years ago
Jeff Young
5ad76a237e
Moving checking the rules up a level so we can properly exit DRC dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/5778
5 years ago
Jeff Young
167ae374fd
Don't allow two DRC runs at the same time.
Fixes https://gitlab.com/kicad/code/kicad/issues/5745
5 years ago
Ian McInerney
d3dd1c45b6
Disable editing tools on the canvas when DRC is running
5 years ago
Ian McInerney
542f447daa
DRC tool: Ensure all calls to the dialog are guarded by null checks
5 years ago
Ian McInerney
89dcc46898
Coverity cleanup and remove unused variables
5 years ago
Jeff Young
67b5d24995
Support ESC & Cancel for DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/5698
5 years ago
Jeff Young
2b43ffd12d
Better error reporting; better nullptr safety.
Also clears the marker lists before running a DRC, and sets
the drcRun flags afterwards so that the notebook tab counts
get updated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5659
5 years ago