Commit Graph

10922 Commits

Author SHA1 Message Date
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
qu1ck b32c2a6c90 Refactor EDA_TEXT::TransformToSegmentList() to return a vector of points
This allows reading text object as it is rendered through python API.
2020-11-23 07:50:54 +00:00
Marek Roszko 51fcbe47a6 Remove colons from the import gfx dialog fields 2020-11-22 22:15:58 -05:00
Marek Roszko 90db12df2e Rename the dxf units option to Default Units
The reality is the DXF file can still override the selected unit option which is totally fine.
In fact, per specification, there is a way to change units mid-file with block records :/
2020-11-22 22:15:58 -05:00
Marek Roszko f5e9a2a6da Use "microns" as the name to be consistent with DXF specification 2020-11-22 15:44:57 -05:00
Marek Roszko 88bee5e32f Use the last used dxf units selection on dialog open 2020-11-22 15:44:36 -05:00
Marek Roszko 39fe89096e Allow specifying the DXF file units on import
There is no guarantee DXF contains $INSUNIT to specify the units of the file as its optional.
This allows the user to specify the expected units via dropdown.
SolidWorks can definitely generate such unit lacking files as an example
2020-11-22 15:39:37 -05:00
Jeff Young c9524e707e Don't load preferences from disk when init'ing PANEL_COLOR_SETTINGS.
It wipes out any changes that have been made in the SETTIGNS_MANAGER.

Fixes https://gitlab.com/kicad/code/kicad/issues/6339
2020-11-22 14:24:55 +00:00
Jeff Young 2932fe1e64 Fix rotation of dimension objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/6424
2020-11-21 23:53:06 +00:00
Jeff Young 1391774f64 Re-factor boundary/courtyard checker error handling.
ADDED Footprint Checker dialog to display the results in.

Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-21 20:57:35 +00:00
jean-pierre charras 22bbe9618e French translation update 2020-11-21 19:58:13 +01:00
Marek Roszko f130970469 Handle lineweight in dxf import more properly
lineweights can be set to inherit from the layer or block.
2020-11-21 09:22:11 -05:00
Jeff Young ff3bd7e72a Fix a crash bug in DRC, and equate Margin to Edge.Cuts. 2020-11-20 21:22:27 +00:00
Jeff Young b123318cf6 Encourage use of full DRC for board & footprint malformed outlines.
It shows much more detail.  Removes some nag dialogs and places
hypertext links in others.

Also fixes the auto-layer-showing to correctly show Edge.Cuts or
F.CrtYd or B.CrtYd for errors relating to them.

Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-20 17:24:52 +00:00
Graham Keeth 4bf79f2b90 Remove ddr3_length_match.py
The script is designed to be used with a particular board that does not
exist in the repository.
2020-11-20 08:10:53 +00:00
Marek Roszko d59053b775 Fix dxf import making all circles filled
Filled objects in dxf is actually not handled at all, they are implemented as "hatched" objects
2020-11-19 21:00:53 -05:00
Marek Roszko d7e10c22c6 dxflib_qcad: match rename of DimAngularData to DimAngularData2L
upstream 1655be6c7d58609397e9f04cfaff08336d69b20e
2020-11-19 19:19:59 -05:00
Jeff Young 533d344e3f Honour pad falshing when colliding with DRC RTree.
Fixes https://gitlab.com/kicad/code/kicad/issues/6443
2020-11-19 23:55:14 +00:00
Jeff Young 0d850f98cd Cleanup. 2020-11-19 22:48:18 +00:00
Jeff Young 6e0c58adec Include local clearances even if no implicit rule was found.
The real test should be to apply it any time an explicit rule is
*not* found.

Fixes https://gitlab.com/kicad/code/kicad/issues/6426
2020-11-19 22:48:18 +00:00
Jeff Young 0517f783e1 Ease i18n of zone descriptions. 2020-11-19 22:48:18 +00:00
Seth Hillbrand 4e36036435 Avoid calculating on-endpoint hits
When hitting on a start/end point the arc may incorrectly be assigned as
not-connected when the angle does not wrap around from 0-360

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

Fixes https://gitlab.com/kicad/code/kicad/issues/6380
2020-11-19 14:46:21 -08:00
Jeff Young 9e9946628a Go back to arrow cursor on a cancel (or finish).
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2020-11-19 20:09:28 +00:00
Jeff Young 203c860f01 Ensure better smoothing for zones clipped by board edges. 2020-11-19 18:34:30 +00:00
Jeff Young 876b87b64e Minor performance fixes for PCBNew selections. 2020-11-19 17:23:02 +00:00
Jeff Young 04c84fa842 Remove some expensive trace calls. 2020-11-19 15:47:32 +00:00
Jeff Young 18ad58cf4c Replace legacy copper edge heuristics.
Fixes https://gitlab.com/kicad/code/kicad/issues/6435
2020-11-19 13:35:26 +00:00
Dominik Wernberger 99da663e82 Remove unused variables plus some more fixes from CppCheck
Remove unused variables plus a few more fixes from CppCheck

Remove unused variables plus a few more fixes from CppCheck
2020-11-19 02:28:47 +00:00
Werni 0e44f5128c Add const specifiers 2020-11-18 19:50:36 +00:00
Jeff Young c1d1c12b41 Simplify message panel code.
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
jean-pierre charras d3a72f73e3 Kicad: fix environment variable changes after running Pcbnew in some cases.
When pcbnew is built with python support, the env vars defined inside Kicad
(and used mainly in paths) are rewritten for the python environment.
Unfortunately, the values are rewritten as UTF8 string, but in Kicad they are
just expected in utf32 unicode values.

This is now fixed by rewriting the initial values in Kicad env, after the
python environment is initialized.
2020-11-18 17:33:58 +01:00
Marek Roszko 16e3e59495 Split out arrayDim and MIRROR templates from macros.h
These were not macros
2020-11-17 20:21:04 -05:00
Jeff Young 024812e5dd Resolve legacy netclass definitions read from PCB file.
Fixes https://gitlab.com/kicad/code/kicad/issues/6415
2020-11-18 00:17:07 +00:00
Jeff Young bb3cbe3fa4 Pretty-up report a bit. 2020-11-18 00:17:07 +00:00
Jeff Young 54427fd594 Make sure deleted text items are removed from view and selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/6407
2020-11-17 20:48:15 +00:00
Jeff Young bfc4afc506 Restore the 5.1 NetTie hack.
We really need to do first-class net ties....

Fixes https://gitlab.com/kicad/code/kicad/issues/6416
2020-11-17 20:07:21 +00:00
Jeff Young 795e45836d Fix assert in DRC. 2020-11-17 17:41:57 +00:00
Jeff Young b2d86ec7c9 Don't double-check DRC clearances (a:b and b:a).
Fixes https://gitlab.com/kicad/code/kicad/issues/6417
2020-11-17 16:58:39 +00:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Jeff Young dff5173baf Exorcise some instances of "modedit". 2020-11-17 16:05:48 +00:00
jean-pierre charras a431fd99ca Fix crash when converting a Eagle board to a Kicad board.
During conversion a illegal layer number was used without filtering
2020-11-17 10:23:44 +01:00
Ian McInerney 7d1a4a4224 Add version information to footprint sexpr files and clipboard
This allows the parser to properly interpret the sexpr version
of the footprint so that it can throw future format errors or
do version specific parsing properly.
2020-11-16 23:19:09 +00:00
Jeff Young 7933935b4a Naming conventions. 2020-11-16 00:04:55 +00:00
Jeff Young f21e308830 Tweak fill logic to also catch filled primitives in custom pad shapes. 2020-11-15 23:14:46 +00:00
Ian McInerney ceb51bb103 pcbnew: Only write fill flag for circles, rectangles and polygons
The other shapes don't have the same concept of being filled
(their fill is only a viewing mode, not an actual saved property).
2020-11-15 22:03:59 +00:00
Ian McInerney 8c08b861ab Cleanup some compiler and Coverity warnings 2020-11-15 21:41:38 +00:00
Ian McInerney b31e97cfed Fix FP/PCB_SHAPE fill sexpr syntax to be backwards compatible
Previously the fill for shapes inside a footprint was not being
properly imported from older versions becase the default of no
flag changed from representing filled to representing no fill.

