Commit Graph

319 Commits

Author SHA1 Message Date
Frank Zeeman f063c00bf1 Fix gr_arc indentation level 2022-01-11 21:03:45 +00:00
Marek Roszko fcfe42d67c Continue the war on wxPoint 2022-01-10 19:52:26 -05:00
jean-pierre charras ac78d51b14 Teardrops: better dialog, and better code 2022-01-10 20:04:41 +01:00
jean-pierre charras d42514ad30 Add code and dialog to create/add/remove teardrops, step 1 2022-01-10 20:04:40 +01:00
Jeff Young 76368af7b9 Font cleanup and bug fixes. 2022-01-09 18:33:53 +00:00
Jeff Young 2fea9e7513 Fix bone-headed copy/paste error formatting gr_poly and fp_poly. 2022-01-09 11:44:06 +00:00
Jeff Young eb58d7e44c Text glyph caches and bug fixes.
1) Unify metrics between stroke and outline fonts
2) Unify handling of rotation and mirroring
3) Bug fixes in collision handling
4) Use of VECTOR2I (instead of VECTOR2D) for world-coordinates
5) Generate outline font overbar with rounded ends and fix rotation
bugs
6) Generate wxEVT_CHOICE events from FONT_CHOICE::SetFontSelection
7) Change text-item PNS SOLIDs to use compound shapes
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski 72b69e8d7f File format changes for fonts. 2022-01-08 16:47:45 +00:00
jean-pierre charras c8d6ad0714 Pcbnew, dimensions fix params incorrectly saved for ortho dim
Fixes #10254
https://gitlab.com/kicad/code/kicad/issues/10254
2022-01-05 10:57:32 +01:00
Marek Roszko e4dbfcd92d Swap out some wxSize for VECTOR2I 2022-01-04 20:42:27 -05:00
Marek Roszko c4c56de708 Neurotically update position wxPoint usages 2022-01-01 11:55:51 -05:00
Marek Roszko 347e03363a Convert wxPoint/wxSize starting from EDA_RECT usages 2022-01-01 11:30:33 -05:00
Jeff Young 86cb57f4a7 Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont 2021-12-28 22:15:20 +00:00
Jeff Young 4c6e54b3ea Cleanup. 2021-12-26 17:30:14 +00:00
Jeff Young 0915eb2209 Be more agnostic about specific class hierarchy used to impl dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/10123
2021-12-26 17:14:44 +00:00
Jeff Young 5e4a704155 Remove some more duplicated preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young 09b7e0b72b ADDED Exclude Footprint from Courtyard Requirement.
Fixes https://gitlab.com/kicad/code/kicad/issues/9881
2021-12-24 21:10:28 +00:00
Jeff Young d649b288a6 Swap out autoplace rotation costs for private footprint layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/2291

Fixes https://gitlab.com/kicad/code/kicad/issues/5391
2021-12-24 21:10:28 +00:00
Jeff Young fa908e1f98 Dimensions for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young ceceda37cc No more long-lived parsers.
We've had too many bugs from improper re-initialization.

Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +00:00
Jeff Young f1410f0240 Line styles for PCBNew shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/2150
2021-12-24 12:36:59 +00:00
Jeff Young ef10b36948 Add mask-to-copper clearance parameter and rename mask margin. 2021-12-24 12:36:41 +00:00
Jeff Young a48867ea01 Solder mask integrity testing.
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young 32721755bf Hook up zone-pad connections to custom rules.
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.

ADDED angle override for thermal relief spokes in Pad Properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young e26341d424 Cleanup. 2021-12-23 20:36:18 +00:00
Jeff Young 2bc86fa0a8 Shapes for schematic.
ADDED arc, circle and rectangle shapes for schematic.  Shapes support
line styles and fill colors.

CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).

Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young 4b6bf3095a Radial dimensions.
ADDED radial type dimensions.

Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
Jeff Young 0a609dd48d Add footprint library checking to DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/6821
2021-12-23 19:18:45 +00:00
Roberto Fernandez Bautista 8caf62803d Avoid unnecessary newlines and extra spaces when saving polygon shapes
Also minor formatting / code style fixes.
2021-12-03 22:04:55 +00:00
Jeff Young ba6ae4fa9b Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
Tomasz Wlostowski 90157db537 PCB_PARSER: add timeout for of 100 ms for refreshing the progress window.
The previously used line number threshold was causing (on some systems) severe slowdown in loading
due to relatively long redraw time of the progress bar window.
2021-11-21 17:33:59 +01:00
Wayne Stambaugh 80c5b1efb1 File formatting improvements and fixes.
Symbol library IDs included the library nickname which is incorrect
and meaningless since it will be overwritten by the symbol library
table code.  This is not a file format change as there are no behavioral
differences.
2021-11-13 12:57:18 -05:00
Jon Evans 75d75799f7 Move to getters/setters for aux and grid origin
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8836
2021-11-08 22:36:40 -05:00
Jeff Young 57f907f6e7 Make sure PCB_PARSER is fully initialized between footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/9424
2021-10-19 17:14:04 +01:00
Seth Hillbrand 10ac675905 Fix shadowing 2021-10-18 09:00:24 -07:00
Jeff Young f9861b4a6c Finish arc rework and push out to file formats. 2021-10-15 12:45:43 +01:00
Jeff Young 9b9e379aa0 Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
Jeff Young 8b08c9e53f Shorter names before things get out of hand.
Also, remove comments indicating CURVE is a Bezier.  Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young a41944020d Push most of PCB_SHAPE impl down in to EDA_SHAPE. 2021-10-15 12:45:43 +01:00
Seth Hillbrand 548e5f49bd Clean up unused variable usage
Unused variables in function calls can be commented out.  Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young 6b25099df7 Read/write lock status for fp text.
Fixes https://gitlab.com/kicad/code/kicad/issues/9325
2021-09-25 20:37:56 +01:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
jean-pierre charras d2bff137ee .kicad_pcb file: fix incorrect keyword stored for some (not all) PAD properties.
( a copy-paste error? )
Fixes #9102
https://gitlab.com/kicad/code/kicad/issues/9102
2021-09-06 09:15:18 +02:00
jean-pierre charras ee5f9034f7 pcb parser: ensure the parser is reinitialized before parsing a new fp file
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Jeff Young 2b3477ca28 Handle RGBA conversion to hexadecimal format for wxWidgets 3.0 2021-08-25 02:40:17 +01:00
Jeff Young a02ea1609b A more robust solution to the 3D color opacity issue.
(This also fixes a typo in the previous fix that assigned the opacities
backwards.)
2021-08-24 11:24:25 +01:00
Jeff Young e6ca9837a2 Clear numbers from non-numberable pads and don't run DRC on them.
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().

Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young 21f2b235ce Rework stackup colors a bit to support opacity for 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/9012
2021-08-23 20:00:17 +01:00
Jeff Young 41619ebbe2 Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
Jeff Young 54942a1401 Fix typos that would result in fp zone setting written into pads. 2021-08-08 18:12:29 +01:00
Jeff Young 46bdce2747 Don't allow pads in groups in the board editor.
Bad stuff happens, including crashes.
2021-08-04 13:55:42 +01:00
Jeff Young 0f5a8f87d3 Add writing of pad primitive polys with arcs, and fix a bug in reading.
Fixes https://gitlab.com/kicad/code/kicad/issues/8827
2021-08-01 10:47:00 +01:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young f221220fe2 Rename layer ids file.
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young 46338403e7 Unwrap some std::library typedefs. 2021-07-28 22:16:38 +01:00
Jeff Young 04b9b15255 Fix copy/paste error. 2021-07-23 01:11:22 +01:00
Jeff Young a16b85db67 Read/write group locked state. Show locked state in dialog & statusbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/8796
2021-07-22 12:49:30 +01:00
Jeff Young 0fb864d596 Pull some name changes back from 7.0 to ease merging. 2021-07-21 20:58:59 +01:00
Wayne Stambaugh cf00319c85 More NULL expunging. 2021-07-20 07:27:18 -04:00
Jeff Young e61822c9e0 Naming conventions and a bug fix on arc points. 2021-07-19 13:17:12 +01:00
jean-pierre charras 56412cc843 PCB_TEXT: remove "hide" option, because they are never hidden.
- avoid write "hide" option in file
- always return true when calling IsVisible()
Fixes #8806
https://gitlab.com/kicad/code/kicad/issues/8806
2021-07-18 14:58:21 +02:00
jean-pierre charras 17ab2c7197 .kicad_pcb files: minor enhancements: add missing new lines in file.
No actual change, this is only a cosmetic change.
2021-07-07 11:44:11 +02:00
Jon Evans 576d70fab0 Fix file format syntax of arcs in polygons
No format bump as there is no way to create these files yet.
2021-07-04 12:10:59 -04:00
Jon Evans ab38dfd7ae Fix build 2021-07-03 19:47:58 -04:00
Jon Evans 77b68a827c Remove unused variable 2021-07-03 19:20:54 -04:00
Seth Hillbrand 4f4deece6d ADDED support for reading/writing arcs in polys
This adds support for reading and writing arc elements in polygons.
2021-07-03 19:37:50 +00:00
Jeff Young bc65b7173f Don't use SCH version number when inspecting PCB files. 2021-07-03 15:24:54 +01:00
Marek Roszko eff75b630f Get rid of anonymous struct typedefs
We are using C++14 where there is no reason for this and is banned in C++20 under P1766R1. MSVC generates a warning under C++14 as a reminder.
2021-07-01 18:28:41 -04:00
Jeff Young 6810912f09 Refuse to load schematics from the future.
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.

Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).

Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young 5cac8afe1d Remove long-dead revision support for LIB_IDs. 2021-06-30 13:12:57 +01:00
Jeff Young a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young 4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young 81fc710a5d Use consistent terminology.
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
Jeff Young 8502fd6877 Divide-by-zero safety. 2021-06-24 12:18:22 +01:00
Jeff Young 5fa5a73c6d File open/import progress dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/6864

Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Jeff Young 4418707e5e Add a few more overbar syntax conversion calls.
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 13:09:18 +01:00
Jeff Young 096e342386 Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
Mikolaj Wielgus ade38f48bc Add conversion from old `~...~` to new `~{...}` notation 2021-06-11 18:40:57 +00:00
Jeff Young 16b0147af8 Prefix DIMENSION types. 2021-06-11 17:59:44 +01:00
Marek Roszko 6e01ce84b9 Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars 2021-06-08 19:12:30 -04:00
Jeff Young 2aaec31832 Don't put up "old version" warning for gerbview-generated PCBs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8574
2021-06-08 22:12:44 +01:00
Johannes Maibaum 022dd6072c Add utility method to resolve symlinks
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Jon Evans 83080b67f5 Fix build on wx 3.0 2021-06-06 20:21:21 -04:00
Marek Roszko 5bb6f8c5e3 hashtables.h doesn't need eda_item.h 2021-06-06 19:11:35 -04:00
Marek Roszko 10e60acf34 Clean up including of board_design_settings.h 2021-06-06 15:03:42 -04:00
Johannes Maibaum 06e967354f Fix symlink read-/write-through code
Use `realpath(3)` instead of `readlink(3)`, which offers support for
relative and absolute symlinks alike, since all symbolic links will be
resolved to the absolute path of the linked-to file.

