Commit Graph

10684 Commits

Author SHA1 Message Date
Jeff Young 58afaeb9eb Use QuasiModal in all parents of ConfigPaths so help window works. 2020-12-06 18:44:24 +00:00
Jeff Young b10aa230f7 Remove no-longer-used DRC violation code.
Fixes https://gitlab.com/kicad/code/kicad/issues/6616
2020-12-06 15:19:33 +00:00
Jeff Young 2260597236 Fix more accidental event capturing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5844
2020-12-06 13:33:23 +00:00
jean-pierre charras 16c92f4134 Fp editor: Add a tool tip in the vertical toolbar 2020-12-06 13:35:21 +01:00
Jeff Young f09ca9ceee Pass unhandled events when dragging in the router tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/6630
2020-12-06 12:30:29 +00:00
Jeff Young 602476cdf2 Update SELECTION_TOOL when loading footprint editor settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/6641
2020-12-06 12:13:16 +00:00
Jeff Young 68947864a1 Update zone layers along with corresponding copper layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6613
2020-12-05 23:31:12 +00:00
Jeff Young de082e9be7 Make footprints mostly covered in pads easier to select.
If all the uncovered space is at the very edge it doesn't feel like
there's anywhere to click but the disambiguation menu doesn't come
up.

Fixes https://gitlab.com/kicad/code/kicad/issues/6584
2020-12-05 23:02:45 +00:00
Jeff Young dbf273d5ec Don't leave HOLE_PROXY set; it messes subsequent tests.
Fixes https://gitlab.com/kicad/code/kicad/issues/6584
2020-12-05 19:44:02 +00:00
Jeff Young 4c5567a627 Allow colliding pads in netties as well as graphic shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6584
2020-12-05 19:44:02 +00:00
Jeff Young d6c3c6f7fa Use footprintRect not ViewBBox for determining footprint bounds. 2020-12-05 19:44:02 +00:00
Jeff Young d43eefbad5 Formatting. 2020-12-05 19:44:01 +00:00
Seth Hillbrand 3704c1cdb7 New icons for v6
Fixes https://gitlab.com/kicad/code/kicad/issues/2542
2020-12-05 11:17:15 -08:00
jean-pierre charras f53958dd54 Pcbnew, PANEL_EDIT_OPTIONS: add helper messages to display info about LMB
click and the modifier keys actions.
2020-12-05 16:04:42 +01:00
jean-pierre charras 63088e8bdb Pcbnew: fix incorrect size of solder paste rectangular area of rect pads.
When the solder paste margin was the same for X and Y directions, the margin
was not taken in account (missing code)

Fixes #6621
https://gitlab.com/kicad/code/kicad/issues/6621
2020-12-05 11:51:08 +01:00
Jeff Young 4e100b8d03 Handle groups in clearance report, and make sure zone bboxes are cached.
Fixes https://gitlab.com/kicad/code/kicad/issues/6571
2020-12-04 20:49:14 +00:00
Jeff Young 4634802a58 Formatting. 2020-12-04 19:29:04 +00:00
Jeff Young 7b347d793b Change gears on no-connect net generation. See bug rpt.
Fixes https://gitlab.com/kicad/code/kicad/issues/6534

Fixes https://gitlab.com/kicad/code/kicad/issues/6615
2020-12-04 18:25:48 +00:00
Jeff Young f3e1ac8dbe Defensive code to prevent lookup of stale parent board.
Fixes https://gitlab.com/kicad/code/kicad/issues/6618
2020-12-04 14:01:54 +00:00
Jeff Young fd5e1fbdd4 Formatting and cleanup. 2020-12-04 14:01:54 +00:00
jean-pierre charras 2f3ca60c5e Pcbnew, modifiers for left click behavior: re-add highlight net option.
Due to last changes fixing the ALT key problems, the highlight net is
CTRL+SHIFT + left click on Windows and Linux
CTRL+ALT + left click on OSX

Fixes #6595
https://gitlab.com/kicad/code/kicad/issues/6595
2020-12-04 10:25:05 +01:00
Jeff Young 09bfb76545 Make sure dissallow constraints get added to rule.
Also improves some error reporting.