Introduce explicit filling information, and continue to treat no
flag on a polygon as meaning it is filled (which is the legacy
behavior).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6393
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6390
2020-11-15 21:28:27 +00:00
Jeff Young 114621eb2c Move footprint shape offset/rotation stuff to the right place.
Most shapes are already offset/rotated (with thier non-offset/rotated
points in start0, etc.).
2020-11-15 21:04:12 +00:00
Jeff Young 1ce1e493d6 A rule zone is not really a BOARD_CONNECTED_ITEM.
Or at least it shouldn't always be treated as one.

Fixes https://gitlab.com/kicad/code/kicad/issues/6382
2020-11-15 20:23:15 +00:00
Jeff Young b227d2b910 More component -> symbol. 2020-11-15 20:23:15 +00:00
Jeff Young 42687a33ff Terminology and layout cleanup in PCBNew Edit Options 2020-11-15 20:23:15 +00:00
Jeff Young 61821f3ee4 GUI guidelines in PCBNew origin setup. 2020-11-15 20:23:15 +00:00
Jeff Young 3f1a58bd06 Replace "module" with "footprint" in PCB sexpr. 2020-11-15 20:23:15 +00:00
jean-pierre charras 9aa6e40b79 Eeschema, fields_grid_table.cpp: fix a crash when the eeschema settings are not available.
It happens if the svhematic is not open when opening the symbol editor.
Fix also a compil warning.

Fixes #6384
https://gitlab.com/kicad/code/kicad/issues/6384
2020-11-15 13:50:10 +01:00
Jeff Young e97faa6afd No need for LAST if the compiler still barks anyway. 2020-11-14 22:02:22 +00:00
Jeff Young d094f86b1a Finish module cleanup (except for xpms). 2020-11-14 22:00:12 +00:00
Jeff Young 6e6f6a2d72 Use legacy boardThickness for via length when we don't have a stackup 2020-11-14 21:22:35 +00:00
Jeff Young 61bca4aaa4 A bit of "module" erradication, nameing conventions, and formatting. 2020-11-14 21:21:54 +00:00
Jeff Young d2a88234b6 Fix issue deleting footprint libraries from table.
wxWidgets pageChanged handler is evidently buggy.  Who would have
guessed?
2020-11-14 20:12:49 +00:00
Jeff Young 666c11965a Clean up some more MODULE terms. 2020-11-14 19:56:06 +00:00
Jeff Young 7bd31d5237 Naming conventions. 2020-11-14 18:26:03 +00:00
Jeff Young 2d001796a3 Take into account footprint rotation too. 2020-11-14 17:24:27 +00:00
Jeff Young 2eb71447e4 DRC RTree fixes.
1) Don't collide against hidden text
2) Don't collide in both directions (a:b & b:a)
2020-11-14 16:59:34 +00:00
Jeff Young 8bae52d1c3 Correct naming conventions. 2020-11-14 14:29:11 +00:00
Jeff Young 74ad1562d9 Make FP_SHAPE GetEffectiveShape() relative to board, not footprint. 2020-11-14 14:15:02 +00:00
Jeff Young aa06de2db4 Legacy polygons on non-Edge_Cuts layers were always filled. 2020-11-14 14:15:02 +00:00
Jeff Young 774a671b54 Fix footprint-relative coordinates when drawing polygons. 2020-11-14 14:15:02 +00:00
jean-pierre charras 103dbb9fbd Some fixes in python footprint wizards 2020-11-14 13:38:44 +01:00
Dominik Wernberger 28991ddf58 Rename D_PAD to PAD 2020-11-14 09:37:45 +00:00
Dominik Wernberger 54878b04a5 Rename MODULE to FOOTPRINT 2020-11-14 09:37:45 +00:00
Dominik Wernberger a4650e7269 Rename GetModules to GetFootprints 2020-11-14 09:37:45 +00:00
jean-pierre charras dfddd19b17 French translation update.
Fix also a typo.
2020-11-14 09:02:36 +01:00
jean-pierre charras c58b3fe8a4 Fix a compil issue. 2020-11-14 08:51:21 +01:00
jean-pierre charras 7265f84358 fix PAD::TransformShapeWithClearanceToPolygon() incorrect calculation in some cases.
For round rect pads, when the arc error was OUTSIDE, the shape was too big and creates
bad shape for chamfered round rect pads.
For chamfered pads, when the clearance value was not 0, the chamfer was not at the
right place.
2020-11-14 08:50:58 +01:00
Marek Roszko b996c0d2f5 Fix typo in last commit 2020-11-13 22:16:23 -05:00
Marek Roszko 7fc19b7592 Turn off live resize in pcbnew on Windows
The performance of live resizing isn't great. Windows can send mouse moves at 1000 Hz which is faster than the complex appearance panel + canvas can paint properly.
2020-11-13 22:15:32 -05:00
Jeff Young ec020dd19f First-class support for filled shapes. 2020-11-14 01:40:32 +00:00
Jeff Young 86b6afd14b More cleanup of MODULE to see if it fixes SWIG error. 2020-11-13 21:07:36 +00:00
Jeff Young 47e86d76fb Cleanup prior to adding filled flag. 2020-11-13 21:07:36 +00:00
Wayne Stambaugh 18fac23c35 Fix python module build error. 2020-11-13 14:37:52 -05:00
Jeff Young 34b13e66bf Fix typo in SWIG stuff. 2020-11-13 17:55:54 +00:00
Jeff Young 49402fe760 Keep track of COMPONENT -> FOOTPRINT map.
Changed footprints will still only be found in the COMMIT, so
searching for them in the board won't work.