Fixes #8082
2021-06-05 14:22:50 +00:00
Ian McInerney 23f8851409 Remove pcb_group include from board header 2021-06-03 20:03:31 +01:00
Marek Roszko eeb405c196 Cleanup some more excess math/util includes 2021-06-02 00:50:46 -04:00
Marek Roszko cf2bb5692a Remove the wxLog calls from math/util.h for now
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Marek Roszko 65fee5b2ec Clear m_out pointer at end of save 2021-06-01 18:44:22 -04:00
Jeff Young ed2f2257ce Remove footprint locking in the footprint editor.
(It doesn't make any sense there as the position is always {0, 0} in
the editor.)

For discussion see:
https://kicad.zulipchat.com/#narrow/stream/258851-Developer-Chat/topic/Is.20there.20a.20reason.20why.20kicad.20now.20seems.20to.20lock.20pads.3F
2021-05-18 23:14:17 +01:00
Marek Roszko 3a9a85b373 Enum class PAD_PROP_T
Renamed such that it does not affect python
2021-05-01 10:58:30 -04:00
Marek Roszko 03cf2b517f Enum class PAD_ATTR_T
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Marek Roszko b243c2280d enum class PAD_SHAPE_T 2021-05-01 08:22:35 -04:00
Marek Roszko 21fde9b629 enum class PCB_SHAPE_TYPE_T 2021-04-30 22:36:12 -04:00
Jeff Young 1e8b23402c Bump board format version for locked syntax fix. 2021-04-24 19:11:17 +01:00
Ian McInerney ecd9bf696e Be consistent about using nullptr instead of 0
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Jeff Young 61ce1b35ec R/W dimension lock flags and update format for all lock flags.
Fixes https://gitlab.com/kicad/code/kicad/issues/8255
2021-04-21 19:59:27 +01:00
Wayne Stambaugh a7f956581c Pcbnew: fix board file formatting issues.
This does not required a board file version change.  All of the changes
are white space formatting fixes and improvements.
2021-04-20 10:18:31 -04:00
jean-pierre charras 2d9bac804c Pcbnew: minor fix: remove extra spaces when outputting pad primitives section.
No format change.
2021-04-18 15:25:14 +02:00
Jon Evans 433e148e08 Move some string formatting functions out of base_units
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
jean-pierre charras 6eb2e2a6e3 Fp editor: do not change item UUIDs when loading a footprint from library.
Fixes #8066
https://gitlab.com/kicad/code/kicad/issues/8066
2021-03-30 12:58:22 +02:00
Jon Evans c04e19f9ac Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
Jeff Young fcb9af2b12 When saving footprint to library don't detach from board too early.
In particular, make sure it's been flipped to the front layer first.
We need to know the layers to do the flip.