Fixes https://gitlab.com/kicad/code/kicad/issues/6566
2020-12-03 23:08:51 +00:00
Jeff Young e882753ebf Grid snapping fixes.
1) Uniformly honour the GAL grid snap settings
2) Make more uniform use of GRID_HELPERs
3) Smarten EDIT_LINE for mid-point snapping

Fixes https://gitlab.com/kicad/code/kicad/issues/6558
2020-12-03 19:55:58 +00:00
Jeff Young 43fe228367 Hook up a bit more of the EE_GRID_HELPER.
Fixes https://gitlab.com/kicad/code/kicad/issues/5985
2020-12-02 23:18:33 +00:00
Jeff Young 00edc85f4f Allow layer switching when routing from pad.
Additionally, don't process layer events from both main loop and
transitions -- it makes for a mess.

Fixes https://gitlab.com/kicad/code/kicad/issues/4832
2020-12-02 21:17:56 +00:00
Jeff Young f2ac6fcd44 Treat net 0 items as each being in their own net.
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
2020-12-02 20:05:47 +00:00
Jeff Young d06d35a74d Formatting. 2020-12-02 20:05:47 +00:00
jean-pierre charras 64f555079a Code cleanup related to zoom:
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
2020-12-02 18:35:28 +01:00
jean-pierre charras fcce62f0a4 cleanup related to zoom definitions 2020-12-02 18:35:27 +01:00
Jeff Young 96c9680922 Separate width adjustments between single track and diff pair.
Fixes https://gitlab.com/kicad/code/kicad/issues/6572
2020-12-02 16:24:33 +00:00
jean-pierre charras 71ab42e60a Minor fixes and cleanup related to zoom definitions.
Mainly move 2 define relative to Zoom from convert_to_biu.h to zoom_defines.h.
Will make some changes/fixes in zoom code more easy.
2020-12-02 10:14:35 +01:00
Jeff Young 1cd8426bcb Fix latent dyn_cast bug. And a bunch of formatting issues. 2020-12-02 00:29:00 +00:00
Jeff Young f70153b849 Implement Group Properties in Footprint Editor.
Also fixes a pair of typos that were keeping delete of a group in the
Footprint Editor from working.

Fixes https://gitlab.com/kicad/code/kicad/issues/6579

Fixes https://gitlab.com/kicad/code/kicad/issues/6578
2020-12-01 23:43:53 +00:00
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
2020-12-01 22:37:07 +00:00
Jeff Young 3c521942ed Smarten isEmpty checks to include nothing-but-whitespace.
Fixes https://gitlab.com/kicad/code/kicad/issues/6567
2020-12-01 16:39:06 +00:00
Jeff Young d50d1d84da Fix some issue with group in selection logic. 2020-12-01 14:04:01 +00:00
Jeff Young 288ab7ed6f Minor formatting cleanup. 2020-12-01 14:04:01 +00:00
Ian McInerney aa09418a14 Fixup memory lifespan of GAL options for the settings preview canvas
The canvas keeps a reference to the settings object, so we
can't pass one from the stack because it runs into lifetime
issues.

Also cleanup some loop-iterator problems.

Fixes https://gitlab.com/kicad/code/kicad/issues/6338
2020-12-01 01:12:07 +00:00
Jeff Young dadfe03804 Reinstate 5.1 net-tie hack since "real" net-ties got pushed to 7.0.
Fixes https://gitlab.com/kicad/code/kicad/issues/6556
2020-11-30 16:11:15 +00:00
jean-pierre charras 7261086779 gendrill_file_writer_base: better algo to sort holes:
Holes were correctly sorted by size, but inside the same hole size
the holes were strangely sorted.
Now holes are sorted by hole size, and (inside the same size) by position.