Fixes https://gitlab.com/kicad/code/kicad/issues/6363
2020-11-13 17:55:54 +00:00
Roberto Fernandez Bautista b29cd8e3a1 Rewrite EDIT_TOOL::FilletTracks to only carry out the operation when one item is connected to the anchors
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6103
2020-11-13 17:43:21 +00:00
Roberto Fernandez Bautista 498c4121b3 Fix and rename CONNECTIVITY_DATA::GetConnectedItems(aItem, aAnchor, aTypes[] ) to GetConnectedItemsAtAnchor
- Fix the function so it actually returns the connected items (previously it was returning aItem every time)
- Make the function const
- Rename the function so that it is not confused with the other function of the same name
- Add doxygen comments for the function
2020-11-13 17:43:21 +00:00
Roberto Fernandez Bautista bdc89df333 EDIT_TOOL::FilletTrack Change STATUS_TEXT_POPUP messages to an infobar instead 2020-11-13 17:43:21 +00:00
Jeff Young bdbb68f813 MODULE -> FOOTPRINT. 2020-11-13 16:04:03 +00:00
Jeff Young 3451ac3088 PCB_MODULE_T -> PCB_FOOTPRINT_T 2020-11-13 15:16:24 +00:00
Jeff Young 63a54d003e More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 522d64968e Yet more module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 9106cc19bf Yet another tranche of module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 2cc9dad4ff More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 8c947b69b0 More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young fc9cf1d827 More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 52a46341db More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young a3a9ef4f32 Naming conventions. 2020-11-13 15:16:24 +00:00
Jeff Young f5443de7f9 D_PAD -> PAD. 2020-11-13 15:16:24 +00:00
Jeff Young 2bc004eb0b Prepare for D_PAD -> PAD. 2020-11-13 15:16:23 +00:00
Jeff Young 84dd5108ba Remove some "class_" prefixes from files. 2020-11-13 15:16:23 +00:00
jean-pierre charras 72beaf1538 Pcbnew, DIALOG_BOARD_REANNOTATE: fix some cosmetic issues.
Fixes #6370
https://gitlab.com/kicad/code/kicad/issues/6370
2020-11-13 08:59:23 +01:00
jean-pierre charras 4d7aa2f9c9 Pcbnew, Pad properties dialogs: fix some issues related to chamfered rect shapes. 2020-11-12 20:13:28 +01:00
Wayne Stambaugh 43a4cf7957 Coverity fixes.
CIDs 309391, 310711, 310712, and 313055.
2020-11-12 08:15:49 -05:00
Simon Richter 1faee7fdce Fix SWIG includes 2020-11-12 12:25:11 +01:00
Jan Mrázek fc8bf6f0fe
Allow a user to remap layers in Eagle import
ADDED Allow for user mapping of layers in Eagle import
ADDED Support required and optional layers in the layer mapping dialog
ADDED Add base class for plugins supporting remappable layers
2020-11-12 11:37:04 +01:00
Jeff Young f7333ad64a Update some classnames including archaic zone names. 2020-11-12 10:31:25 +00:00
jean-pierre charras fb218e3c9b Pcbnew: allows filled option ( 0 outlines width ) for graphic items rect and circle.
It was allowed inside editors, dialog properties and when saving the board file.
However it was not allowed when reading the file. It is now allowed.

Fixes #6355
https://gitlab.com/kicad/code/kicad/issues/6355
2020-11-12 09:01:08 +01:00
Jeff Young 1e44172d40 Redraw all objects after Preferences in case colours changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/6341
2020-11-11 17:52:15 +00:00
Jeff Young da5cfb5df1 Improve commenting. 2020-11-11 17:52:15 +00:00
jean-pierre charras c78c8aadcf Pcbnew: fix incorrect tool tip.
Fixes #6356
https://gitlab.com/kicad/code/kicad/issues/6356
2020-11-11 18:39:28 +01:00
Wayne Stambaugh 7a7719bf97 Pcbnew: layer stack up dialog layout fixes. 2020-11-11 12:02:11 -05:00
Wayne Stambaugh 87da9271a4 Minor Pcbnew dialog layout fixes. 2020-11-11 11:08:54 -05:00
Jeff Young 5e569e81e7 Performance enhancements for PNS. 2020-11-11 15:32:30 +00:00
Jeff Young 43001cae38 Simplify Net Inspector. (Remove via length and group sorting ctrls.)
Also renames files & classes to fit dialog title and updates method
names to match coding guidelines.
2020-11-11 14:41:17 +00:00
Jeff Young e4870ee87e Better nullptr safety for m_netinfo.
Fixes https://gitlab.com/kicad/code/kicad/issues/6347
2020-11-11 11:25:46 +00:00
Ian McInerney d88eaaf477 Fix various compiler and Coverity warnings 2020-11-11 00:41:02 +00:00
Jeff Young ce3b2921bd Sort potential start candidates by distance from cursor.
Fixes https://gitlab.com/kicad/code/kicad/issues/1926
2020-11-10 23:50:57 +00:00
Jeff Young 3a35a5d5f8 Make use of polymorphism for locking/unlocking.
Fixes https://gitlab.com/kicad/code/kicad/issues/6350
2020-11-10 22:12:48 +00:00
Jeff Young 13e939ffa0 More Module -> Footprint. 2020-11-10 21:20:03 +00:00
Jeff Young 812b714ccd More Module -> Footprint and a bit of formatting cleanup. 2020-11-10 20:53:12 +00:00
Wayne Stambaugh 48ab3a2819 Pcbnew: minor pad properties dialog layout fixes. 2020-11-10 15:44:23 -05:00
Wayne Stambaugh 010e147700 Pcbnew: minor geographical annotation dialog layout fixes. 2020-11-10 15:23:11 -05:00
Jeff Young 6e0a40e32e Cleanup. Push more editing functions to toolset.
Also cleans up some more Module -> Footprint items.
2020-11-10 20:14:26 +00:00
Wayne Stambaugh bc0dcdd5ce Pcbnew: minor P&S router dialog layout fixes. 2020-11-10 14:56:29 -05:00
Wayne Stambaugh 3589efd759 Pcbnew: minor plot dialog layout fixes. 2020-11-10 14:40:45 -05:00
Michael Kavanagh 3f01c5fae0 Cleanup: move remnants of LAYER_WIDGET to gerbview
These are no longer used in Pcbnew.
2020-11-10 18:55:33 +00:00
Salvador E. Tropea 61fb271957 Rename the `plot.one_page_per_layer` option to avoid cconfusion.
Now named `plot.all_layers_on_one_page` as @craftyjon suggested.
In this way a `1` means that all layers will be printed to the same page.
Fixes #5633
2020-11-10 18:21:22 +00:00
Jeff Young 5bffc852ee Formatting. 2020-11-10 18:08:25 +00:00
Wayne Stambaugh 4ea3914d4e Coverity fixes.
CIDs: 312996, 305508, 305509, 305510, 312992, 312997, 312994, 312995,
312968, and 306650.
2020-11-10 08:50:16 -05:00
Jeff Young 5c309f0fef KeepUpright should enforce 0..90, not -90..90.
Fixes https://gitlab.com/kicad/code/kicad/issues/5537
2020-11-09 22:50:29 +00:00
Jeff Young 67095af043 Handle dimensions in Edit Text and Graphics Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/6340
2020-11-09 20:32:37 +00:00
Jeff Young bd63c018c9 Don't snap synthetic priming event.
We need to let the consumer of the event do snapping (so that, for
instance, it can also snap to tracks, pads, etc.)

Fixes https://gitlab.com/kicad/code/kicad/issues/4365
2020-11-09 17:21:47 +00:00
Jeff Young 6417015b8a Harvest -> Export 2020-11-09 17:21:47 +00:00
Jeff Young 4dc877d0e9 Module -> Footprint. 2020-11-08 21:43:19 +00:00
Jeff Young 64876a2761 PNS_DRAGGER should report its layers.
Also, don't use ViewGetLayers() for visibility checking.  For some
things (like vias) it deals with synthetic layers, not board layers.

Fixes https://gitlab.com/kicad/code/kicad/issues/6328
2020-11-08 17:19:37 +00:00
Jeff Young f33e44e630 Drop selection when creating new text item.
Fixes https://gitlab.com/kicad/code/kicad/issues/6310
2020-11-08 00:14:43 +00:00
Jeff Young 0ebea4be53 Cleanup and naming conventions. 2020-11-07 18:50:30 +00:00
Jeff Young 7c60c2e404 Module -> footprint. 2020-11-07 18:50:30 +00:00
Jeff Young bfd8a62852 Formatting and naming conventions. 2020-11-07 18:50:30 +00:00
Jeff Young 0a0a51471c More commenting and simpification of zone filler code. 2020-11-07 18:50:30 +00:00
Jeff Young 81ea71fb80 More safety when fetching via sizes. 2020-11-07 18:50:30 +00:00
Jeff Young 23d6cde0b0 Don't swally properties command when tool has no current item.
Fixes https://gitlab.com/kicad/code/kicad/issues/6311
2020-11-06 13:21:29 +00:00
Marek Roszko 08ca80a2d8 Smooth out redrawing of toolbars by not letting wx pointlessly calculate both orientations
Monkey patch

