Jeff Young
73402d733e
Add labels for icon buttons. (They're used by screen readers.)
...
Also fixes a bunch of annoying wxWidgets asserts.
2022-08-08 22:02:20 +01:00
Jeff Young
4423755176
Pretty up the Teardrops dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12170
2022-08-07 23:22:21 +01:00
Jeff Young
015bde8cb0
Test pad:hole violations in footprints as long as not same pad number.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12124
2022-08-07 19:49:39 +01:00
jean-pierre charras
05785ac6b9
Teardrops: use default zone settings instead of last settings set by the zone dialog.
...
Fixes #12171
https://gitlab.com/kicad/code/kicad/issues/
Fixes #12172
2022-08-07 08:52:40 +02:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
Jeff Young
6a9b821b5c
Fix order of initialization resulting in net assignment getting lost.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12168
2022-08-06 00:00:04 +01:00
jean-pierre charras
ea914eac9a
Pcbnew: fix regression: Display board info when clicking on a empty place.
...
Previously: the displayed info was "Selected Items 0".
2022-08-05 13:49:01 +02:00
Seth Hillbrand
129905686f
Fix error in net list sorting
2022-08-04 10:27:01 -07:00
Seth Hillbrand
090e70ccd2
ADDED: Have Net Inspector report lengths per layer
...
When tuning high speed traces, you may need to extract data per layer
rather than just the summary as signal speed varies based on dielectric
and trace type
2022-08-03 16:35:58 -07:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Seth Hillbrand
76b9e25143
Cleanup unused code
2022-08-02 08:33:59 -07:00
jean-pierre charras
f0efa9af9d
gen_footprints_placefile: re-add option to negate or not the X coordinate.
...
This option is for footprints on bottom side, and not for Gerber format.
This option was existing in 5.x version, but lost in 6.x version.
Fixes #4638
https://gitlab.com/kicad/code/kicad/issues/4638
2022-08-02 11:22:12 +02:00
Seth Hillbrand
f5283c6133
Fix cherry-pick issue
2022-08-01 21:32:56 -07:00
Seth Hillbrand
e4ca2408d4
Net Inspector: Handle via layers
...
Rather than measuring the total via height, measure from the entry to
exit track height to get a more accurate distance
(cherry picked from commit 57de5a6b65
)
2022-08-01 20:25:27 -07:00
Seth Hillbrand
e0b3f6c258
PNS: Handle via-in-pad distances when tuning
...
Tuning with a via in pad, the via isn't a part of the full line. But we
still need to account for the line length distance of the
starting/ending vias. To do this, we simply measure the height from
the ending track to the ending pad and starting track to starting pad
(cherry picked from commit 82e8e38054
)
2022-08-01 20:25:17 -07:00
Jeff Young
9a4136de00
Implement annular ring checking for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12109
2022-08-01 17:45:34 +01:00
Jeff Young
f3936f24ae
Go back to single-threaded sliver checker.
...
Something was unhappy with the multi-threaded version.
(Note that we still multi-thread the polygon-building, which is the
most expensive part.)
2022-08-01 17:45:34 +01:00
Seth Hillbrand
17fdb7c6a8
Prevent drag index from exceeding full line count
...
Simplification removes segments, so we might lose our valid index.
Ideally, we would simplify during the assembly or pass the input index
to the simplify routine to maintain the proper value.
Fixes https://gitlab.com/kicad/code/kicad/issues/12137
(cherry picked from commit 6c617d84ca
)
2022-08-01 08:58:28 -07:00
Seth Hillbrand
5207a8d8b4
Properly scope the island removal enum
2022-08-01 08:58:04 -07:00
Seth Hillbrand
9fbf9973be
Remove obsolete IsKeepout and KeepoutAll functions
...
These are superceded by IsRuleArea and the individual keepouts
2022-08-01 08:05:09 -07:00
Jeff Young
7556d7152f
Fix errant return and improve progress reporting.
2022-08-01 13:09:51 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Jeff Young
927bc8141b
Init member variables.
2022-08-01 13:09:51 +01:00
Jeff Young
f2f04b1d20
Better progress reporting for thermal connections.
2022-08-01 13:09:51 +01:00
Jeff Young
b0a9cea6f6
Better progress reporting, and don't report necks that don't have items.
...
Since we aren't searching zones (they aren't in the m_CopperItemRTreeCache)
this will drop all errors that are zone-only (which are better handled by
zone-min-width).
2022-08-01 13:09:51 +01:00
Jeff Young
4bc7c16ce0
Don't auto-fill zones due to DRC marker insertion.
2022-08-01 13:09:51 +01:00
Jeff Young
54213bb7f1
Cleanup and move to DRC_ENGINE's status reporter.
...
1) brace formatting
2) get rid of some autos
3) get rid of a dyn_cast that CLion claims is bad
4) use DRC_ENGINE's status reporter
2022-08-01 13:09:51 +01:00
Jeff Young
661caf1de9
Make sure new zones are filled when auto-fill is on.
...
Also fixes some issues with enablement of the Remove Islands stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/12123
2022-08-01 13:09:51 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Jeff Young
f0b9e67212
Add ignore-line-widths mode to CONVERT_TOOL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-29 21:39:03 +01:00
Jeff Young
753f2f3e4c
Display descriptions in second column of library trees.
...
Also fixes some bugs in how the columns are sized.
Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Jeff Young
fc1afa6298
Improvements to convert tool.
...
1) Handle filled shapes
2) If a chained outline can't be found, build hulls of the individual
segments
3) Combine intersecting shapes
4) Simplify code
Fixes https://gitlab.com/kicad/code/kicad/issues/git
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-27 18:57:45 +01:00
Jeff Young
2bf33321d1
Update constraint mode in status bar during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10465
2022-07-27 18:57:45 +01:00
jean-pierre charras
aabc3b3cc6
FP editor: fix crash when duplicating a footprint.
...
Fixes #12098
https://gitlab.com/kicad/code/kicad/issues/12098
2022-07-27 19:08:27 +02:00
Jeff Young
cb6a2552d9
Use the FPEditor's status bar messages for FPBrowser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11404
2022-07-26 18:45:02 +01:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
ee0f93ed17
Fix some issue with hierarchy panel on OSX.
...
Also moves the option toolbars tight to the canvas for all windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12087
2022-07-26 14:51:43 +01:00
Jeff Young
032708860b
Include both text shapes and border shapes in textbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11806
2022-07-25 16:10:08 +01:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
1bad72f14f
Remove bad static_cast.
...
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
jean-pierre charras
82167a7c96
Avoid crashes when, for some reason, a dll cannot be loaded.
...
In this case a null pointer was returned by the internal code.
This pointer is now tested against nullptr to avoid the application crashing.
Fixes #12080
https://gitlab.com/kicad/code/kicad/issues/12080
2022-07-24 19:42:50 +02:00
jean-pierre charras
0604d7b813
Fix minor compil and Coverity warnings.
2022-07-24 09:33:43 +02:00
jean-pierre charras
c16d0603c6
Add fix missing in my commit 8eee7667
2022-07-24 09:10:51 +02:00
Jeff Young
fa679d3601
Pinned libs can also be found in program settings.
2022-07-23 20:17:04 +01:00
jean-pierre charras
8eee766791
Fix Cvpcb DISPLAY_FOOTPRINTS_FRAME: some display options not working. Commit 5e4a7041
moved 4 settings used in Cvpcb to a PCBNEW_SETTINGS struct. But in Cvpcb, this config struct does not exist. So these 4 settings are now moved to a section (PCB_VIEWERS_SETTINGS_BASE) common to Cvpcb and Pcbnew config.
2022-07-23 18:45:13 +02:00
Jeff Young
f0ef6932b8
Fix issues with plotting textbox outlines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11943
2022-07-23 13:53:03 +01:00
Jeff Young
280ff3ccdc
Fix net highlight command enablement.
...
These always need to be enabled so that the current highlight can
be cleared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12058
2022-07-23 12:42:11 +01:00
Jeff Young
9dd3bbf2cb
Change highlight net hotkey default.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12051
2022-07-23 12:34:48 +01:00
Jeff Young
bf5e649e44
Fix log errors in new solder masking checking code.
2022-07-23 09:26:04 +01:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Jeff Young
a2c002e1da
Improve solder mask aperture testing.
...
1) For solder mask apertures report both the aperture and both
exposed items.
2) Don't process solder mask apertures in footprints with the
"bridging allowed" flag set.
Fixes https://gitlab.com/kicad/code/kicad/issues/12064
2022-07-22 23:06:07 +01:00
Jeff Young
5442d284f4
Improve strings for highlight net commands.
2022-07-22 09:31:11 +01:00
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young
b80fd5329d
Clear dimension pointer after committing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11864
2022-07-22 09:31:09 +01:00
Jeff Young
004abcd370
Leave originally selected items selected after cancelled move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12024
2022-07-22 09:31:08 +01:00
Marek Roszko
b6b4ae959e
Shuffle around the helper script folders
2022-07-21 19:04:08 -04:00
Seth Hillbrand
16e3d40552
ADDED: Display calculated clearance in status bar
...
In addition to showing resolved clearance, we also show the calculated
clearance in the same method as is used for DRC. This will allow users
to better examine their system while working.
Fixes https://gitlab.com/kicad/code/kicad/issues/7934
2022-07-21 15:44:48 -07:00
Seth Hillbrand
9b74372f9d
Minor spelling fix
2022-07-21 11:55:44 -07:00
Tomasz Wlostowski
e558893851
router: use actual snap point position for routability checks of a segment instead of the segment endpoint(s).
...
Explanation:
- place a long segment A with something violating the rules close to its endpoint
- try to start routing in the 2/3 of the length of A (on the obstacle side)
- bummer - the router picks the nearest endpoint of A for the collision check (even though we don't care about this collision since we want to route far away from it)
2022-07-21 16:30:28 +02:00
Mike Williams
f8b157a1fb
PCB: Bitmaps should respect layer opacity and highlighting options
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12045
2022-07-20 14:59:19 -04:00
Jeff Young
012d861aab
Get rid of error-prone reverse logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12049
2022-07-20 17:24:12 +01:00
Jeff Young
6a9c6e8599
Hook up ID_GRID_SETTINGS for footprint viewers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12030
2022-07-19 21:24:45 +01:00
Jeff Young
763c77eab8
DXF parameters are for DXF (only).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12021
2022-07-18 17:51:20 +01:00
jean-pierre charras
49bf717c0e
fix minor compil warnings
2022-07-17 20:29:59 +02:00
Jeff Young
1ade5a8c72
Fix typo.
...
And clean up the code just a little to make it clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12022
2022-07-17 17:04:04 +01:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Jeff Young
d0547cbde7
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
2022-07-16 16:26:05 +01:00
Jeff Young
2f00b4e170
Delete multiple rows if selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12013
2022-07-16 12:07:15 +01:00
Jeff Young
aa9fe58abe
Don't duplicate user-defined track widths, via sizes or DP dims...
...
... when appending to board.
Fixes https://gitlab.com/kicad/code/kicad/issues/12014
2022-07-15 20:52:08 +01:00
Seth Hillbrand
c8a383a48e
Get via font fill/color correct when highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11802
2022-07-15 11:40:46 -07:00
Seth Hillbrand
595e5cb3f2
Add sort feature to pre-defined list
...
Board setup rows should be sortable when inserting new elements. They
get sorted when saving, this keeps that representation while editing
Fixes https://gitlab.com/kicad/code/kicad/issues/12015
2022-07-15 11:16:15 -07:00
Jeff Young
2de10080cd
Add edge and margin clearances to message panel.
2022-07-15 16:14:32 +01:00
jean-pierre charras
50bb7c93a1
Fix bug in commit 64e1720f
2022-07-15 17:03:05 +02:00
jean-pierre charras
64e1720f12
FP_SHAPE in pads: always specify fill mode for shapes that can be filled or not.
...
Fixes #12012
https://gitlab.com/kicad/code/kicad/issues/12012
2022-07-15 16:50:38 +02:00
Jeff Young
c98826c8b0
Open newly-pasted footprint on canvas of Footprint Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11398
2022-07-15 14:13:39 +01:00
Seth Hillbrand
93fb00d815
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
2022-07-14 11:23:23 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Seth Hillbrand
b5bf1da251
Keep track of blocking windows
...
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -07:00
Seth Hillbrand
91e4d5e0ea
Add Apply button to "Edit Text and Graphics"
...
Allows the user to apply multiple sets of changes without closing the
window
Fixes https://gitlab.com/kicad/code/kicad/issues/11904
2022-07-13 16:44:15 -07:00
Seth Hillbrand
20a372ff69
ADDED Clearance data in PCB editor status bar
...
When selecting two objects, display the resolved clearance and
(optionally) hole clearance in the status bar
2022-07-13 15:04:32 -07:00
Seth Hillbrand
a9a5136c1c
Always allow blind/buried/micro vias
...
Removes a nanny setting that prevented the use of
blind/buried/micro-vias without a checkbox. If the designer does not
want microvias in their board, they simply do not place microvias.
2022-07-12 19:47:31 -07:00
Mike Williams
3d1d432c5e
PCB Editor: re-add missing color to dynamic ratsnest
2022-07-12 19:36:51 -04:00
Seth Hillbrand
e87ba10a5a
Enforce group selection to abide by L/R behavior
...
When selecting greedy (right to left), selecting any part of the group
will get the whole group. When selecting left to right, we must select
all items in the group to get the grouped items unless we are in the
group itself
Fixes https://gitlab.com/kicad/code/kicad/issues/11902
2022-07-12 11:01:34 -07:00
Jon Evans
664bf1382d
PNS: Fix IsLineCorner logic
...
Handle segment width test in the case of locked segs
Fix logic failure where vias on path cause crash
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11990
(cherry picked from commit 2512375988
)
2022-07-12 02:49:24 +00:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Alex
aaf99eb0cc
Performance optimizations.
2022-07-11 21:25:12 +00:00
Seth Hillbrand
3081023b5e
ADDED: Minimum copper connection width DRC check
...
Checks all copper connections in each net/layer for minimum width
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Wayne Stambaugh
6a74ecbffd
Pcbnew: fix minor white space issue in board file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11669
2022-07-11 11:21:45 -04:00
Jeff Young
0a623bff9f
Save fp browser list widths and apply known hack to work around wxWidgets bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11744
Fixes https://gitlab.com/kicad/code/kicad/issues/11745
2022-07-10 23:07:04 -06:00
Jeff Young
43b82aeffc
Fix another case of Edge_Cuts & Margins needing to be treated as all-physical-layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11843
2022-07-10 20:32:28 -06:00
Jeff Young
19b4844102
Avoid OSX system shortcut.
...
CHANGED toggle net highlight from ctrl-` to opt-`.
Fixes https://gitlab.com/kicad/code/kicad/issues/10160
2022-07-10 20:20:22 -06:00
Jeff Young
1eb2a39eca
Fix errant test in board items plotter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11944
2022-07-10 18:54:36 -06:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Jeff Young
eb27a3f8b9
Added pinning support to various EDA_LIST_DIALOGs.
...
Footprint Save As, Symbol Save As, etc.
2022-07-09 20:44:49 -06:00
Jeff Young
05219e4d9a
Add pinned library support to Choose Symbol and Choose Footprint.
2022-07-09 20:06:31 -06:00
Jeff Young
190fb23e88
Add pinned library support to Footprint and Symbol Viewers.
...
Also includes adding libraray and symbol filters to Symbol Viewer.
2022-07-09 17:41:10 -06:00