Fixes #6553
https://gitlab.com/kicad/code/kicad/issues/6553
2020-11-30 16:59:13 +01:00
Jeff Young c66e373119 Cleanup of PCBNew message panel routines.
Also fixes bugs where invalid netclasses were reported as "Default",
and SMD pads were reported as having "0.0000" drills.
2020-11-30 14:38:06 +00:00
Jeff Young 3a9a6e22bc Fix issues in reporting netclasses.
1) make sure we get the default netclass when we want it
2) escape for HTML (particularly important for "<invalid>", but also
for reporting user rule names, netclass names, etc.)
2020-11-30 14:38:06 +00:00
Jeff Young 3989c19c41 Don't test pad:track clearances in pad tester.
They've already been tested in the track tester.

Fixes https://gitlab.com/kicad/code/kicad/issues/6554
2020-11-30 14:38:06 +00:00
Wayne Stambaugh 1f8b7b6149 Pcbnew: change block selection and heuristic context menu modifier keys.
Do not use the alt modifier key to force the display of the heuristic
context menu.  This causes a conflict with menu selection on windows
and immediately dismisses the disambiguation context menu.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1873
2020-11-30 08:51:09 -05:00
Jeff Young e09271ca0e Fixes for hole clearance and hole-to-hole tests.
1) Separate out CONSTRAINT types
2) Filter both source and dest pads/vias for drilled holes when doing
   hole-to-hole checks.  We were checking the items being put into the
   DRC RTree, but not the items we were scanning.
3) Add hole clearance to Board Setup Constraints panel.

Fixes https://gitlab.com/kicad/code/kicad/issues/6546

Fixes https://gitlab.com/kicad/code/kicad/issues/4683
2020-11-29 23:35:23 +00:00
Jeff Young 0c2cd1abb2 File left out of last commit.
Fixes https://gitlab.com/kicad/code/kicad/issues/6478
2020-11-29 21:21:20 +00:00
Jeff Young b171d381f0 Collapse Redraw3DView and Update3DView into a single routine.
Also fixes some errors about what the flag meant (model changed,
NOT redraw immediately).