Fix #5705
2020-11-05 20:56:14 -05:00
Jeff Young 8b295a3bd7 Handle properties dialog while creating an arc.
Fixes https://gitlab.com/kicad/code/kicad/issues/6215
2020-11-05 20:21:06 +00:00
Jeff Young 2b5f7d594b Auto-zoom means auto-zoom. Other zoom settings do not.
Fixes https://gitlab.com/kicad/code/kicad/issues/6257
2020-11-05 20:21:06 +00:00
jean-pierre charras 37fb422516 Pcbnew: make DIALOG_FIND translatable.
Fixes #6306
https://gitlab.com/kicad/code/kicad/issues/6306
2020-11-05 19:44:09 +01:00
Jeff Young a6552f14f1 Improve SNR (code, status bar and user messages).
Fixes https://gitlab.com/kicad/code/kicad/issues/6304
2020-11-05 16:38:04 +00:00
Jeff Young 82e495d202 Be more explicit about pad types to reduce fragility.
Fixes https://gitlab.com/kicad/code/kicad/issues/6300
2020-11-05 11:56:50 +00:00
Jeff Young cff1e0ab0a If not setting modified on a commit, at least update 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/6296
2020-11-05 11:49:59 +00:00
jean-pierre charras 2b438cc909 French translation update and very minor I18n fixes. 2020-11-05 11:27:58 +01:00
Jeff Young 317ae50d5f More protection for array bounds access. 2020-11-05 00:22:15 +00:00
Jeff Young daa0c3aaa1 Switch pad preview canvas to that of parent.
Fixes https://gitlab.com/kicad/code/kicad/issues/6228
2020-11-04 21:06:46 +00:00
Jeff Young 1c30d36d73 Fix errant use of SetPosition().
Fixes https://gitlab.com/kicad/code/kicad/issues/6292
2020-11-04 19:24:09 +00:00
Jeff Young 16674b2d0d Make Fill-Zones-Before-DRC default to on for new users. 2020-11-04 19:05:46 +00:00
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.
2020-11-04 18:32:27 +00:00
Jeff Young 8c782506b9 Appy units updating more consistently to editing assistants.
Fixes https://gitlab.com/kicad/code/kicad/issues/6283
2020-11-04 14:11:25 +00:00
Jeff Young dd428b3d5a Small fix to comment. 2020-11-04 13:29:49 +00:00
Jeff Young 70b87f8529 Fix missing parameter to colour fetching.
Fixes https://gitlab.com/kicad/code/kicad/issues/6279
2020-11-04 13:29:49 +00:00
jean-pierre charras 2ffa88d076 DIALOG_PAD_PROPERTIES: fix a few issues and a crash when no copper layers selected.
Fixes #6280
https://gitlab.com/kicad/code/kicad/issues/620
2020-11-04 13:13:08 +01:00
Jeff Young 4ff3b22118 Simpler active layer checking.
Also fixes an array index bounds issue.
2020-11-04 11:53:51 +00:00
Marek Roszko 19deb7051a Fix C++17 form of static_assert added by a238209f3 (why does GCC allow it?) 2020-11-04 00:17:17 -05:00
Jon Evans 5579500bfa Code style fixes 2020-11-03 22:31:43 -05:00
Jon Evans 63059611f0 Minimize distinct translated strings 2020-11-03 21:53:06 -05:00
Oleg Endo a238209f3f Add group-by-suffix display option in net inspector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2469
2020-11-04 02:49:19 +00:00
Jeff Young fb8ec84db0 Cleanup hole and netname layer processing for high-contrast mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/6237
2020-11-04 02:23:44 +00:00
Ian McInerney 3d47eb0d49 Fix localization of the menu strings with accelerator strings
The accelerator strings really shouldn't be part of the translation,
and some translations have cause the accelerator keys to be incorrectly
handled. It is simpler to make it separate and just join them to the
translated string.

Make all accelerator modifiers use lowercased Ctrl instead of CTRL
to be the same as the other modifiers.

Fixes https://gitlab.com/kicad/code/kicad/issues/5992
2020-11-04 01:31:52 +00:00
Ian McInerney dd84ec1b51 Hide the convert submenu when there are no conversion tools available
Fixes https://gitlab.com/kicad/code/kicad/issues/6092
2020-11-04 01:31:52 +00:00
Ian McInerney d5f83d2685 Ensure dimension units are updated when being placed
* Fix the display of dimension units in the properties dialog. It was
  previously not showing automatic units in the dialog.
* When placing dimension items (e.g. from paste or append), update the
  units to the board units when the dimension uses automatic units.

Fixes https://gitlab.com/kicad/code/kicad/issues/6267
2020-11-04 01:31:52 +00:00
Jeff Young 5ede4061e3 Bug fixes and enhancements for dimensions.
1) Make them easier to select.
2) Mirror text when flipping to other side of board.
3) Flip around a more "known" point (the text position isn't really
here nor there).

Fixes https://gitlab.com/kicad/code/kicad/issues/6219
2020-11-03 22:48:57 +00:00
Jeff Young 0f6a9b59a6 Re-implement via painting to coexist with appearances better.
Fixes https://gitlab.com/kicad/code/kicad/issues/6237
2020-11-03 18:17:59 +00:00
Jeff Young cd89951b64 Repair breakage from earlier Drill Mark fixes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6237
2020-11-02 23:27:54 +00:00
Jeff Young 56c57c4cca Update marker view when setting excluded.
Fixes https://gitlab.com/kicad/code/kicad/issues/6254
2020-11-02 20:30:30 +00:00
jean-pierre charras 89e21d28f0 French translation update, and minor I18n fixes 2020-11-02 20:23:01 +01:00
Jeff Young 55c25f3cc4 Work around a round-off bug in Clipper.
Fixes https://gitlab.com/kicad/code/kicad/issues/6260
2020-11-02 17:43:13 +00:00
Jeff Young ae9afdd169 SNR. (Mostly for progammers, but a little for user messages.) 2020-11-02 16:20:00 +00:00
Jeff Young 3b10d15835 Don't run hole offset check for pad with no copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/6255
2020-11-02 12:53:02 +00:00
Jeff Young 76ac8b5acf Preflight routing so we can give a warning if it's not going to work.
Fixes https://gitlab.com/kicad/code/kicad/issues/4975
2020-11-02 00:10:21 +00:00
Jeff Young 8bfb255c96 Put a warning when routing can't start due to DRC violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/4975
2020-11-01 23:46:42 +00:00
Jeff Young 409cd9d4ee Formatting. 2020-11-01 20:25:36 +00:00
Jeff Young f6c92ab1ea DRAGGER needs to report it's nets.
Otherwise things like snapping don't work.

Fixes https://gitlab.com/kicad/code/kicad/issues/4147
2020-11-01 19:57:42 +00:00
Jeff Young a95e2184da A more generic error message when route start pt violates DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/1812
2020-11-01 18:23:07 +00:00
Jeff Young 4e5dd6952e Fix arc flipping behaviour.
Also fixes flipping of a dragged selection to be around the anchor
point.