Fixes https://gitlab.com/kicad/code/kicad/issues/7780
2021-03-03 15:07:01 +00:00
Jon Evans dbb6d0fb4a Move paste and mask clearance settings back to board file
These are needed for correct Gerber plotting so need to be stored
along with the board file
2021-02-28 14:04:28 -05:00
jean-pierre charras b31bf1e40f Always store via drill value in .kicad_pcb file.
Old boards were using UNDEFINED_DRILL_DIAMETER value in file for via drill when
the via drill value was the netclass value.
Recent boards always set the via drill to the actual value, but now we need
to be sure always store the drill value, because netclass value is not stored
in the board file. Otherwise the drill value of some (old) vias can be unknown
2021-02-26 20:57:43 +01:00
Jeff Young 86aaa2e9cb Rationalize footprint bounding boxes and cache all of them.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 13:50:27 +00:00
Seth Hillbrand c15a9e60d4 Used cached footprints without check in preview
Between the time the user loads the footprint preview in cvpcb or Add
Footprint in pcbnew, we don't need to verify cache integrity to display
the footprint.  We use the cache copy when displaying until we close the
selection window and re-open.  This limits our need to iterate over the
full directory on every footprint display.

Alternate solutions for v7 should include looking into libfswatch for
change detection
2021-02-25 15:46:52 -08:00
Seth Hillbrand 54539d2cd7 Calculate timestamp the same way both times
Timestamps were checked using a different routine than they were
generated with, leading to the cache always being out of date.

This uses the same routine for both.  While it iterates over the
directory twice during the initial load, this will never be dominant

Fixes https://gitlab.com/kicad/code/kicad/issues/7711
2021-02-25 14:36:49 -08:00
Seth Hillbrand 154d56b4f4 If items exist on the "Rescue" layer, prompt user
Don't allow Rescue items to enter the board design.  This prompts the
user to either delete them or move them to the Comments layer.
2021-02-23 09:25:00 -08:00
Jon Evans 3bc9d7b95e Rework GAL layer enum to fix visibility import from legacy boards 2021-02-21 13:41:43 -05:00
Jeff Young 9dacd4abb7 Don't allow footprint children in groups outside their footprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/7625
2021-02-20 18:09:56 +00:00
Seth Hillbrand aa0db969ca Caching ConvexHull routine
Stores a cache of the convex hull similar to the bounding box.  Modifies
the hull based on actions to allow  complex footprint graphics without delay

Fixes https://gitlab.com/kicad/code/kicad/issues/7341
2021-02-04 15:56:52 -08:00
Marek Roszko 21fe8542df Remove shadowing of identical base m_parser member 2021-01-31 12:56:27 -05:00
Wayne Stambaugh 6a39b81647 Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
Jon Evans bea310569b Fix parsing of track/via user sizes from legacy boards
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6134
2021-01-26 21:51:36 -05:00
Jeff Young 1e9639e89c Save pintype alongside pinfunction (in pads).
Fixes https://gitlab.com/kicad/code/kicad/issues/7283
2021-01-26 15:28:48 +00:00
Jeff Young 9ac807bdd2 Freeze implicit footprint file version at last before explicit.
We have been writing footprint versions for a while now, but we were
still interpreting the lack of a version as "current".  This changes
lack of a version to mean "last format before we started writing out
versions".