Fixes https://gitlab.com/kicad/code/kicad/issues/6478
2020-11-29 21:08:30 +00:00
Jeff Young 3ca06700fc Formatting. 2020-11-29 20:00:16 +00:00
Marek Roszko 9322b3a4e1 Use the C++ isnan function 2020-11-29 11:30:45 -05:00
Jeff Young 889408c96a More improvements to new selection disambiguation.
Also a rationalization of text polygon generators, with the "standard"
version inherited from BOARD_ITEM now giving the bounding box.  This
requires callers who want the (much) more expensive stroke-based one
to call it explicitly (and brings PCB_TEXT in line with the was FP_TEXT
already was.

Fixes https://gitlab.com/kicad/code/kicad/issues/6525
2020-11-29 14:02:46 +00:00
Jeff Young 3c25abbf2f Ignore netcode when expanding track selections.
Fixes https://gitlab.com/kicad/code/kicad/issues/6529
2020-11-29 10:57:45 +00:00
Michael Kavanagh becc811775 Make path substitutions grid read only in lib table dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/5624
2020-11-29 09:51:53 +00:00
Jon Evans f78d909ffb Correctly set up projects for converted boards
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6209
2020-11-28 22:46:05 -05:00
Marek Roszko 5e117bfaa5 Don't allow nan values for dxf text alignment points to creep in
Literally the only place dxflib decides to default to NaN....
2020-11-28 20:13:42 -05:00
Marek Roszko cc7264c0b9 Subtract off the block's base point coordinate from the insert translation 2020-11-28 20:13:42 -05:00
Marek Roszko cac0d93dfd Implement DXF INSERT scale
This has a chance of being wrong due to how the dimensions are stored in these intermediate objects
2020-11-28 20:13:42 -05:00
Jeff Young e4d0ffd607 Retire old SKIP_STRUCT filtering.
We already added the checkedPairs stuff which deals with a:b vs b:a
better, and the SKIP_STRUCT version had side-effects between the two
tests.

Fixes https://gitlab.com/kicad/code/kicad/issues/6539
2020-11-29 00:08:23 +00:00
Roberto Fernandez Bautista 0691e942f4 CADSTAR Archive Importer: Fix duplicate KIID for loaded elements
Don't use clone to copy an EDA_ITEM. Use Duplicate().
Even if you give the clone a new KIID, all its children will still be clones.
Create Duplicate() in LIB_PART
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 71f9847601 CADSTAR Archive Importer: Only load the Master variant 2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista e3334cd25c Non-KiCad Project importers: Do not rebuild the netlist or reannotate after import
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6383
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 78e3f917d9 CADSTAR PCB Archive Importer: Fix loading of old CADSTAR designs and Do Not Keep Upright
Older CADSTAR versions used 1/10 degree whereas newer versions use 1/1000 degree.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6437
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista f2ba9f7ac3 CADSTAR PCB Archive Importer: Correctly load the pad numbers as per the original design
To load the pad numbers correctly we need to also check the PART DEFINITION for each component
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 5db78a3d53 Fix typo in zone filling progress reporter. "insulated" -> "isolated" 2020-11-28 17:18:17 +00:00
Jeff Young d3c952b122 Commit pending changes from grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/6527
2020-11-28 11:44:05 +00:00
Jeff Young b1adb93c16 PCB_GROUP_Ts need to be added and removed from view.
The SELECTION_TOOL's m_enteredGroup also needs to be updated when
said group is deleted via undo or redo.

Fixes https://gitlab.com/kicad/code/kicad/issues/6493
2020-11-27 23:34:58 +00:00
Jeff Young 190197794d Apply a similar fix as pads for B&W via printing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6496
2020-11-27 22:31:07 +00:00
Jeff Young 896ad4a749 Rewrite PCBNew selection disambiguation based on shapes.
The new shape architecture gives us the opportunity to make text
selection much more intuitive by actually looking at the glyph
shapes.  Before text would be selected when you clicked in the
descenders area (which was usually blank given uppercase letters
and digits).

Fixes https://gitlab.com/kicad/code/kicad/issues/6525
2020-11-27 22:03:14 +00:00
Jeff Young 0293f880ec Fix a bunch of group issues with importing graphics.
Groups do not own their children; they only reference them.  That
being said, they do own *selection* and *moving* of their children.
This might address some of 6493, but in any case will be a
pre-requisite for fixing it.

Fixes https://gitlab.com/kicad/code/kicad/issues/6493
2020-11-27 22:03:14 +00:00
Jon Evans 0bbb7bdb0c Allow selecting graphic footprints in high-contrast mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6490
2020-11-26 20:11:16 -05:00
Jeff Young 6f3b0c452f Make sure unfilled zones get an MD5 hash.
Fixes https://gitlab.com/kicad/code/kicad/issues/6515
2020-11-26 20:21:46 +00:00
Jeff Young 06b9439dbf Edge Cuts shapes have zero width.
Fixes https://gitlab.com/kicad/code/kicad/issues/6517
2020-11-26 17:42:46 +00:00
Jeff Young b3204a06fd Minor layout improvements to Router Settings dialog. 2020-11-26 17:41:09 +00:00
Jeff Young fc2bdc49de Once more into the depths of hell... er, I mean fix a focus issue.
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).

This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).

Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young 2a87980d45 Remove overly verbose messaging. 2020-11-26 16:47:40 +00:00
Jeff Young 94de8ada97 Formatting and naming conventions. 2020-11-26 16:47:40 +00:00
Jeff Young 09587ef4fb Another attempt at GTK fix. 2020-11-26 00:05:57 +00:00
Jeff Young 96acb12295 Attempt to fix GTK compile issue. 2020-11-25 23:07:49 +00:00
Jeff Young b8414174af Duplicate Eeschema's select-ref-number strategy in PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/6504
2020-11-25 17:13:00 +00:00
Jeff Young 7a2a302117 Fix several issues with pad/hole colors when B&W printing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6496
2020-11-25 17:13:00 +00:00
jean-pierre charras 5c08ad1ab9 Fix a few issues when copying a footprint from fp editor to clipboard, and paste it:
- ref and value texts were converted to user texts.
- fpid was left empty, thus creating a potential issue if pasted in the board editor.
Now:
- ref and value texts are no changed, and not copied is pasted in the footprint editor
(these texts already exist)
- a dummy fpid (clipboard:<md5 string>) is added if pasted in board editor
(Pasting a (partial) footprint from fp editor to a board editor is certainly not
a good idea but is possible)
2020-11-25 17:13:35 +01:00
jean-pierre charras 68625494f3 specctra_export: fix an issue with custom and chamfered/round rect pads.
Is some cases a created pad stack name had the same name as an other pad stack
having a slightly different shape, thus creating pads with a incorrect shape on board.