Fixes https://gitlab.com/kicad/code/kicad/issues/6217
2020-11-01 15:26:55 +00:00
Wayne Stambaugh 042e5956c2 Fix library table dialog tab labels. 2020-11-01 09:13:55 -05:00
Jeff Young c351b3c31f Naming conventions. 2020-11-01 14:12:35 +00:00
Jeff Young f600450ee6 DRC_TEST_PROVIDER_COPPER_CLEARANCES is for copper only.
Fixes https://gitlab.com/kicad/code/kicad/issues/6248
2020-11-01 14:12:35 +00:00
Jeff Young d2befca5af Clear subshapes before using again on a different layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/6248
2020-11-01 14:12:35 +00:00
Jeff Young 7676ba6f5d Coverity warning. 2020-11-01 14:12:35 +00:00
Wayne Stambaugh cf59468de2 Fix library table dialog tab appearance in dark mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6236
2020-11-01 08:30:27 -05:00
Jeff Young 2c1b6e42e0 Repair ARC copy constructor.
Fixes https://gitlab.com/kicad/code/kicad/issues/6176
2020-11-01 00:10:08 +00:00
Jeff Young fab87fb97b Handle proxy items for the second PNS_ITEM as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/6193
2020-10-31 23:23:54 +00:00
Jeff Young f720b8aa2a Don't allow selecting of invisible zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/6225
2020-10-31 22:49:48 +00:00
Jeff Young 8bfde9db6c Fix typo in recent group commit fix.
Fixes https://gitlab.com/kicad/code/kicad/issues/6247
2020-10-31 22:24:20 +00:00
Jeff Young a0060086b0 Simplify shape building logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/6244
2020-10-31 22:02:50 +00:00
Marek Roszko 3b2b8ec229 Centralize/fix duplicated canvas type resolution between gerbview and pcbnew 2020-10-31 16:42:24 -04:00
Jon Evans 52cb410952 Cannot use two layers of temporary in range-for (yet)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6244
2020-10-31 15:13:30 -04:00
Jeff Young 33e54f136b Proper commit handling for group children. 2020-10-31 17:25:22 +00:00
Jeff Young 6bf29deb7f Improve formatting. 2020-10-31 17:25:08 +00:00
Jeff Young 843974b0bf Cleanup and formtting. 2020-10-31 15:50:06 +00:00
Jeff Young ba4d711356 I should have known better than to use a global....
When the board is closed and reopened the dummy items belong to a
freed board.
2020-10-31 15:50:06 +00:00
Jeff Young a9bf4bc6a6 Fix freed-memory crasher.
While the DRC_ENGINE is not long-lived, it's test providers are,
and must be cleared for each use.
2020-10-31 15:45:41 +00:00
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).
2020-10-31 15:45:41 +00:00
Jeff Young f1e9ecad41 Display full count in tab headers (even if actual list is truncated). 2020-10-31 15:45:41 +00:00
Jeff Young 1a1aef756e Reporting "actual" incompatible with exiting after first hit.
But we're currently using this only as a rough collision check
anyway as it doesn't know the specific item-to-item clearance.
2020-10-31 15:45:41 +00:00
Jeff Young 788a1e3bce Handle footprint zones in zone collision checks.
Also fixes issue with progress reporter.
2020-10-31 15:45:41 +00:00
Jeff Young cd93dbd324 Naming cleanup. 2020-10-31 15:45:41 +00:00
Jeff Young 8d4c9aeaac Fix Mac-style include. 2020-10-31 15:45:41 +00:00
Jeff Young d5addb692c Move a bunch of DRC tests to RTrees. 2020-10-31 15:45:41 +00:00
Jeff Young bddc97df30 LibEdit -> SymbolEditor 2020-10-31 10:28:21 +00:00
Seth Hillbrand 7e7ef82f55 Footprints not Modules 2020-10-30 16:52:17 -07:00
Jeff Young c17ceb5875 Make sure proxy items at least get the right net for clearance lines.
Fixes https://gitlab.com/kicad/code/kicad/issues/5980
2020-10-30 23:37:35 +00:00
Seth Hillbrand a551a500bb Fix crash when pasting to view-only frames
Fixes https://gitlab.com/kicad/code/kicad/issues/6233
2020-10-30 16:33:57 -07:00
jean-pierre charras 4314e4dc93 Update French translation and fixes minor I18n issues. 2020-10-30 21:01:15 +01:00
Seth Hillbrand 238b3562d4 Don't translate HTML 2020-10-30 12:51:24 -07:00
Seth Hillbrand 7c94983758 Fix translation issue
We cannot use verb-based substitution in translated strings
2020-10-30 12:48:22 -07:00
Jeff Young 203c8df909 Respect locked flag when inline dragging.
Fixes https://gitlab.com/kicad/code/kicad/issues/6117
2020-10-30 17:58:37 +00:00
jean-pierre charras 536bba294b Do not round a rotation angle to 0.1 degree.
Also ensure the rotation angle is not truncated when displaying
info for Footprints and Pads

Fixes #6058
https://gitlab.com/kicad/code/kicad/issues/6058
2020-10-30 17:59:04 +01:00
Jeff Young 45618327cf Fix crash bug closing schematic with sheet selected. 2020-10-30 15:26:07 +00:00
Seth Hillbrand 9ed6cdd943 Remove GITHUB plugins
KiCad github downloads are no longer supported

Fixes https://gitlab.com/kicad/code/kicad/issues/6182
2020-10-29 16:45:04 -07:00
Jeff Young 66d2cf172d Clear point editor on undo/redo.
Fixes https://gitlab.com/kicad/code/kicad/issues/6224
2020-10-29 22:55:33 +00:00
Jeff Young fc6fc88219 Zone fill fixes for divots and hatching + more debug layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6203
2020-10-29 21:20:34 +00:00
jean-pierre charras 0ef480dc84 DIALOG_FOOTPRINT_PROPERTIES: fix an issue when selecting 0.0 orientation.
Allows also entering a rotation angle in 0.001 degrees
(The limitation to 0.1 degree is outdated since years)
2020-10-29 18:33:28 +01:00
Jeff Young 5a644aa3fb QuasiModal needs to be used for any dialog hosting a help window.
Fixes https://gitlab.com/kicad/code/kicad/issues/5897
2020-10-28 23:07:15 +00:00
Jeff Young bc23fd0530 Mark footprint tests as run even if netlist is empty.
Fixes https://gitlab.com/kicad/code/kicad/issues/6125
2020-10-28 19:56:58 +00:00
jean-pierre charras 95811f9f22 Replace Module by Footprint in UI sentences. 2020-10-28 08:06:16 +01:00
Jeff Young 776ea35040 Fix copy/paste error and some formatting issues. 2020-10-27 22:46:19 +00:00
Jeff Young c44855a647 More performance enhancements for Cleanup Tracks and Vias. 2020-10-27 22:46:19 +00:00
jean-pierre charras a7ba5ea9c8 DIALOG_PAD_PROPERTIES: fix a few issues found for flipped pads after edition:
Incorrect y offset.
Incorrect rounded/chamfered corner positions
2020-10-27 15:32:29 +01:00
jean-pierre charras 2cb23277f3 Fix bounding box update after rotation. 2020-10-27 14:18:29 +01:00
Roberto Fernandez Bautista 4ea8f29a43 Fix typo causing custom shaped pads to be flipped when opening the pad properties dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6180
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista d75151a847 Replace some errors with warnings in pad properties dialog 2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista 3d49f6d6f8 CADSTAR PCB Archive Importer: Import missing layer subtypes LAYERSUBTYPE_CLEARANCE and LAYERSUBTYPE_ROUT 2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista 7532428c46 CADSTAR PCB Archive Importer: Fix loading of angled slotted holes 2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista 5e7d4ca6e8 CADSTAR PCB Archive Importer: Fix Position and orientation of non-symmetrical pads
Previously they were not loaded at the correct positions
There is still a problem with angled slotted holes, but now we display a warning to the user.
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista 0dc153fe58 CADSTAR PCB Archive Importer: Load correct pad information for pads with PADEXCEPTION
Overwrites pad definitions for pads that have PADEXCEPTION
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista 7a1777e9b9 CADSTAR PCB Archive Importer: Parse EXITS node in PADEXCEPTION 2020-10-27 11:33:35 +00:00
Werni a7d5d1f091 Add more consts all over the place 2020-10-27 11:03:35 +00:00
Ian McInerney 0948d67e56 Break wait loops on null TOOL_EVENT
The Wait() function will return a null TOOL_EVENT when the tool
stack is shutting down, so we can't just always pass the event,
instead we must check for null and end the looping if a null
event appears.
2020-10-27 00:32:41 +00:00
Ian McInerney dc542be91d Fix parentage of groups
In the footprint editor, we must parent the group to the module
not the board.

