Marek Roszko
a381a0acb2
Generalize bookmarks to support additional groups and names
2022-09-24 22:35:20 -04:00
Marek Roszko
6f8205235f
ADDED: Add outline support to schematic PDF and PCB plot
2022-09-24 21:45:48 -04:00
Ian McInerney
1683e552f7
Add/fix some variable initializations
2022-09-25 00:48:38 +01:00
Jeff Young
f6d0fb8eed
Fix copy/paste error.
2022-09-24 20:00:01 +01:00
Jeff Young
7e71dc084c
Implement Mirror H/V for tracks and vias.
...
While not that often useful, it's really annoying that it doesn't work
when you *do* find a use-case for it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6853
2022-09-24 19:55:48 +01:00
Jeff Young
328cc27020
Add pad-recombining to FPEditor's Cleanup Graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12487
2022-09-24 19:34:06 +01:00
Ian McInerney
fdb97a46c1
Don't copy items in for loops when not needed
2022-09-24 03:46:06 +01:00
jean-pierre charras
28f836ab5c
Fix overzealous string replacement
2022-09-23 10:56:58 +02:00
Alex
58b03b0a1c
Small optimizations.
2022-09-22 17:22:04 +00:00
Jeff Young
897135a4f0
Support mirroring on the board too.
...
Also fixes a few bugs in FP item mirroring.
Fixes https://gitlab.com/kicad/code/kicad/issues/2168
2022-09-22 15:05:58 +01:00
Alex
f75266d130
Keep selection order in SCH->PCB cross-selection.
2022-09-22 11:43:37 +00:00
Jeff Young
839d31d427
Only update properties from a "real" project.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6268
2022-09-22 10:14:08 +01:00
jean-pierre charras
c44e54756a
search panel: fix a crash and a refresh issue after selecting a second item
...
at least on W10/msys2
2022-09-21 19:36:35 +02:00
Jeff Young
8eb68ee472
Add pin/unpin context menu to Symbol Chooser and Footprint Chooser.
...
Also moves some more code down into common so it can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12384
2022-09-21 14:45:12 +01:00
jean-pierre charras
25f1f7b0df
Fix a compil issue on GCC
2022-09-21 09:04:31 +02:00
Marek Roszko
5af00486c3
Set a default floating size for the search pane
...
aui panes unforunately get a default of 0,0 and no attempts to detect a size
2022-09-21 00:06:45 -04:00
Marek Roszko
ec25463fed
Allow multi-selecting from the search pane
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/12476
2022-09-20 23:58:49 -04:00
Marek Roszko
dc9909f83f
Show all on empty searches
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12478
2022-09-20 23:44:42 -04:00
Marek Roszko
30dbcbbcf5
Only search the current tab on events
2022-09-20 23:38:06 -04:00
Marek Roszko
1b962a1660
Expand zone info a little
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12479
2022-09-20 22:16:50 -04:00
Marek Roszko
35201eac52
Add textboxes to Text tab of search
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12477
2022-09-20 22:16:50 -04:00
Jon Evans
728ef8a61c
Hide properties panel menu entry if flag isn't set
2022-09-20 21:48:38 -04:00
Jeff Young
513fc872bb
Support both X and Y mirroring in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12409
2022-09-21 00:16:27 +01:00
Seth Hillbrand
0150655ed3
Fix missing DRC check with via
...
When the via is first and not second in our ordering, the hole-copper
clearance was not checked as the track did not have a hole.
We also calculated the NPTH-via clearance incorrectly in the inspector
2022-09-20 13:43:01 -07:00
Jeff Young
7f34586c7e
Allow text variable resolution through properties in drawing sheet text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12473
2022-09-20 15:28:05 +01:00
Jeff Young
cf1a411a19
Allow net to be selected with mixed track & via selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12412
2022-09-20 11:37:13 +01:00
Seth Hillbrand
9b4eb91f12
Zone Fill performance enhancement
...
Don't wait until all zones are filled before tesselating fills.
Tesselation happens on a layer-by-layer basis, so once the zones' layers
are filled, we can tesselate them in parallel with the remaining fill
work
2022-09-19 11:53:50 -07:00
Seth Hillbrand
0295090135
Zone Fill performance for overlapping zones
...
When multiple zones overlap each other, we need to synchronize the
filling. This should not wait for all zones to try to fill before
restarting. Instead, zones that cannot be filled because the depend on
another zone finishing are immediately re-inserted into the fill queue.
2022-09-19 10:11:06 -07:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
jean-pierre charras
5990595619
When adding a bitmap, do not clone it during moving.
...
Cloning is not necessary, and is memory consuming.
2022-09-19 17:41:47 +02:00
Mike Williams
ca0c9f12e0
PCB Editor: Unroute Footprint
...
Also works on selected pads.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1955
2022-09-19 10:37:10 -04:00
Mike Williams
9304607624
TOOL_EVENT: make command string non-optional
...
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.
Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Jeff Young
1566bd8b14
Make sure a collector has a guide before handing it to a client filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12460
2022-09-18 18:14:47 +01:00
Marek Roszko
57f8a248a5
Remove unused settings
2022-09-17 18:03:43 -04:00
jean-pierre charras
97963a2bba
Better after base_units.cpp changes in python stuff.
...
Move an include to kicad.i
2022-09-17 11:21:48 +02:00
jean-pierre charras
71bb7d63d9
Fix isses after base_units.cpp changes.
2022-09-17 10:56:56 +02:00
Marek Roszko
ece23d434b
Split up Double2Str to a format function to make its use case clear
2022-09-17 00:10:22 -04:00
Marek Roszko
1e0eca0916
Eyeball swig fix after the units changes
2022-09-16 22:31:52 -04:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
Marek Roszko
66e8931405
Remove IU_PER_MM thats standalone
2022-09-16 21:09:27 -04:00
Marek Roszko
7a5829f8d6
Move IU2Mils
2022-09-16 21:09:27 -04:00
Marek Roszko
61e11d6896
Strip out Mils2Iu
2022-09-16 21:09:27 -04:00
Marek Roszko
e6ed275c25
Repoint IU_PER_MILS
2022-09-16 21:09:26 -04:00
Marek Roszko
33f8161799
Merge in MM_PER_IU to EDA_IU_SCALE
2022-09-16 21:09:26 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Seth Hillbrand
8e361e8a15
Be more diligent about checking for zone file deps
...
The outline collision is relatively cheap (especially after filtering
bbox collisions) so check if a zone REALLY depends on another zone
before making it wait. Waiting for zones can really increase the total
fill time
2022-09-16 17:23:06 -07:00
Seth Hillbrand
524b129c64
ADDED: Support for explicit DNP field
...
Dims elements shown as DNP. Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
Jeff Young
107f409106
Use router's connectivity algorithm, not CONNECTIVITY_DATA's.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-16 22:49:20 +01:00
Jeff Young
f10fdfc7d7
More delay for netname drawing, and don't run through tracks if it's off.
2022-09-16 22:19:56 +01:00
Jeff Young
90bc5c19cf
Performance enhancement for zone filling.
2022-09-16 19:16:15 +01:00
Jeff Young
cf1565a16a
Bug fixes for layer expression processing.
...
1) Push a VAR onto the stack, not a resolved value
2) Don't collapse a PCB_LAYER_VALUE to a VALUE during processing
3) Make sure we run overloaded operators from the correct side
Fixes https://gitlab.com/kicad/code/kicad/issues/12437
2022-09-16 14:14:43 +01:00
Jeff Young
d9f75556bd
Fix old copy/paste error (from 2017, believe it or not).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11487
2022-09-16 11:25:27 +01:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
aa0863cdf4
Don't mirror text on non-physical layers when in flip board view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10037
2022-09-16 00:46:14 +01:00
Jeff Young
ce9adeaf51
Don't set FreeVia when we can't find a net.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12421
2022-09-15 23:16:08 +01:00
Jeff Young
19d8dcad8b
Don't hang when filling degenerate zones.
2022-09-15 23:16:08 +01:00
Jeff Young
a21d24a4c8
Experiment with loading recent searches into the search menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 14:44:02 +01:00
jean-pierre charras
83fb06ff75
Fix compil and Coverity warnings.
2022-09-15 10:50:14 +02:00
Jon Evans
da9be1a812
ADDED: Multi-selection cut/copy/paste in symbol editor library tree
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11505
2022-09-14 22:20:38 -04:00
Marek Roszko
125ea73adf
Avoid refreshing the search when the panel isn't open
2022-09-14 21:02:00 -04:00
Jeff Young
12ee8b5d7c
Improve DRC cross-probing a bit.
2022-09-15 00:45:29 +01:00
lulu731
0180bcf90a
ADDED: Implement Drag and Drop
...
dropping files to Kicad manager :
*.kicad_pro, *.pro -> open project;
gerber and job files -> open in Gerbview editor;
Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
Seth Hillbrand
78acb4f07f
Fix unintentional typo
2022-09-14 15:14:35 -07:00
Seth Hillbrand
26a1114e3c
Avoid Yields when the results are ready
...
We always need to check for calculation results before yielding the
system otherwise we will delay outcomes
Fixes https://gitlab.com/kicad/code/kicad/issues/12228
2022-09-14 13:30:04 -07:00
dsa-t
bd8b737c44
GAL: Do better job at reserving vertices.
2022-09-14 16:07:47 +00:00
jean-pierre charras
397a93029e
Fix some outdated things (mainly about fix_swig_imports.py, useless with swig version 4)
...
Fixes #12414
https://gitlab.com/kicad/code/kicad/issues/12414
2022-09-14 13:36:43 +02:00
Jeff Young
2d3b8d6393
Fix logic around Select All inside an entered group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12411
2022-09-14 12:24:51 +01:00
Jeff Young
281b9d405a
ADDED ability to specify where pad number (& net name) go on custom shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6627
2022-09-14 11:37:20 +01:00
Jeff Young
ecd99633d8
Allow AppendBoard even in project mode.
2022-09-14 11:37:20 +01:00
Jeff Young
f91487aa36
Don't overwrite titleblock and pageinfo when appending board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11650
2022-09-14 11:37:20 +01:00
Mark Roszko
f304e2d4f6
ADDED: Search/inspect pane
2022-09-14 02:59:57 +00:00
Mike Williams
1a023f5dd0
PCB Editor: (Auto)Route Selected (From Other End)
...
3x Selection-Based Routing Tools. Takes a selection of routable objects
and routes them one at a time individually, with an attempted finish, or
from the other end, depending on the action given.
2022-09-13 15:06:36 +00:00
Mike Williams
dc20e24c4a
Route Other End: Perform Steps in one Undo Commit
2022-09-13 15:06:36 +00:00
Mike Williams
82f8cd72a3
PNS Router IFACE: Add board commit mode control
2022-09-13 15:06:36 +00:00
Jeff Young
0a5ca5b485
Display crosshairs in picker tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10183
2022-09-13 01:40:43 +01:00
Jeff Young
8ae0ddf09d
Move import graphics dialog to UNIT_BINDER.
...
Also fixes a bug where the position gets scaled (because we're
applying it to the imported values, which are automatically scaled).
Fixes https://gitlab.com/kicad/code/kicad/issues/10483
2022-09-13 00:59:56 +01:00
Jeff Young
c2643f53cf
Tighter control over lambda capture.
2022-09-12 20:51:15 +01:00
Jeff Young
eaccd40c75
Allow vias to connect <no net> tracks even when DRC checking is on.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12403
2022-09-12 20:38:21 +01:00
Wayne Stambaugh
4f3db82c68
Add debugging support for KiCad2Step command line generation.
2022-09-12 14:30:07 -04:00
Mike Williams
37d2addf0e
Icons: add swap
2022-09-12 11:11:49 -04:00
Mike Williams
f70e1d0f22
SCH/PCB: Set Swap hotkey to 'S'
...
* Move Add Sheet to Shift+S in Schematic Editor
* Move Set Grid Origin to Shift+S in PCB Editor
2022-09-12 11:11:49 -04:00
Mike Williams
de6e368ac6
PCB: Swap Tool
2022-09-12 09:39:43 -04:00
jean-pierre charras
d1af8e7a4b
Fix broken bool PCB_SHAPE::IsType()
2022-09-12 12:38:45 +02:00
Jeff Young
57f9d6cb3d
ADDED text variables for pad NET_NAME, NET_CLASS and PIN_NAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6405
2022-09-12 00:55:57 +01:00
Jeff Young
95874aeeb4
Allow multi-layer plotting from python.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12314
2022-09-11 23:37:13 +01:00
Jeff Young
0df1786456
Improve adherecne to ignored tests.
2022-09-11 19:48:08 +01:00
Jeff Young
c16a640477
Improve marker counting and reporting.
2022-09-11 19:48:08 +01:00
Alex
cc4e34ef49
Don't sync the world twice in inline router tools.
...
Activate() already clears and syncs the world via PNS::TOOL_BASE::Reset,
so there's no need to sync in InlineDrag and InlineBreakTrack.
2022-09-10 20:49:30 +00:00
Jeff Young
5d468ca759
Use MESSAGE_TYPE::OUTDATED_SAVE for read-only infobar messages as well.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12252
2022-09-10 21:27:10 +01:00
Jeff Young
b95d9d660d
Move gerbview colors to preferences dialog.
2022-09-10 16:11:24 +01:00
Jeff Young
bd919e57bd
Exclude deprecated layers.
2022-09-10 10:44:40 +01:00
Jeff Young
f87bf3c46d
Special case up-key so it can get past headers in paged dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10078
2022-09-10 09:31:27 +01:00
Jeff Young
9cf3c529d3
Apply the same accuracy band to connectivity as we use for hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-09 21:42:21 +01:00
Bobbe
93670d2b24
Improve support for .wrz files in vrml exporter, Fix error handling
2022-09-09 20:13:50 +00:00
Jeff Young
5b3bd9be83
Prune pasted data of non-enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11997
2022-09-09 21:02:08 +01:00
Jeff Young
f179754118
Implement add-new-on-return for some of our grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
Jeff Young
98e760da93
Coverity-suggested improvements.
2022-09-09 13:41:13 +01:00
Jeff Young
ca14697ad6
Fix issue trying to size stuff before it's displayed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12386
2022-09-08 23:51:05 +01:00
Jeff Young
2743fd583f
More improvements to drag tool selection disambiguation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-08 23:43:07 +01:00
aris-kimi
4efa13a3e3
Change Loss Tg to Loss Tan.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10699
2022-09-08 16:17:32 +00:00
Jeff Young
a619ef9d53
Improve drop-a-knee-selection-to-a-single-segment algorithm.
...
In particular, don't rely on there being only two items in the
collector at the start.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-08 14:10:18 +01:00
Jeff Young
9523586bf1
Remove atrophied PCB NO_CONNECTS layer and its colour.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12316
2022-09-08 00:28:31 +01:00
jean-pierre charras
6b3d36b6c3
CONVERT_TOOL: also show the "Create From Selection" menu if a array can be created
...
The "Create Array" sub-menu was recently moved to this menu, so it must me
shown as soon as an array can be created.
2022-09-07 10:53:27 +02:00
Alex
d67c81a657
When deselecting items, pick only selected ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10292
2022-09-06 19:44:29 +00:00
Mike Williams
fa3e9efdce
PCB Router: return to original active layer after routing
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12313
2022-09-06 10:51:46 -04:00
Mike Williams
68f71e4a62
PCB Router: Pressing V again can untoggle Via
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12315
2022-09-06 10:51:46 -04:00
jean-pierre charras
565b815250
3D models list in footprint properties: fix issue when a lot of 3D models is added
...
Fixes #10014
https://gitlab.com/kicad/code/kicad/issues/10014
2022-09-06 16:28:46 +02:00
Jeff Young
8afc1db7a6
Property popups for symbols, labels, sheets, and footprints in PDF.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5521
2022-09-06 13:59:52 +01:00
Jeff Young
7c83c78afe
Allow free pad usage in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11730
2022-09-06 13:59:52 +01:00
Jeff Young
3534cfbba8
Allow a single net collision with a free pad.
2022-09-06 13:59:52 +01:00
Jeff Young
16b4f96405
Centralize no-connect- and free-pad processing.
...
Also makes the track-net-names less squirrelly around the viewport
edges.
2022-09-06 13:59:52 +01:00
Jon Evans
e294fe2074
ADDED: Dynamic field columns in symbol chooser
...
CHANGED: Symbol chooser search now considers custom symbol fields
Visible columns can be controlled in database libraries.
In standard KiCad libraries, we show columns for all custom fields for now.
Customizable column visibility will be added in the future.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11946
2022-09-05 16:38:14 -04:00
jean-pierre charras
963a17f5b5
fix a compil warning
2022-09-05 18:33:17 +02:00
Jeff Young
156755e9db
Allow processing of non-handled events in length tuner tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-09-05 10:57:07 +01:00
Jeff Young
c0ba1b35bf
Remove SMD pad side sanity check.
2022-09-05 10:41:37 +01:00
Jeff Young
895a8a8dbc
Work around focus issues for status popups.
...
Autoscroll wasn't working on Mac because the status popup's panel
has the focus. This *may* also fix a problem on MSW of the auto-scroll
not being cancel-able.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-09-04 21:08:01 +01:00
Jeff Young
9405817a4d
Improve contrast of status popup text on Mac.
...
Also works around an issue where GetBackgroundColor() returns black
(with a 40% alpha) on Mac.
2022-09-04 21:08:01 +01:00
Jeff Young
d5cf7828fa
ADDED footprint checks for SMD pad consistency.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11736
2022-09-04 10:34:32 +01:00
Roberto Fernandez Bautista
2d203bc975
Don't move items inside a group: move the whole group instead
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
fa5dc23797
CADSTAR PCB: Fix regression when loading pads in footprints
...
Zero sized pads can be valid - e.g. a through hole pad
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
9abf3438b8
CADSTAR PCB: Invert logic for guessing which layer is top / bottom
...
Ensures correct automatic layer mapping is applied to the design in
https://gitlab.com/kicad/code/kicad/-/issues/12349
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
c961624d43
CADSTAR PCB: Load 2-point polygons as line segments
...
Fixes asserts when loading design from https://gitlab.com/kicad/code/kicad/-/issues/12349
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
21b3753e9b
CADSTAR PCB: Parse Teardrops
...
Todo: We need to figure out how we will load teardrops. For now
just drop them on import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12349
2022-09-04 00:59:56 +02:00
Jeff Young
efae2bbb4c
Better feedback for netclass assignment patterns.
2022-09-03 21:33:56 +01:00
Jeff Young
c30a557810
ADDED netclass assignment from PCB canvas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
jean-pierre charras
b791fff963
DIALOG_UNUSED_PAD_LAYERS: minor enhancement: pads and vias can be handled all at once
2022-09-03 10:41:14 +02:00
Roberto Fernandez Bautista
c15a13963b
Fix Build error: AddLine doesn't exist anymore
2022-09-02 11:17:28 +02:00
Roberto Fernandez Bautista
22f96bfd11
Re-route m_last_head after routing fails
...
This should ensure the shove state gets reverted
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
2022-09-02 09:41:15 +02:00
Jeff Young
854acd4c77
Null-ptr safety for diff-pair-coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12329
2022-09-02 00:49:33 +01:00
Jeff Young
09773e3e2e
Make sure dirty flag gets set, and leave save enabled regardless.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11824
2022-09-01 14:27:16 +01:00
Jeff Young
9188838e50
RIP EDA_RECT.
2022-08-31 23:57:24 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
ebe9617e77
More EDA_RECT expungification, and an attempt to fix the python test.
2022-08-31 17:19:48 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
2022-08-31 01:22:49 +01:00
Jeff Young
c7036ae076
Beef up BOX2's API so it can replace EDA_RECT.
2022-08-31 00:44:33 +01:00
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Mike Williams
a176bf383e
Properties: pick up single selections
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12302
2022-08-30 13:59:37 -04:00
Seth Hillbrand
91fbb5c957
Don't prevent immediate actions while router active
...
Immediate actions that can take place are useful. We should only be
preventing immediate actions while actively routing or dragging
Fixes https://gitlab.com/kicad/code/kicad/issues/12311
2022-08-30 10:31:29 -07:00
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
2022-08-30 12:07:19 +01:00
Marek Roszko
03aa63bd50
Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific
2022-08-29 20:11:03 -04:00
Roberto Fernandez Bautista
238c21ed0b
Properties: Special case PCB_SHAPE "Layer" property
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12304
2022-08-29 23:13:46 +02:00
Stefan Hamminga
2ff6a6aee1
Implement and enable option to not shove vias during push & shove routing
2022-08-29 17:32:39 +00:00
Jeff Young
2d68cdff94
Better reporting of hole-to-hole clearances and clearance resolutions.
2022-08-29 17:37:49 +01:00
Jeff Young
e0f6a6e475
Run hole-to-hole checks on Edge_Cuts layer.
...
Also makes the flashing logic inside PAD::GetEffectiveShape() easier
to understand.
Fixes https://gitlab.com/kicad/code/kicad/issues/12296
2022-08-29 17:37:49 +01:00
Marek Roszko
f0956e48f2
Make EDA_TEXT common
...
Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
2022-08-29 07:31:03 -04:00
Jeff Young
48f77973da
Another try at getting the Link combobox working on MSW.
2022-08-28 23:25:01 +01:00
Jeff Young
b886ec728e
Copy shape data when converting PCB TEXTBOX to FP.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12298
2022-08-28 21:34:13 +01:00
Jeff Young
77c79b6f6a
Apply searchArea architecture to courtyard functions.
2022-08-28 21:20:03 +01:00
Jeff Young
667a54ad86
Retire insideArea in favour of intersectsArea and enclosedByArea.
2022-08-28 18:02:41 +01:00
Jeff Young
122a6d7f46
Move hypertext linking to user-page-numbers.
...
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista
840bcffefb
ADDED: Hyperlinks on text items in Schematic Editor
2022-08-27 19:17:42 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Roberto Fernandez Bautista
029cc65b34
EDA_SHAPE: Remove m_upsideDownCoords hack (Fixes hitTest routine)
2022-08-27 12:51:32 +01:00
jean-pierre charras
3b4c5f0dc4
French translation update
2022-08-27 09:10:02 +02:00
Jon Evans
300d92438c
Allow hiding symbol library tables from symbol chooser
...
Hidden but loaded libraries are useful when using database libraries
2022-08-26 20:18:40 -04:00
Marek Roszko
161775fdbc
Fix another type warning
2022-08-26 20:15:01 -04:00
Jeff Young
09511d176c
Quiet Coverity.
2022-08-26 17:05:25 +01:00
Seth Hillbrand
146495672e
Utilize our combine_hash routine for multiple hash
...
We should be using the one routine every time we want to build a hash
from indepedent values rather than rebuilding it differently in multiple
places
2022-08-26 08:45:13 -07:00
Seth Hillbrand
06786c34d7
Blacklist hashes for 2d integer elements
...
The hash table for integer hashes is extremely limited and places most
elements in the same buckets. This leads to a linear search time for
structures built on this.
This blocks hashes, directing the coder to utilize std::set or std::map
structures instead of hash tables for implementing integer-based
lookups.
2022-08-26 08:43:37 -07:00
Jeff Young
1a672aba56
Fix a couple of DRC bugs where the bbox wasn't inflated for largestClearance.
...
Also removes a case of double-testing a pad with a non-plated hole.
2022-08-26 13:22:57 +01:00
Jeff Young
909358e643
Make sure pair caches are layer-specific where they need to be.
2022-08-26 13:22:57 +01:00
Jeff Young
86944c4f9f
Marginal performance improvements.
2022-08-26 13:22:57 +01:00
Jeff Young
f99761e5bd
entirelyInsideArea() prototype.
2022-08-26 13:22:57 +01:00
Jeff Young
7baa56528a
Make sure via-gap-same-as-trace-gap gets turned off for board settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12236
2022-08-26 13:22:57 +01:00
jean-pierre charras
d351d0c839
BOARD_NETLIST_UPDATER: disable auto refill zones if new footprints are loaded and waiting for placement.
...
Auto refill creates a crash when these footprints are moved, probably due to a partial
connectivity rebuild due to refilling when the connectivity data is not yet finalized.
Fixes #11830
https://gitlab.com/kicad/code/kicad/issues/11830
2022-08-26 10:38:36 +02:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
jean-pierre charras
a306246558
Fix a few (minor) compil and Coverity warnings.
2022-08-25 20:21:00 +02:00
Seth Hillbrand
fb74bdb059
Don't consider rule area zones in priority calc
2022-08-25 10:12:58 -07:00
Seth Hillbrand
e661545ecf
Choose the first unused priority value for zones
...
Default the new zone priority value to the lowest available unused
priority. Ensures that, by default, a new zone has a unique priority
level preventing zones from unintenionally shorting
2022-08-25 10:05:30 -07:00
Seth Hillbrand
ee95224517
Ensure that teardrops always get filled first
...
Teardrops are, by definition, higher priority than standard zones, so
ensure that they cannot be overriden
2022-08-25 08:54:34 -07:00
Seth Hillbrand
418df36790
Avoid teardrops in priority calculation
...
When choosing a new priority value, don't look at teardrops (which have
high priority)
2022-08-25 08:41:14 -07:00
Seth Hillbrand
3e4cfab254
Set new zone priority to unique number
...
Previously new zones' priorities were all set to 0. This is almost
always wrong and can lead to unintended conflicts. The new zone default
value is now set to one higher than the largest number on the board.
This is a better default value because it will not conflict with
existing values.
2022-08-24 16:37:57 -07:00
Jeff Young
ae86c6f3a7
Don't include text in locked-item-shadow-calc for footprints.
...
And make shadow margins consistent for all objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/11545
2022-08-24 10:30:20 +01:00
Marek Roszko
fc99b3ba95
Don't link gdiplus everywhere anymore
...
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Jeff Young
ec51955dad
Remove vestiges of old pad locking system.
...
We now use a session preference (Allow free pads) in the board editor,
and we never supported pad locking in the footprint editor.
2022-08-23 18:02:16 +01:00
Seth Hillbrand
e4bb1560c5
Set locale in python save routine
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11006
(cherry picked from commit c3496d61eb
)
2022-08-23 09:53:18 -07:00
Jeff Young
1871812f2b
Consolidate on a more widely used sub-type architecture.
2022-08-23 12:57:55 +01:00
Marek Roszko
3e451ca516
Add RemoveAllListeners function for future addons
2022-08-22 23:29:04 -04:00
Jon Evans
cfb6fcf31a
Do not create panel if disabled
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
940a15c547
Todo: Properties system doesn't like const wxString& getters
...
Comment out for now
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
4108099641
Properties Panel: Correctly limit layers for connectable items to copper layers
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
fe7e665236
Properties: NetName and NetClass should have a space + don't translate "Net"
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
f5a75a4001
Minor nullptr fixes
2022-08-22 21:32:33 -04:00
Jon Evans
f5597238fb
Properties: add color swatch to layer enum
2022-08-22 21:32:33 -04:00
Jon Evans
3c6e8aea0f
Properties panel: post-rebase fixes and hide by default
...
Remove layer widget re-added by Orson's rebase
2022-08-22 21:32:33 -04:00
Maciej Suminski
af71d42307
Renamed PROPERTY_TYPE enum names to avoid a conflict on MSYS2
2022-08-22 21:32:32 -04:00
Maciej Suminski
c37c429c75
Rename PROPERTY_PANEL::Update() to PROPERTY_PANEL::UpdateData()
...
The base class (wxPanel) already provides Update() method,
which should not be overridden.
2022-08-22 21:32:32 -04:00
Maciej Suminski
7f00efe6cf
Properties: Fixed conditional properties using enum values in the conditions
...
When wxAny holds an enum, it cannot be compared with an integer due to a
missing conversion function. In such case, conditional properties
compare a raw value rather than wxAny.
2022-08-22 21:32:32 -04:00
Maciej Suminski
f6f6ebd5f9
WIP: Properties GUI
2022-08-22 21:32:32 -04:00
Maciej Suminski
95fd58b25a
Properties meta-data for pcbnew classes
2022-08-22 21:32:00 -04:00
Maciej Suminski
745c94b0a1
Properties (introspection)
...
Introduces classes:
- INSPECTED: base class for types taking advantage of
generic properties system.
- PROPERTY*: meta-data storing information about properties
- PROPERTY_MANAGER: singleton class to get properties data
2022-08-22 21:32:00 -04:00
Jeff Young
1e68c353f1
Account for groups in undo of Position Relative To.
...
Also fixes a bug were pads weren't correctly being found for anchoring
the selection before the Position Relative To.
Fixes https://gitlab.com/kicad/code/kicad/issues/11793
2022-08-22 22:33:38 +01:00
Seth Hillbrand
4b63c7012d
Silence some clang warnings
2022-08-22 12:54:00 -07:00
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
f42b66bc1c
Regularize ellipsization of menu and status text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12257
2022-08-22 17:52:58 +01:00
Wayne Stambaugh
c72457482c
Fix Eagle plugin footprint QA test issue.
...
Apparently mapping Eagle footprint layers to the KiCad Dwg_User
that were previously mapped to UNDEFINED_LAYER breaks the QA test
and causes the footprint editor to crash when opening Eagle
footprints. This means that the potential data loss issue when
loading Eagle footprints is still in play.
2022-08-22 09:11:30 -04:00
Jeff Young
792d7babe3
Performance (std::map -> std::unordered_map) and commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
03454684fa
Commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Wayne Stambaugh
0bc1188897
Fix Eagle plugin board layer mapping issue.
...
The Eagle plugin layers have to be mapped differently depending on
whether a board is being imported or a footprint library is being
cached. Footprint libraries can bypass the manual layer remapping
step that happens when importing a board.
Please note that when loading footprints in the footprint editor
and viewer, all layers that do not directly map to KiCad layers are
put on the Dwg_User layer so that there is data loss. Users will
have to manually remap objects to the correct layer as required.
This is less than ideal but until the footprint library table parser
supports prompting users to remap unknown layers, it will have to do.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11839
2022-08-21 14:56:04 -04:00
Seth Hillbrand
af34835fdf
Restore removed data
...
Functions and definitions used in Python scripting should not be
removed. Comments in header files should never be removed (only
updated/corrected)
2022-08-20 08:40:08 -07:00
Jeff Young
eac3d33266
Keep Footprint Checker info between runs.
2022-08-20 12:28:34 +01:00
Jeff Young
28f7221cc3
Allow selection of Footprint Checker markers.
...
(And do a cross-probe to the Footprint Checker dialog.)
2022-08-20 11:30:25 +01:00
Jeff Young
8b0efa8ac4
A bit of cleanup from last commit.
2022-08-20 11:14:44 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
46df421064
ADDED defined pad groups for net-tie footprints
...
Each pad group is allowed to short nets with other pads in its group.
Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.
DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.
DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.
Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01:00
Jeff Young
508df402f6
Cleanup.
2022-08-19 18:54:19 +01:00
jean-pierre charras
a60053c800
selectAllItemsOnSheet(): fix a typo that prevent selection of items in root sheet.
2022-08-19 11:12:16 +02:00
jean-pierre charras
e0fbe2542f
Fix a few compil and Coverity warnings.
2022-08-19 10:53:29 +02:00
Marek Roszko
3a718385cf
Just match the type to the comparison type on second thought
2022-08-18 22:22:04 -04:00
Marek Roszko
675938375b
Use a larger data type for min_dist
...
Squared norms are massive and can logically exceed 32-bit ints
2022-08-18 22:19:36 -04:00
Seth Hillbrand
b9461f2ba7
Re-enable tests for zones
...
Avoid invalid substantial checks triggered by signed floating point
zeros. Adds a QA check to ensure zone-self checks are maintained
2022-08-18 17:06:29 -07:00
Seth Hillbrand
97d7ee1f30
Remove `/` from our forbidden LIB_ID list
...
It is still forbidden from footprint file names but that is handled
separately and it should not be forbidden in symbol files at all
2022-08-18 12:49:40 -07:00
Francois Berder
84745a6cdc
Fix wrong number of columns check
...
Signed-off-by: Francois Berder <fberder@outlook.fr>
2022-08-18 11:03:45 +00:00
Marek Roszko
98b3904c51
Fix reserve call with the wrong source for size
2022-08-16 23:38:08 -04:00
Mike Williams
f06e28b7a7
PCB: Finish Route, Route From End
...
Adds restart routing from other ratsnest' end and automatically finish
routing.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5051
2022-08-17 03:15:46 +00:00
Jeff Young
6cfbf895fc
Make sure parent pos is factored in for polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11945
2022-08-16 17:28:56 +01:00
Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
405be8d15f
Bounds-awareness in Move, Rotate, point editor, drawing tool
2022-08-16 12:08:55 +00:00
Alex
b81a3f0533
GetClampedCoords: Better usability for rounding
2022-08-16 12:08:55 +00:00
Alex
4d7d367b25
Use KiROUND for BBox calculation, change parameter name, block negative padding.
2022-08-16 12:08:55 +00:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Jeff Young
db91bcbabf
Bump file format version for allow-soldermask-bridges-in-FPs.
2022-08-15 18:03:03 +01:00
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
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Seth Hillbrand
9828360759
Remove unused variable
2022-08-15 07:52:53 -07:00
Jon Evans
55bb374370
Fix crash when unloading board
2022-08-14 22:49:51 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Jeff Young
959681e472
Config Paths help is now inside the dialog, so we don't need quasimodal here anymore.
2022-08-14 22:56:29 +01:00
Jeff Young
86938aa425
Read, write and process the board-wide Allow soldermask bridges in FPs.
2022-08-14 22:56:29 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
18ac169ac7
Add contexts to EDA_COMBINED_MATCHER.
2022-08-14 22:56:29 +01:00
Roberto Fernandez Bautista
6b349fdb0a
CADSTAR PCB: Allow remapping all non-electrical layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12196
2022-08-14 22:24:17 +01:00
Roberto Fernandez Bautista
69d696660b
cadstar: Report warning that imported text may be different
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195
2022-08-14 22:24:16 +01:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Seth Hillbrand
2ee65b2d83
Force removal of zero-sized pads on load.
...
Pads with zero width or height cause issues when rendering and
selecting. KiCad has never allowed these elements but hasn't prevented
importing systems where they exist. This prevents their import and
cleans existing designs where the pads are placed
Fixes https://gitlab.com/kicad/code/kicad/issues/12200
2022-08-13 19:10:48 -07:00
Seth Hillbrand
1ce8fc1614
Ensure arcs are handled in topology
...
Use the connection-independent `Anchor()` function to get connection
points for either arcs or segments in topology. This allows the
ratsnest to be correctly drawn between nets with arcs
Fixes https://gitlab.com/kicad/code/kicad/issues/12205
2022-08-12 20:07:28 -07:00
jean-pierre charras
488a53e71b
Fix a few minor Coverity warnings
2022-08-12 10:51:36 +02:00
jean-pierre charras
5616ef2e7c
ZONE_FILLER::buildThermalSpokes() fix incorrect spoke shape for pad shapes with offset.
...
Fixes #12201
https://gitlab.com/kicad/code/kicad/issues/12201
2022-08-10 15:27:28 +02:00
Jeff Young
d6cd55e133
ADDED esc-removes-net-highlight preference to PCBEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-08-09 08:46:12 +01:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Jeff Young
a11f48ef10
Markers provider is no longer responsible for all markers.
...
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
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