Fixes #6495
https://gitlab.com/kicad/code/kicad/issues/6495
2020-11-25 13:57:46 +01:00
Marek Roszko 5607420339 Fix polylines being skipped in DXF blocks 2020-11-25 00:06:02 -05:00
Ian McInerney d50d728d19 Cleanup compiler warnings 2020-11-25 00:08:09 +00:00
Jeff Young 1cae0b6c08 Make sure board edges have 0 width.
When we divide up a rectangle or polygon (for better RTree usage)
we need to make sure the individual segments also have their widths
zeroed out.

Fixes https://gitlab.com/kicad/code/kicad/issues/6482
2020-11-24 23:49:28 +00:00
Jeff Young 9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
Jeff Young 31a26e7d25 Add missing GetEffectiveShape(). 2020-11-24 22:16:27 +00:00
Jeff Young d1bddcf879 Implement GetEffectiveShape() for PCB_TARGET_Ts.
Fixes https://gitlab.com/kicad/code/kicad/issues/6488
2020-11-24 20:21:40 +00:00
Jeff Young 2f3f4c209e Make sure DRC reports a missing board outline.
Fixes https://gitlab.com/kicad/code/kicad/issues/6481
2020-11-24 14:22:27 +00:00
Jeff Young da0d89645f Default to updating 3D models.
Also cleans up some user strings to try and make this clearer, and to help
translators make it clearer (neither of which is easy to do).

Fixes https://gitlab.com/kicad/code/kicad/issues/6475
2020-11-24 13:48:33 +00:00
Marek Roszko 272ec53e03 Make DXF import slightly prettier by copying text style width factor
It's impossible to replicate the original cad font style but replicating width factors at least
gives you something closer.
2020-11-24 07:15:49 -05:00
jean-pierre charras f64360e915 pcbnew, diff pair config save: fix truncation due to use of int instead double
Fixes #6477
https://gitlab.com/kicad/code/kicad/issues/6477
2020-11-24 09:30:31 +01:00
Marek Roszko c07a38b91b Fix MSVC compilation error with wxString fed to strtol 2020-11-23 21:26:20 -05:00
Marek Roszko 45598f2933 Add handling of DXF arbitrary axis/extrusions
This fixes some DXFs imports where unforunately CAD tools like SolidWorks
randomly decide to mirror circle definitions across the "z" axis (resulting in x or y axis flips in 2d)
Most likely live projection from 3D to 2D drawings introduces this.
However this is DXF specification to describe it so obtusely with vectors for a 2d drawing.
2020-11-23 21:24:38 -05:00
Marek Roszko 44f4d41bba Fix member variable name 2020-11-23 21:24:38 -05:00
Jeff Young 41aa97d0d2 Make translations a bit easier. 2020-11-23 22:09:15 +00:00
Jeff Young 5f8a8c6850 Read/write "no net" (0) for pins with a no-connection marker.
Fixes https://gitlab.com/kicad/code/kicad/issues/2273

Fixes https://gitlab.com/kicad/code/kicad/issues/5587
2020-11-23 19:47:55 +00:00
Jeff Young 62e5500420 Cleanup dialog layout & punctuation. 2020-11-23 19:47:55 +00:00
Marek Roszko 32ec8fa928 Implement correct placement of DXF block contained entities
DXF blocks are virtual groups of items.
The insert entity is what actually places all the block contents at a given coordinate.
This should fix importing drawings from professional CAD tools like SolidWorks that will have a good bit of blocks.
2020-11-23 10:10:35 -05:00
Marek Roszko bf59b422bc Record blocks being received during the import 2020-11-23 10:07:30 -05:00
jean-pierre charras 976c6262f4 French translation update (fix also trailing spaces in a few sentences) 2020-11-23 11:42:25 +01:00