Fixes https://gitlab.com/kicad/code/kicad/issues/6181
2020-10-26 23:53:38 +00:00
Ian McInerney 31e626f279 Cleanup creation of all our smart pointers 2020-10-26 23:52:44 +00:00
Jeff Young 2e94be0855 Move geometric parts of Cleanup Tracks and Vias to RTree.
Removes two separate O(n^2) traverses over the tracks.

Fixes https://gitlab.com/kicad/code/kicad/issues/6077
2020-10-26 18:37:59 +00:00
Jeff Young d7ee5fe97f Apply wxWidgets hack to get saved component tree widths restored.
Fixes https://gitlab.com/kicad/code/kicad/issues/6036
2020-10-26 15:36:07 +00:00
Jeff Young 41c6de45e4 Use our Refresh() call, not wxWidgets'.
Fixes https://gitlab.com/kicad/code/kicad/issues/6071
2020-10-26 15:36:07 +00:00
Jeff Young ce5fbb0c58 Small performance boost and fix a bug between tracks and arcs. 2020-10-26 15:36:07 +00:00
Jeff Young 9b79272111 Fix firstRun special case so we don't continue to check zones.
Also don't leave up zone checking progress reporter after it has
been cancelled.

Fixes https://gitlab.com/kicad/code/kicad/issues/6077
2020-10-26 15:36:07 +00:00
Jeff Young 397f3d07db Be more responsive to cancel when filling zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/6077
2020-10-26 15:36:07 +00:00
Jeff Young 09af6c78bb Consistency. 2020-10-26 15:36:07 +00:00
Jeff Young 5fba0973ab Update formatting. 2020-10-26 15:36:07 +00:00
Thomas Pointhuber c060fc9591 altium: use CENTER_DIMENSION instead of line interpolation 2020-10-26 14:11:24 +01:00
Thomas Pointhuber 7ec27c2a18 altium: no idea what Region Kind=2 means, but at least the existence is noted 2020-10-26 13:50:11 +01:00
jean-pierre charras f74ffc5623 Pcbnew: Fix incorrect position of the graphic crosshairs cursor in H,V,45deg
forced mode, when the graphic polygon tool is active, but a graphic item is not started.
(The code was using the last created point, but it does not exist before starting
a line)

Fixes #6079
https://gitlab.com/kicad/code/kicad/issues/6079
2020-10-26 11:56:09 +01:00
jean-pierre charras c092e3f8b7 Fix a few minor Coverity warnings 2020-10-26 10:46:08 +01:00
Marek Roszko 1984581c46 Remove common.h from more headers 2020-10-25 22:29:53 -04:00
Marek Roszko 9de0ff22c1 Rename Mirror template to MIRRORVAL to avoid shadowing
I am bad at naming creativity here, but hey, it's unique
2020-10-25 20:44:22 -04:00
Marek Roszko b043b5b5c6 Nip 3 no longer needed common includes 2020-10-25 20:01:13 -04:00
Marek Roszko 1167862c86 Split wx_filename out of common 2020-10-25 20:01:13 -04:00
Marek Roszko 14c18b7e64 Move ui functions out of common and into ui_common 2020-10-25 20:01:12 -04:00
Marek Roszko 91e5611341 Move dialog_configure_paths.h and dialog_edit_library_tables.h to dialogs folder 2020-10-25 20:01:12 -04:00
Marek Roszko e49ac45b84 HTML_MESSAGE_BOX is a dialog 2020-10-25 20:01:12 -04:00
Marek Roszko a785f70ea1 msgpanel is a widget, shove it to the right folder. 2020-10-25 20:01:12 -04:00
Jeff Young d1c73cb1d5 Clean up MODULE effective shape memory handling. 2020-10-25 23:38:21 +00:00
Jeff Young 45113f983b Fix test case.
Silk tests were processing MODULE_Ts when they shouldn't have been.
2020-10-25 23:19:39 +00:00
Jeff Young 2ee61f52ca Implement correct layer handling for keepout constraints. 2020-10-25 22:47:47 +00:00
Jon Evans e490b8eda4 Bring back Copy with Reference as a new action
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5916
2020-10-25 17:09:58 -04:00
Jeff Young 8c93fc76ae Don't require keepout zones to be named.
insideArea() now takes A, B, a UUID or a zone name.  (Only the UUID
is new.)
2020-10-25 21:08:09 +00:00
Jon Evans be0de8d151 Improve visibility controls of PTH pads
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5095
2020-10-25 16:32:15 -04:00
Jeff Young 5b1e1075a9 Allow an easy way for DRC tests to specify compound objects or not. 2020-10-25 20:24:47 +00:00
Jeff Young ccfa0f5189 fixup! Implement MODULE::GetEffectiveShape() 2020-10-25 20:18:33 +00:00
Jeff Young 0e686d377b Implement MODULE::GetEffectiveShape() 2020-10-25 19:51:03 +00:00
Jeff Young 386cefbe84 Do footprint keepouts by courtyard.
Fixes https://gitlab.com/kicad/code/kicad/issues/6162
2020-10-25 18:17:58 +00:00
Jeff Young 07b8a03432 Improve translatability and add keepout inspection. 2020-10-25 18:17:58 +00:00
Jon Evans 09ade9fe51 Inhibit point editor while drag-selecting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6155
2020-10-25 12:13:25 -04:00
jean-pierre charras 13baea4900 Fp editor: fix crash when converting a rect to lines
Avoid adding menuitems in convert context menus having no meaning in fp editor