Fixes https://gitlab.com/kicad/code/kicad/issues/7143
2021-01-23 00:10:01 +00:00
Dominik Wernberger 07635d2fc7 Minor adjustments 2021-01-12 20:51:31 +00:00
Dominik Wernberger ac94d72d2d Add more const specifiers 2021-01-12 20:51:31 +00:00
Jeff Young 3467e643e5 Move pad locking from footprint to pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-08 20:43:02 +00:00
Jeff Young 01fe3b91e9 Implement locking for graphic shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6972
2021-01-07 17:39:18 +00:00
Jan Mrázek 93466fa165
Fix crash when adding 3D Models via Python 2020-12-28 20:03:54 +01:00
Jon Evans 17cf2466aa Fix overlapping definitions warning 2020-12-27 19:42:04 -05:00
jean-pierre charras 97f3c323c3 Pcbnew: fix missing escaping of texts in DIMENSION when saving the .kicad_pcb file.
Fixes #6855
https://gitlab.com/kicad/code/kicad/issues/6855
2020-12-27 10:18:23 +01:00
Jon Evans 70c397a9b4 Implement free vias fully
CHANGED: manually-placed (stitching) vias won't have their nets automatically updated
(unless the via is placed directly on a track segment)

CHANGED: stitching vias can be placed on footprint pads and pick up their nets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5484
2020-12-20 16:29:50 -05:00
Wayne Stambaugh 06aa1506ee Add optional project parameter to PCB plugin load method.
The optional PROJECT parameter is primarily used for third party plugins
that need to store project information loaded by the plugin.
2020-12-18 10:40:51 -05:00
Jeff Young bb232e6ac6 Unify LIB_IDs now that both are stored in sexpr files.
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
jean-pierre charras ac684ac7a3 Fix minor compil warnings. 2020-12-08 18:28:03 +01:00
Jeff Young b1f0bf7334 More consistent naming. 2020-12-08 13:05:39 +00:00
Marek Roszko e88d41f764 Add bulk add/remove mode flag to the BOARD_LISTENER
This attempts to fix performance when importing large changesets from schematics.
The appearance control is a BOARD_LISTENER that would otherwise redraw per item imported which may cause lockups
2020-12-07 22:04:13 -05: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
Jeff Young 9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +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
Marek Roszko 16e3e59495 Split out arrayDim and MIRROR templates from macros.h
These were not macros
2020-11-17 20:21:04 -05: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 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 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 3f1a58bd06 Replace "module" with "footprint" in PCB sexpr. 2020-11-15 20:23:15 +00:00
Jeff Young d094f86b1a Finish module cleanup (except for xpms). 2020-11-14 22:00:12 +00:00
Jeff Young 61bca4aaa4 A bit of "module" erradication, nameing conventions, and formatting. 2020-11-14 21:21:54 +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 aa06de2db4 Legacy polygons on non-Edge_Cuts layers were always filled. 2020-11-14 14:15:02 +00:00
Dominik Wernberger a4650e7269 Rename GetModules to GetFootprints 2020-11-14 09:37:45 +00: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 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 9106cc19bf Yet another tranche of 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 f5443de7f9 D_PAD -> PAD. 2020-11-13 15:16:24 +00:00
Jeff Young 84dd5108ba Remove some "class_" prefixes from files. 2020-11-13 15:16:23 +00: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 812b714ccd More Module -> Footprint and a bit of formatting cleanup. 2020-11-10 20:53:12 +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
Ian McInerney 31e626f279 Cleanup creation of all our smart pointers 2020-10-26 23:52:44 +00:00
Marek Roszko 1167862c86 Split wx_filename out of common 2020-10-25 20:01:13 -04:00
Marek Roszko 1d559108c8 Move LOCALE_IO out of common.h 2020-10-23 21:49:42 -04: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
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
Marek Roszko a1c75748a0 Remove GetChars(), a wxWidgets 2.9 compatibility hack 2020-10-15 20:53:25 -04:00
Jeff Young 505d764f25 Set board modify bit only when necessary after Board Setup.
Fixes https://gitlab.com/kicad/code/kicad/issues/5685
2020-10-13 23:11:29 +01:00
Michael Kavanagh c40483d18a Cleanup: Move KiCad files into plugins folder 2020-10-12 16:36:08 +00:00