Fixes #6158
https://gitlab.com/kicad/code/kicad/issues/6158
2020-10-25 14:51:08 +01:00
jean-pierre charras 34179cd039 Add missing icon in menu, and fix them in other menus 2020-10-25 14:51:08 +01:00
Jeff Young b2ad9b5b83 Treat P-CAD copper polygons as very-high-priority zones.
In P-CAD they don't avoid other copper pours, so this should more
accurately reflect that in Kicad.  (Note that only the very-high-
priority part is new; we've always coverted them to zones.)

Fixes https://gitlab.com/kicad/code/kicad/issues/3997
2020-10-25 13:38:15 +00:00
jean-pierre charras d6f91c810f Fix a few compil and Coverity warnings. 2020-10-25 10:02:07 +01:00
Marek Roszko e928b2d8fd Split EDA_UNITS out from common. 2020-10-25 00:02:52 -04:00
Jeff Young 7674d2ba91 Free allocated DRC structures when re-initializing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6147
2020-10-24 22:39:53 +01:00
Jeff Young 050cfd34dd Move same-net higher-priority knockout to after smoothing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6145
2020-10-24 17:48:30 +01:00
Jeff Young 317bdc58a8 Add a couple more layers to zone debugging. 2020-10-24 17:48:30 +01:00
Jeff Young d2eca81b8b Fix deadlock when filling single zone. 2020-10-24 17:48:30 +01:00
David Shah 66bcfb3ffc drc_engine: Fix via type names
There was a mismatch between the via type names used in the DRC engine
and the via type names defined in the class_track.cpp ENUM_MAP for
VIATYPE.

This fixes the discrepancy; which was breaking microvias altogether as
the route tool also uses the DRC code to determine the correct
diameter/drill (without this patch it was incorrectly using regular
dimensions for microvias.)
2020-10-24 15:46:47 +00:00
Marek Roszko 81a7afc76e Use kicad_algo directly rather than common.h 2020-10-24 08:53:11 -04:00
Marek Roszko 68484e9b38 Nix some global richio.h 2020-10-24 08:44:03 -04:00
Marek Roszko 8d7feb3d72 Nip some common.h from headers 2020-10-24 08:28:03 -04:00
Marek Roszko 77ece552f7 Remove macros.h from files that don't need it 2020-10-24 08:28:02 -04:00
jean-pierre charras 442f40fa66 ConvertOutlineToPolygon() fix another issue for arcs found inside a outline 2020-10-24 10:04:15 +02:00
Marek Roszko 64484f5fc4 Split KIID out of common.h 2020-10-24 00:17:08 -04:00
Marek Roszko 304e5faf36 Move wxStringSplit to kicad_string 2020-10-24 00:17:07 -04:00
Marek Roszko 1d559108c8 Move LOCALE_IO out of common.h 2020-10-23 21:49:42 -04:00
Jeff Young 59f3fefd17 When polygonizing arcs don't use synthesized center and angle.
Start, mid and end are the "real" properties and come with less
error.

Also collapses two arc polygonization routines into one.

Also fixes DRC checks to be cognizant of arc approximation error.

Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-23 23:55:45 +01:00
Jeff Young b683871d93 Commit file missing from earlier commit. 2020-10-23 23:55:45 +01:00
Seth Hillbrand 19bf594aa0 Remove unused point in polygon test
There can be only one.
2020-10-23 12:13:09 -07:00
jean-pierre charras fdf6547f5f Pcbnew: Select/Expand connection (U) does not propagate with fillet tracks
Fixes #6136
https://gitlab.com/kicad/code/kicad/issues/6136
2020-10-23 18:51:05 +02:00
Jeff Young 01ce881340 Honour NOT_IN_SCHEMATIC setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6137
2020-10-23 17:27:18 +01:00
Jeff Young 1cdb8b5584 Make sure local zone clearances are factored into worstClearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/6128
2020-10-23 14:27:36 +01:00
Jeff Young 58c006bc45 Register properties for ARC elements so we can get their netclass.
Also improves GAL arc drawing and polygonization.

Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-23 14:27:36 +01:00
Thomas Pointhuber 47786fa976 altium: Correctly handle symbol names containing invalid chars
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6082
2020-10-23 14:30:29 +02:00
jean-pierre charras 51be98428d fix a few issues in ConvertOutlineToPolygon().
Fixes #6130
https://gitlab.com/kicad/code/kicad/issues/6130
Fixes #6129
https://gitlab.com/kicad/code/kicad/issues/6129
2020-10-23 11:23:45 +02:00
jean-pierre charras 15369915cc Minor code cleanup: move "extern" declarations to convert_drawsegment_list_to_polygon.h 2020-10-23 08:48:52 +02:00
Wayne Stambaugh d8ffea881e Improve dialog static sizer box consistency.
Remove colons from the end of static sizer box labels from a few dialogs so
they are consistent with all dialogs.
2020-10-22 22:00:04 -04:00
Jeff Young 82ede1d767 Fix a couple more instances of "auxilary origin".
Fixes https://gitlab.com/kicad/code/kicad/issues/5394
2020-10-22 22:31:07 +01:00
Jeff Young d75f97161f Focus on center of board for board-related DRC markers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6119
2020-10-22 21:50:46 +01:00
Jeff Young 27e156917e Fix tooltip. 2020-10-22 21:47:23 +01:00
Jeff Young cce557b9ad Redo the board-edge-building logic to return better error reports.
Fixes https://gitlab.com/kicad/code/kicad/issues/6119
2020-10-22 21:29:04 +01:00
Jeff Young 41fd8293e8 Don't apply clearance to keepout zones.
Also improves the clearance and keepout reporting.

Fixes https://gitlab.com/kicad/code/kicad/issues/6118
2020-10-22 21:29:04 +01:00
Thomas Pointhuber 412bc2ba8a altium: detect polygons with less than 2 unique points 2020-10-22 17:23:12 +02:00
Wayne Stambaugh 8185a416b9 Fix broken build on Linux with gcc. 2020-10-22 08:36:28 -04:00
Thomas Pointhuber 06e9a21791 altium: fix coding style, remove useless check 2020-10-22 13:44:55 +02:00
Thomas Pointhuber a6f6d44026 altium: correctly handle arcs in polygon and zone outlines 2020-10-22 13:37:29 +02:00
Jeff Young 883c9e14f3 Don't draw 0-clearance clearance lines.
Fixes https://gitlab.com/kicad/code/kicad/issues/6108
2020-10-22 11:56:47 +01:00
Jeff Young af184e58b5 Make sure newly-added footprint's pads get Default net.
Fixes https://gitlab.com/kicad/code/kicad/issues/6108
2020-10-22 11:49:15 +01:00
Jeff Young 9ff49277e1 Add implicit rule generation for keepout areas.
Also implements collision detection for SHAPE_POLY_SET.

Fixes https://gitlab.com/kicad/code/kicad/issues/6105
2020-10-22 10:41:21 +01:00
Jon Evans 2153a7655b Try harder not to give a read-only path to save dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5937
2020-10-21 20:55:43 -04:00
jean-pierre charras 4326e99b08 Pcbnew: "Select all tracks in net" must select track segments and track arcs.
Fixes #6101
https://gitlab.com/kicad/code/kicad/issues/6101
2020-10-21 20:32:52 +02:00
Jeff Young 916a4d51a1 Use REF** for all harvested footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/4518
2020-10-21 18:51:47 +01:00
jean-pierre charras 36f68dd39f Pcbnew: make option Tracks filled/sketch working for track arc shaped.
Fixes #6096
https://gitlab.com/kicad/code/kicad/issues/6096
2020-10-21 19:43:14 +02:00
jean-pierre charras c87faad344 Python compatibility: move DXF_PLOTTER::DXF_UNITS to DXF_UNITS in pcb_plot_params.h
Fixes #6034
https://gitlab.com/kicad/code/kicad/issues/6034
2020-10-21 18:29:53 +02:00
Jeff Young adfc9f1288 Move File > Archive Footprints to Tools > Harvest Footprints.
CHANGED.

Also corrects references so they fit the generic pattern.

Fixes https://gitlab.com/kicad/code/kicad/issues/4518
2020-10-21 12:41:37 +01:00
Seth Hillbrand f8a4edb1c9 First pass renaming module to footprint
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Ian McInerney 06bf7943b7 Minor warning fixes 2020-10-21 00:30:50 +01:00
Jeff Young f6f4768b64 Add some escaping to syntax help. 2020-10-20 22:26:47 +01:00
Jeff Young 3d1ab10eb5 String consistency.
Fixes https://gitlab.com/kicad/code/kicad/issues/5394
2020-10-20 22:26:47 +01:00
Roberto Fernandez Bautista 006c462d8f ADDED: Fillet Tracks tool in pcbnew
Select two or more track segments and run the "Fillet Tracks" tool.
2020-10-20 21:23:05 +00:00
Seth Hillbrand 661e85d705 Standardize "Key words" to "Keywords" 2020-10-20 13:18:48 -07:00
Seth Hillbrand 2a43b88115 Standardize PostScript capitalizaiton 2020-10-20 13:09:13 -07:00
Seth Hillbrand 4085757aeb Remove beginning/ending spaces in translations
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jeff Young 6cbe2131ab Simplify string processing and ease translation. 2020-10-20 19:42:37 +01:00
Jeff Young 229a505b11 Only suppress all-green (0) error counts when DRC hasn't been run. 2020-10-20 16:57:56 +01:00
Jeff Young f772e49d25 Adjust DRC badge spacing on OSX.
Also added dynamic badge sizing based on number of digits.
2020-10-20 16:57:56 +01:00
Jeff Young 07f5428951 Fix issues pasting groups into ModEdit. 2020-10-20 13:38:09 +01:00
Jeff Young 28ee667080 When copying groups we must do a deep copy. 2020-10-20 13:38:09 +01:00
Jeff Young 68ec151f28 Clear group info before parsing.
PCB_PARSER is a long-lived object.  Doing it in init() is not
sufficient.

Fixes https://gitlab.com/kicad/code/kicad/issues/6074
2020-10-20 13:38:09 +01:00
Jeff Young 3045dbd6e8 Minor code clean-up. 2020-10-20 13:38:09 +01:00
Jeff Young 18f9f3cf0b Add curved track support to track-to-zone DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-20 13:38:09 +01:00
Thomas Pointhuber d142075417 altium: fix netclass parsing 2020-10-20 11:48:27 +02:00
Thomas Pointhuber f06f4e7a13 altium: handle keepout tracks/arcs on multiple layers 2020-10-20 10:35:58 +02:00
Thomas Pointhuber 7642bbc090 altium: Via record can have size=74, which was not supported by us
Fix: https://gitlab.com/kicad/code/kicad/-/issues/5543
2020-10-20 10:22:24 +02:00
Ian McInerney 7c9acc605d Introduce a new number badge UI element for DRC and ERC reporting
This new badge allows for proper UI scaling and will not cut off
the number being displayed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jon Evans 0d5b5bf8c3 Don't assume we have a MODULE parent
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6063
2020-10-19 20:55:34 -04:00
Roberto Fernandez Bautista e7ab924a86 CADSTAR PCB Archive Importer: Resolve comments in MR
- Change wxASSERT(false) to wxFAIL_MSG
- Fix double negative
- Add small comment to TXT_HEIGHT_RATIO
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 6fb338d136 CADSTAR PCB Archive Importer: Fix imported Text Angle when mirrored
Angle needs to be negated in KiCad
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 7839a508b3 CADSTAR PCB Archive Importer: Fix imported text height
Apply a scaling factor derived from CADSTAR's default font
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista a514817c57 CADSTAR PCB Archive Importer: Fix component mirroring
Need to invert mirror angle before calling MODULE::Flip
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista dcf69d53f0 CADSTAR PCB Archive Importer: Fix unhandled case statements
Note: UNITS::DESIGN refer to the units defined in Assignments.Technology.Units
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5725
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista d780cb7e7c CADSTAR PCB Archive Importer: Load CADSTAR routing areas as a KiCad rule area 2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 5273c77fbf CADSTAR PCB Archive Importer: Parse TRUNK and TRUNKREF, display error if present (no KiCad equivalent) 2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista 7a624d8d44 CADSTAR PCB Archive Importer: Fix warning.
Need to std::erase after std::remove!
2020-10-20 00:00:05 +00:00
Jeff Young 4233886a05 Repair drill mark printing.
1) Make sure that layer dependencies don't prevent us from drawing
drill marks.
2) Don't draw pad shapes when their particular layer isn't enabled
(a side effect from the above)
3) Allow the printout painter to set a different hole colour (the
special case for through-hole pads was handled twice anyway -- once
in LoadColors() and once in draw( D_PAD ).
4) Replace the call to getDrillSize() which handles swapping in the
small mark size if set.

Fixes https://gitlab.com/kicad/code/kicad/issues/4847
2020-10-19 23:58:07 +01:00
Seth Hillbrand c9d14700a7 Restore missing MW shape icon 2020-10-19 14:28:27 -07:00
Wayne Stambaugh 8ff51d8899 Eeschema: add schematic sheet page number.
The groundwork has now been laid for per sheet instance data.  Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.

ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
Jeff Young 725082786e Move ERC dialog to DRC architecture.
This is mainly to remove the annotation nag dialogs in favour of the
HTML links.  But it also allows you to see more than a few messages,
and implements a progress reporter architecture if the ERC checks ever
get slow enough to benefit from it.
2020-10-19 15:17:49 +01:00
Jeff Young b12937af65 Accurately reflect disabled router settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/5999
2020-10-19 12:49:33 +01:00
Jeff Young ede8499e65 Fix negative length reporting for arc track segments.
Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-19 12:07:43 +01:00
Michael Kavanagh e826a4494a Auto-select first item in layer mapping dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/5942
2020-10-18 23:50:07 +00:00
Jeff Young d7ea70ba02 Don't assume a valid constraint.
Fixes https://gitlab.com/kicad/code/kicad/issues/6059
2020-10-18 20:58:53 +01:00
Jon Evans 2e50723781 Ensure preview pad has access to parent board design settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6057
2020-10-18 15:27:30 -04:00
Jon Evans e735d21824 Maximize main editors by default if config is missing
Also set default size for other windows to something slightly
larger than it was before
2020-10-18 14:38:55 -04:00
Jon Evans c388bf0f92 Update default color theme
Blue is the new green :)

ADDED: built-in read-only color themes support
Classic theme is still available for those who love it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
jean-pierre charras f6b4b66a86 Avoid include wx/wx.h in many files that do not actually use this include.
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Jeff Young 8c68857f02 Add immediate mode to WX_HTML_REPORT_BOX for use as progress messages.
Fixes https://gitlab.com/kicad/code/kicad/issues/6052
2020-10-18 14:20:36 +01:00
Jeff Young 02cbcb99df Fix broken logic in ImportSizes().
Fixes https://gitlab.com/kicad/code/kicad/issues/6049
2020-10-18 12:08:16 +01:00
Jon Evans e832a94a9c Turn on zone visibility when you start drawing a zone
It's disconcerting to have the zone turn invisible when
you finish drawing and drop the selection.
2020-10-17 15:53:02 -04:00
Jeff Young c5d45f8a78 Move DRC dialog to same DRC rule reporting mechanism as inspectors. 2020-10-17 20:40:05 +01:00
Jeff Young 4355e91a41 Make sure rectangles are "right-side-up".
Fixes https://gitlab.com/kicad/code/kicad/issues/6023
2020-10-17 14:48:08 +01:00
Jeff Young 827699bed2 Just because we have a startItem doesn't mean it can find a width.
For instance, a pad with no other tracks attached will return 0.

Fixes https://gitlab.com/kicad/code/kicad/issues/6019
2020-10-17 13:57:07 +01:00