Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Seth Hillbrand
e244ce1431
Fix cherry-picked wxPoint
2022-01-12 15:49:03 -08:00
Seth Hillbrand
d3f24308e6
Handle rotated symbol rectangles in Eagle import
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10360
(cherry picked from commit dcb8f29317
)
2022-01-12 15:11:18 -08:00
Franck Bourdonnec
3d8288f919
Remove unused vars, verified there was no other intention with them;
...
rectangle are OK
2022-01-11 20:16:35 +00:00
Jeff Young
76368af7b9
Font cleanup and bug fixes.
2022-01-09 18:33:53 +00:00
Jeff Young
27c967421c
Commenting and "auto" reduction.
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
Seth Hillbrand
3ace4446e7
Use 'special' escaping for certain fields
...
Most fields are escaped using the `\` notation. But the VALUE field and
the symbol name need to be escaped using braces notation.
Fixes https://gitlab.com/kicad/code/kicad/issues/10097
(cherry picked from commit 71e7b4b77b
)
2022-01-05 17:19:36 -08:00
Steffen Mauch
3ced3afa68
eeschema: automatic generated symbol library from EAGLE plugin does not include footprint reference
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10262
2022-01-05 19:48:40 +00:00
Steffen Mauch
502e34349e
eeschema: EAGLE plugin does not reference footprint with library suffix
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10261
2022-01-05 19:14:27 +00:00
Seth Hillbrand
9ca41cc8ee
Set readable flags correctly on open
...
Missing files may be thrown during open. These should have existence
and readable flags set correctly
(cherry picked from commit a05ec04ee8
)
2022-01-05 09:55:51 -08:00
Marek Roszko
726d873c53
Tear down the wxPoint trigo helpers
2022-01-04 21:23:11 -05:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
Jon Evans
9daa4d0e2c
Move duplicate field handling into field parser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10130
(cherry picked from commit ea99c42df6
)
2022-01-02 13:19:54 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -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
jean-pierre charras
640cc60bf4
fix a compil warning.
2021-12-31 15:53:24 +01:00
jean-pierre charras
480a548171
PCB_PAINTER: do not show track arc clearance when not needed
...
fix also a minor compil warning.
Fixes #10137
https://gitlab.com/kicad/code/kicad/issues/10137
2021-12-30 09:21:35 +01:00
Jeff Young
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
...
Also some clean-up and bug fixes.
2021-12-29 17:32:19 +00:00
Jeff Young
dd6cd7d184
Pull some more improvements in from rockola/kicad-strokefont.
...
This one is primarily about pushing TEXT_ATTRIBUTES in to the GAL
API, but it also includes adding EDA_ANGLE signatures to some trig
routines to ease integration.
2021-12-29 17:32:19 +00:00
Jeff Young
56a31900d3
Formatting.
2021-12-28 22:47:05 +00:00
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Thomas Pointhuber
9ba733f23f
altium: Import POLY shape instead of line approximation ( #8741 )
2021-12-27 17:22:28 +01:00
Thomas Pointhuber
82ab04c1d6
altium: Use newly introduced RECT shape, apply fill and improve stroke handling ( #8741 )
2021-12-27 16:50:30 +01:00
Thomas Pointhuber
8b714deae1
altium: Add support for circle and arc in schematic ( #8741 )
2021-12-27 16:02:12 +01:00
Jonathan Haas
80e7b6eb1f
Save and load fill color of SHAPE_T objects properly
2021-12-24 21:20:54 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
92e589b398
Use board maxError value, and return SH_ARC for unfilled circle.
2021-12-23 20:36:11 +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
dsa-t
f2ad8bffe0
Fix a mistake in Altium parser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10011
2021-12-16 05:49:39 +03:00
Wayne Stambaugh
067fa65756
Eeschema: fix a multitude of LIB_FIELD object comparison and index bugs.
...
It is no longer acceptable to set a LIB_FIELD index to -1. This was
trashing the sorting on load cause all kinds of false field comparison
failures. There are now assertions when attempting to use -1 as a field
index.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9811
2021-12-12 17:06:32 -05:00
Seth Hillbrand
91dace3e5e
Update Eagle importer
...
Fixes arc orientation
Sets root schematic and page numbers
Fixes https://gitlab.com/kicad/code/kicad/issues/9907
2021-12-10 15:41:25 -08:00
Wayne Stambaugh
af280f80e0
Fix debug assertion in Altium and CADSTAR schematic importers.
2021-12-09 12:56:03 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
jean-pierre charras
3a00d76207
Fix a compil warning (shadowed var) and add a comment.
2021-12-01 11:05:16 +01:00
dsa-t
bfe595819a
Prevent error when loading bitmaps from some old schematics
2021-12-01 09:54:48 +00:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
Mikolaj Wielgus
9bb370e6b4
SCH_SHEET_PIN: Rename GetEdge, SetEdge to GetSide, SetSide
2021-11-28 20:07:06 +01:00
Jeff Young
58b5ac4970
Don't create SCH_LINE till we know the layer.
...
The CTOR makes some decisions on initialization based on the layer.
2021-11-28 17:09:24 +00:00
Roberto Fernandez Bautista
3660597082
Use canonical names when saving sheet name and filename fields
2021-11-27 20:38:51 +00:00
Jeff Young
228edd4121
Don't generate duplicate IDs in line/wire/bus tool.
...
Also cleans up existing duplicate IDs when reading.
Fixes https://gitlab.com/kicad/code/kicad/issues/9749
2021-11-24 13:20:44 +00:00
Jeff Young
b052d56c7b
R/W uuids for junctions.
2021-11-24 13:20:44 +00:00
Jeff Young
025d9f82ea
Remove atrophied schematic default wire and bus widths.
...
(They're now in the netclasses, and specifically the default netclass
if no other netclass is assigned.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-13 22:56:50 +00: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
Jeff Young
54e00569d8
Don't fetch the root sheet's UUID out of the sheet instances.
...
1) we're storing it now anyway
2) the root sheet UUID is the one UUID that's *not* in the instance
array, and previously we were erroneously grabbing the first sub-sheet's
UUID (producing duplicate UUIDs).
2021-11-09 16:07:30 +00:00
Seth Hillbrand
cf6b18ec7e
Remove escaped double-quotes
...
For some reason, escaped double quotes in wxString::Format cause issues
on Mac. We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Jeff Young
c2371f3943
Revert e4b61de792
.
...
It doesn't seem to fix the testcase on Linux, and the tests pass on
my machine in either configuration.
2021-11-03 10:30:34 +00:00
Jeff Young
e4b61de792
Special case sheet ordering in file.
2021-11-02 23:14:01 +00:00
Seth Hillbrand
7cf72aaa41
Fix bezier import in Altium schematics
2021-11-02 15:45:30 -07:00
Jeff Young
4d46445ce1
Fix Bezier reading.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9512
2021-11-02 22:19:41 +00:00
Jeff Young
4acff58c7a
Implement a forced ordering for LIB_ITEMs until we have UUIDs.
...
(Once we read/write the UUIDs, we should just compare the type
and then the UUID like we do for SCH_ITEMs.)
2021-11-02 20:07:34 +00:00
Jeff Young
eaf10a04dd
Improved naming.
2021-11-02 20:07:34 +00:00
Jeff Young
af95a4b424
Fix duplicate stroke when formatting circles.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9507
2021-11-01 21:29:46 +00:00
Roberto Fernandez Bautista
b6c12b6b55
CADSTAR Sch: Fix positioning of symbol fields when the symbol is mirrored
...
The text aligment needs to be rotated and/or mirrored depending on whether
the text field is vertical or horizontal.
2021-10-31 16:12:08 +00:00
Roberto Fernandez Bautista
8367c7f238
CADSTAR Sch: Fix calculation of page size
...
Don't attempt to calculate bounding box of text variables. We do not
know the resolution of the text variable inside the importer. The
resolved text could be shorter than the text variable (e.g. ${#}
page number)
2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista
0aba025d66
CADSTAR Sch: Autoplace intersheet references (instead of 0,0)
2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista
18e36155a5
CADSTAR sch: Include gate in error message when symbols are scaled
2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista
52a936ac61
CADSTAR Sch: Fix spurious pin length and orientation of some symbols
...
Ensure deterministic sorting of std::map in fixUpLibraryPins
2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista
c1515dd31c
CADSTAR Sch: Fix block names - load as stand-alone text items instead
...
KiCad doesn't support multi-line text in fields, so we can't load it as
a text field (even if that would be the closest thing).
We should update this when KiCad supports multi-line text in fields.
2021-10-30 18:14:23 +01:00
Jeff Young
0cdffa16d4
Fix off-by-one error in fill mode writing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9111
2021-10-28 19:29:47 +01:00
Jeff Young
8fdfc0e63d
Replace legacy sch writing code for rescue functionality.
2021-10-28 15:11:15 +01:00
Jeff Young
cb1709b4ca
Improve Eagle importer's label positioning.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 13:49:13 +01:00
Roberto Fernandez Bautista
3ea3d5274c
CADSTAR Schematic: Hide all KiCad sheet properties
...
Sheet name/filename not applicable in CADSTAR so displaying it just
makes the import look messy.
2021-10-23 10:58:15 +01:00
Roberto Fernandez Bautista
d6d800ccbb
CADSTAR Schematic: Fix crash when trying to fix library pins
...
Need to copy the chain as we might have deleted it.
2021-10-17 17:57:51 +01:00
Jeff Young
a1c1f60665
Coverity fixes.
2021-10-16 16:27:35 +01:00
Jeff Young
ce55dd2893
Fix botched merge.
2021-10-15 21:27:16 +01:00
Jeff Young
f9861b4a6c
Finish arc rework and push out to file formats.
2021-10-15 12:45:43 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
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
Wayne Stambaugh
c61af21da8
Eeschema: don't stat files when updating title bar text.
...
The tests for file existence and write status perform two file stats
which cause performance issues on slow network shares. Now the file
state is determined at load time and stored in the SCH_SCREEN object
so file access is no longer required.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9343
2021-10-14 10:52:58 -04:00
Roberto Fernandez Bautista
7aa3514042
CADSTAR Schematic: Add net labels for named nets on symbol pins
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9371
2021-10-11 18:30:21 +01:00
Marek Roszko
d39f79b55b
Fix schematic custom paper size check to use same limits as rest of eeschema
...
Fix #9223
2021-09-24 00:46:02 -04:00
Jeff Young
552f053a55
Remove pins from symbol hit-testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8508
2021-09-23 22:07:51 +01:00
Jeff Young
469d3ea329
Don't add global labels when a power symbol is connected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7497
2021-09-20 21:31:19 +01:00
Jeff Young
ae8f817938
Use consistent label size and fix issues with rotation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5950
2021-09-20 21:31:19 +01:00
Jeff Young
40b4e5c024
Formatting.
2021-09-20 21:31:19 +01:00
Wayne Stambaugh
4663da4709
Eeschema: don't escape document file alias names in legacy plugin.
...
Escaping the document file (.dcm) alias names breaks the link between the
document file and the library (.lib) file. This causes the information in
the document file to be lost.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9130
2021-09-16 09:09:44 -04:00
Jeff Young
efc9279a19
Fix unfortunate line-break.
2021-09-13 13:28:05 +01:00
Jeff Young
52f99e41e6
Fix merge screw up.
2021-09-12 22:57:25 +01:00
Roberto Fernandez Bautista
625e56676a
Add progress reporting to CADSTAR Schematic & PCB importers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young
c736bd3fd0
Patch Altium import of oddly constructed line segments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8974
2021-09-11 15:29:51 +01:00
Wayne Stambaugh
451f8eefc0
Eeschema: fix broken project symbol rescue bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9111
2021-09-09 10:21:09 -04:00
Jeff Young
ad7275f0a3
Repair saving of default line styles.
...
Note that the file format version was NOT bumped because we were
correctly reading the default, just no writing it.
Fixes https://gitlab.com/kicad/code/kicad/issues/9045
2021-09-07 00:14:18 +01:00
Roberto Fernandez Bautista
8268c4ad17
CADSTAR Schematic: Ensure library ID is valid
...
Previously the library created was invalid - opening it resulted
in a parsing error due to invalid characters in the name.
2021-09-01 20:25:39 +01:00
Roberto Fernandez Bautista
be9ff7a7d5
CADSTAR Schematic: Load text sizes for pin names/numbers and net labels
2021-09-01 20:25:39 +01:00
Roberto Fernandez Bautista
0aa37d1173
Fix issues with new overbar syntax
...
- Update sch text help (~~ no longer gets converted to single ~)
- Update Eagle importer to correctly handle new overbar syntax
- Update CADSTAR importer to correctly handle new overbar syntax
2021-09-01 20:25:39 +01:00
Roberto Fernandez Bautista
0cd8a4d846
CADSTAR Schematic: Load line thickness in symbols
2021-08-29 19:55:47 +01:00
Jeff Young
69fac89e86
Fix some issues with incorrectly scaled defaults given in mils.
2021-08-25 20:04:06 +01:00
jean-pierre charras
4ac2aa675a
lib symbols: make fp filter tolerant to spaces in names.
...
For historical reasons they are stored in a string using spaces as separators.
So each fp filter is now escaped to remove spaces (replaced by {space})
Fixes #9009
https://gitlab.com/kicad/code/kicad/issues/9009
2021-08-23 18:01:31 +02:00
Jeff Young
8879b887df
Fix missing overbar notation conversions in legacy library parsing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8981
2021-08-18 22:48:29 +01:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Jeff Young
1818846cff
Minor improvements to some error messages.
2021-08-14 12:11:47 +01:00
Stefan
bed51a5fc1
altium schematic importer, replace record 211 with compile masks
2021-08-14 11:05:56 +00:00
Jeff Young
6ab45d0a6d
Fix double-escaping in Eagle importer.
...
This has actually been there since dot, but the old escaping method
just deleted chars it didn't like so you could run it as many times
as you wanted.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-31 20:07:25 +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
jean-pierre charras
8ff76de18e
DIALOG_EDIT_ONE_FIELD: fix a non resizable widgets and fix a compil warning.
...
Fixes #8877
https://gitlab.com/kicad/code/kicad/issues/8877
2021-07-27 14:12:46 +02:00
david-beinder
8467fe5405
Altium schematic import: text positioning and arc fixes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8844 (power port text positioning, only use 0, 90deg for text)
Adjust text justification due to rotation on import
Set field position through SCH_FIELD::SetPosition
Honor hidden net names at power ports
Calculate start/end points for imported arcs in symbols
2021-07-26 19:49:56 +00:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Jeff Young
010247bb7f
Add overbar conversion to the legacy SCH reader.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8855
2021-07-25 13:11:30 +01:00
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
jean-pierre charras
ad7e563e24
Do not translate something similar to a proper noun
2021-07-12 09:02:04 +02:00
Jeff Young
a4263ebce5
Clean up Altium special string handling
...
1) Fix a couple of bugs in case processing
2) Make case processing more explicit to prevent more (1)
3) Move label processing to AltiumSpecialStringsToKiCadVariables
4) Strip double-quotes from special strings (and add test cases)
5) Change PROJECTNAME to just filename, not full path
6) PROJECTREV and REVISION are two different things
7) Add support for Altium's Application_BuildNumber
8) Fix some issues in trimming spaces around special strings
2021-07-08 15:34:38 +01:00
Jeff Young
3f165c70e1
Import more Alitum parameters.
...
ADDED CURRENT_DATE titleblock token (to go with existing ISSUE_DATE)
ADDED PROJECTNAME schematic token (to go with FILENAME and SHEETNAME)
Converts other parameters to project text variables.
2021-07-08 00:19:31 +01:00
Jeff Young
c1db5dc0b1
Make the variable replacement table a little easier to read.
...
Yes, this probably violates all our formatting conventions EXCEPT
the one that says code should be easy to read/visually parse.
2021-07-07 22:06:35 +01:00
Jeff Young
9351a88091
Variable references are case insensitive in Altium.
2021-07-07 22:04:00 +01:00
Jeff Young
5a57f6ba98
Clear NEW flags after import.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8750
2021-07-07 20:05:50 +01:00
Jeff Young
db91908c18
Add sheetpath instances when importing sheets from Altium.
2021-07-07 20:05:50 +01:00
Jeff Young
a81c6b21b6
Formatting.
2021-07-07 20:05:50 +01:00
Thomas Pointhuber
5e9a8e3488
altium: Improve handling of footprint references
...
Don't assume the implementation list index is always correct by order.
2021-07-07 21:03:21 +02:00
Jeff Young
a17862d646
Import Altium harness labels as text.
...
One day we'll do better, but at least this way the user knows there's
something they need to migrate manually.
Fixes https://gitlab.com/kicad/code/kicad/issues/8748
2021-07-07 17:54:22 +01:00
Jeff Young
5ab56e5320
More Altium importer error reporting cleanup.
...
1) Use REPORTER instead of wxLog
2) Use consistent, non-techy strings
3) Use consistent severity levels
Fixes https://gitlab.com/kicad/code/kicad/issues/8747
2021-07-07 12:43:33 +01:00
Jeff Young
3b288b1b1b
Pull textframe processing out from under note and allow both.
...
Note that there's still a bunch of stuff we don't support regarding
textframes such as wordwrap and background colours, but this at least
keeps the text from getting lost.
Fixes https://gitlab.com/kicad/code/kicad/issues/8741
2021-07-06 20:27:28 +01:00
Jeff Young
190b0ecdeb
Formatting.
2021-07-06 20:27:28 +01:00
Jeff Young
0be91c5b7d
Import Altium footprint references into symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7751
2021-07-06 14:40:29 +01:00
Jeff Young
3288971a7c
Allow titleblock vars to be resolved outside the titleblock.
...
Also implements some variable resolving for Altium imports.
2021-07-06 13:30:17 +01:00
Jeff Young
b0c07a28b3
Add importing of Altium notes.
...
Import is incomplete because KiCad doesn't support text boxes yet
(so we can't do borders, word-wrap, background fills, etc.).
Fixes https://gitlab.com/kicad/code/kicad/issues/8734
2021-07-05 23:59:43 +01:00
Jeff Young
26df39e71a
Naming conventions.
2021-07-05 11:05:46 +01:00
Jeff Young
aa5902bd99
Process Altium pin name and number hidden flags.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7853
2021-07-04 00:18:42 +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
f8a34d98b3
Support for overbar syntax in Altium importer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-01 21:03:53 +01: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
b1b4caee6a
Escape "naughty" characters in symbol names.
...
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
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
062c4fda62
More error message regularization (and translatability improvements).
2021-06-28 00:45:24 +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
5c21f93803
Consistency in progress and error messages.
2021-06-26 13:23:43 +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
6d223931fb
Convert overbar syntax in bus aliases.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8647
2021-06-21 20:13:21 +01:00
Mikolaj Wielgus
19f76ae77c
Convert pin names to new overbar format
...
Fixes bug 6 of https://gitlab.com/kicad/code/kicad/issues/8591 , thereby
closing the issue:
Fixes https://gitlab.com/kicad/code/kicad/issues/8591
2021-06-20 09:00:16 +00:00
Jeff Young
d811ae0aa3
Improved ASCII art.
2021-06-18 12:01:16 +01:00
jean-pierre charras
c35cceca62
fix compil warnings ( "multi-line comment" ) and missing override
2021-06-18 09:38:19 +02:00
Jeff Young
bdeeace2ab
More Eagle importer fixes.
...
1) Don't process wires more than once when looking for bus entries.
2) Don't allow processing a wire to mess up iteration over the RTree.
2021-06-17 18:16:38 +01:00
Jeff Young
b10f156dd0
Don't convert overbar syntax in most fields.
...
You probably do want it in VALUE, but not REFERENCE, and certainly
not FOOTPRINT or DATASHEET. User fields are more likely to be
part numbers, etc. (and don't want conversion).
Fixes https://gitlab.com/kicad/code/kicad/issues/8617
2021-06-17 00:05:17 +01:00
Jeff Young
c23c5b7f18
Allow import of Eagle schematics without libraries.
2021-06-16 22:02:50 +01:00
Jeff Young
4b28bac89a
Fixes for Eagle importer.
...
1) Make sure we set an absolute path on the sheet.
2) Don't mix RTree iterators; wires get skipped between buses.
3) Implement a real ERC error so we don't assert.
Fixes https://gitlab.com/kicad/code/kicad/issues/7042
2021-06-16 21:44:18 +01:00
Jeff Young
21b869bd1f
Fix a few cases missed in the last merge.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7042
2021-06-16 00:01:28 +01:00
Jeff Young
3a84ee27fd
First take at repairing Eagle import of bus entries.
...
Simplify logic by adding quadrant-based BUS_ENTRY ctor.
Fix issue with bus entry size having been in mils rather than IU.
Fix issues with logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/7042
2021-06-15 23:23:47 +01:00
Wayne Stambaugh
ff099453c8
Rename class_library.[h|cpp] to symbol_library.[h|cpp].
2021-06-15 09:24:55 -04:00
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
Mikolaj Wielgus
ade38f48bc
Add conversion from old `~...~` to new `~{...}` notation
2021-06-11 18:40:57 +00:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Wayne Stambaugh
9ebabb222c
Pass objects by reference instead of on the stack.
2021-06-08 10:09:38 -04: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
Marek Roszko
fc3cea2cca
Remove wx/xml/xml.h from sch_eagle_plugin.h
2021-06-06 09:34:57 -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
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Marek Roszko
af2707929d
Don't leak a wx header via eda_item.h
...
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04: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
3ac5aa5369
enum class SHEET_SIDE
2021-05-30 21:23:46 -04:00
Marek Roszko
382dca4e6f
Fix uninitialized member warnings
...
Based on PVS Studio report
2021-05-30 20:01:01 -04:00
Seth Hillbrand
be5b281501
Cleanup RAD2DEG and unused vars
2021-05-28 12:37:57 -07:00
Roberto Fernandez Bautista
9a9c9d38e8
CADSTAR Schematic: Cleanup pins in symbols
...
In CADSTAR pins are single points. We can replicate the original look
of the schematic in most cases by searching the symbol for straight
segments that are coincident with the pin and use those to calculate
a suitable pin length and angle.
2021-05-28 20:13:11 +01:00
Roberto Fernandez Bautista
29d1b84939
CADSTAR Schematic: Fix positioning of symbol attributes
...
Symbol attributes were being placed at the wrong location
due to incorrect relative angle calculation
2021-05-28 20:13:10 +01:00
Roberto Fernandez Bautista
8d788b7a09
CADSTAR Schematic: Fix assert regarding sheet absolute path
2021-05-28 20:13:10 +01:00
Roberto Fernandez Bautista
b985c4d2e9
CADSTAR Schematic: Handle scaled symbols
...
Create a new LIB_PART for scaled symbols. These will be then embedded
into the schematic file. However when "update from library" is done,
it will revert to the unscaled symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8494
2021-05-28 20:13:10 +01:00
Seth Hillbrand
752ae4d519
Rename modification flag routines
...
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Roberto Fernandez Bautista
be436ec977
Remove whitespace from page numbers on load and use # if page is empty
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8350
2021-05-21 22:52:47 +01:00
Wayne Stambaugh
ebd53cd45c
Eeschema: fix text justification terminology.
...
Use justification instead of orientation relative to the anchor point when
describing text direction and alignment. This seems to be the preferred
method by most users so hopefully this will eliminate some confusion.
Fix a bug in the s-expression schematic parser that failed to take into
account how graphical text alignment is defined for graphic text objects
compared to label text objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/6489
2021-05-14 13:44:17 -04:00
Jeff Young
2e3860de6f
Naming conventions.
2021-05-05 22:58:40 +01:00
Marek Roszko
c7345096f8
Use wxFFileInputStream explicitly when loading xml documents
...
wxFFile (FILE, buffered) is better than wxFile (syscalls)
2021-05-03 19:39:56 -04:00
Roberto Fernandez Bautista
cf2dc06add
Fix latent bugs in SCHEMATIC and SCH_SEXPR_PLUGIN
...
Noticed after writing the qa test: when loading a file immediately
after having loaded a previous one, it was resulting in a nullptr
exception.
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista
5822cd85c4
Fix eeschema copy/paste: save and load sheet and symbol instances
...
Save sheet and symbol instance information to the clipboard on copy
Load sheet and symbol instance information from the clipboard on paste
and renumber page numbers after loading.
Correctly handle pasting in a multiple hierarchy by ensuring symbol and
sheet instances are updated for all instances of the destination sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8207
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista
91fd28c4be
Refactor saving sheet and symbol instances in SCH_SEXPR_PLUGIN::Format
...
Avoid code duplication by moving all common code to a new function
SCH_SEXPR_PLUGIN::saveInstances
Also fixes a bug that was resulting in footprint and value information
not being saved for subsheets that were root sheets in a different
project.
2021-05-03 16:54:42 +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
Ian McInerney
ae91042544
Implement thread safety for symbol loading routines
...
These functions can be called from any thread of the library
loader, so we need to ensure we have some thread safety with them.
2021-04-18 18:39:46 +01:00
jean-pierre charras
31e9895a1a
Fix a minor compil warning
2021-04-15 19:49:41 +02:00
Roberto Fernandez Bautista
45409ec314
CADSTAR Schematic: Fix orientation of symbol fields
2021-04-12 20:25:04 +01:00
Roberto Fernandez Bautista
9148542219
CADSTAR Schematic: Fix Text Positioning within Symbols
2021-04-12 20:25:03 +01:00
Thomas Pointhuber
f13eb13b9a
altium: import images from SchDoc
2021-04-10 21:52:37 +02:00
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
2021-04-06 17:15:49 -04:00
Wayne Stambaugh
df186a2049
Eeschema: fix root sheet UUID changing in project file.
...
This change is a bit more invasive than the description above would
suggest. UUIDs have been added to all schematics. For now, it's only
useful to the root schematic so that the UUID in the project file does
not change every time the project file is save. In the future, it may
be useful to store and check the schematic UUIDs against the one's saved
in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/7763
2021-04-06 14:28:01 -04:00
Roberto Fernandez Bautista
d041578150
CADSTAR Schematic: Fix import of text alignment
...
Ensure that the text alignment applied to text objects corresponds to
valid text alignments that can be set within eeschema
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8090
2021-04-05 20:15:08 +01:00
Carsten Schoenert
cb17c9f3dd
Typo fix: Correct various misspelled words
...
agressive -> aggressive
decription -> description
miscellanous-> miscellaneous
rectange -> rectangle
Unkown -> Unknown
2021-04-03 13:39:50 +00:00
Jeff Young
ebfbe14185
Persist fields_autoplaced information.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8086
2021-04-02 17:08:58 +01:00
jean-pierre charras
655a696589
fix compil issue
2021-04-01 11:36:30 +02:00
jean-pierre charras
6499b5f296
Eeschema: protect lib symbols against duplicate field names.
...
If a field name is already in use, try to rename the new field name
(adding the suffix "_1" or "_2" or ... )
This is especially critical when a non mandatory field has the same name as
a mandatory field (was crashing before)
Fixes #8081
https://gitlab.com/kicad/code/kicad/issues/8081
2021-04-01 11:27:14 +02:00
Jeff Young
2ad69fc56b
Move importers from wxLog to REPORTER.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6389
2021-03-31 22:54:30 +01:00
Roberto Fernandez Bautista
c5e4220b5b
CADSTAR Schematic: Fix duplicate pins
...
Fixes a bug that was causing duplicate pins to be loaded
(one on top of the other) for all symbols.
2021-03-30 13:03:56 +00:00
Roberto Fernandez Bautista
1629b038e1
CADSTAR Schematic: Fix loading of symbol instances differing from part
...
The previous assumption was that a part definition would always hold
the information about the symbol. However some designs have symbol
instances that refer to a different symbol definition than that
specified in the part.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7808
2021-03-30 13:03:56 +00:00
Roberto Fernandez Bautista
e6c7ddc271
CADSTAR Schematic: Fix loading of symbol attributes
...
Fixes an issue that resulted in incorrect field values being loaded
2021-03-30 13:03:56 +00:00
Roberto Fernandez Bautista
51db9cfcef
CADSTAR Schematic: Text Loading improvements
2021-03-30 13:03:56 +00:00
Jeff Young
a0a5e93782
Remove m_props from symbol library plugins. It's not thread-safe.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8035
2021-03-26 21:57:32 +00:00
Jeff Young
3d6c05b210
Apply symbol field id fixup logic to lib parts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7903
2021-03-26 21:57:32 +00:00
Roberto Fernandez Bautista
e0d2724f68
CADSTAR Schematic: Increase "tiny" bus labels to 0.4mm text size
...
Also fix incorrect label orientation
2021-03-25 19:10:49 +00:00
Roberto Fernandez Bautista
6494e0bf25
CADSTAR Schematic: Fix orientation of net labels and sheet pins
2021-03-25 17:50:33 +00:00
Roberto Fernandez Bautista
5a74fb9bb1
CADSTAR Schematic: Ensure connectivity with tiny labels at Bus Entries
...
Always add a label at bus terminals to ensure connectivity. The original
design might already have a bus terminal with a given location.
If the original design does not have a label, just make it very small
to keep connectivity but make the design look visually similar to
the original.
2021-03-25 17:50:33 +00:00
Wayne Stambaugh
cfaca0e4bb
Revert "Eeschema: remove all legacy schematic and symbol library save code."
...
This reverts commit 9c19c2306e
.
Unfortunately writing legacy symbols libraries can never be removed because
of the symbol rescue feature. :(
Fixes https://gitlab.com/kicad/code/kicad/issues/7986
2021-03-22 08:19:47 -04:00
Roberto Fernandez Bautista
a0889705e7
EAGLE and Altium SCH importers: UpdateSymbolLinks after import
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7687
2021-03-21 20:13:20 +00:00
Thomas Pointhuber
d9229697d8
altium: special string override map should be case-insensitive
...
This only fixes overrides where we explicitly map an override. Wrongly written variables pointing to fields are not corrected by this.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6256
2021-03-20 20:42:25 +01:00
Wayne Stambaugh
9c19c2306e
Eeschema: remove all legacy schematic and symbol library save code.
...
Legacy schematic and symbol library saving is officially deprecated.
2021-03-20 13:29:44 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Thomas Pointhuber
4482b3baba
altium: Handle special strings and convert them into KiCad variables. Use Comment for VALUE.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6256
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/7736
2021-03-14 16:40:36 +01:00
Jeff Young
2a9186d9e9
Don't re-use FieldIDs when assigning ids on save.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7849
2021-03-09 15:09:31 +00:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Wayne Stambaugh
7a00e01b3e
Eeschema: fix false positive library symbol changed ERC errors.
...
This fix required sorting all of the LIB_PART draw items to ensure
accurate comparison between the symbols stored in the schematic and the
original library symbols. This has a noticeable impact on symbol library
load performance. It may also cause significant changes the next time
the library is saved due to changes in the draw item sorting. Hashing
may be a better solution here but this addressed the immediate problem.
A skeleton method SCH_SCREEN::SwapSymbolLinks() was added because there
is most likely an issue with orphaned symbols in the schematic library
symbol cache during undo/redo operations. More testing is required to
verify this.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7263
2021-03-04 17:59:24 -05:00
WhiteChairFromIkea
ff23f4324a
Do not hardcode altium file extension length
2021-03-04 12:20:40 +00:00
Ian McInerney
908de37e7c
Don't hardcode the file extensions where possible
2021-03-03 01:13:59 +00:00
WhiteChairFromIkea
2c289b3f35
Check for ".SchDoc" before replacing to ".kicad_sch" for subsheet
2021-03-02 22:30:08 +00:00
WhiteChairFromIkea
f83b9236ac
Formatting
2021-03-02 22:30:08 +00:00
WhiteChairFromIkea
b98602583c
Remove "SchDoc" and use "kicad_sch" instead for subsheet names
2021-03-02 22:30:08 +00:00
WhiteChairFromIkea
042ea9761c
Revert "Import footprint to symbols. Subsheet is name is prepended to footprint name,..."
...
This reverts commit 8aa4faa4ce24adc6310223952e8b5773ce245778
2021-03-02 22:30:08 +00:00
WhiteChairFromIkea
292aff48fd
Import footprint to symbols. Subsheet is name is prepended to footprint name, which is probably NOT OK when syncing with PCB.
2021-03-02 22:30:08 +00:00
Jeff Young
8a33542bcd
SCH_COMPONENT::GetField() expects a vector index, not a field id.
...
Check this at compile time. Callers wanting to use an index now must
use SCH_COMPONENT::GetFields()[i] instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/7757
2021-02-28 15:10:37 +00:00
Roberto Fernandez Bautista
76ef98339d
CADSTAR PCB Archive Importer: Re-write loading of power symbols
...
Ensure all each power symbol is unique for each net name even
if it uses the same graphical symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7722
2021-02-26 19:32:44 +00:00
Wayne Stambaugh
1786ae8773
Eeschema: use symbol nomenclature for object file naming.
2021-02-24 08:48:02 -05:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Roberto Fernandez Bautista
ccbc0f73cc
CADSTAR Schematic Archive Importer: Fix Coordinate Rounding error
...
Rewrite of the calculation to convert CADSTAR to KiCad coordinates,
rounding half way cases away from zero.
Use integer division instead of double, to ensure precision.
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
842a930ced
CADSTAR Schematic Archive Importer: Autoplace fields when adding sheet
...
Makes the sheets look a little bit better when there is no block name
in the original CADSTAR design.
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
7b5cf955af
CADSTAR Schematic Archive Importer: Visible fields to calculate BBOX
...
- Ensures page size is calculated correctly
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
5acdf1ddb1
CADSTAR Schematic Archive Importer: Align to original grid
...
Previous assumption of 100mil grid in CADSTAR schematic designs has
been proven to be incorrect. Let's use the "working grid" in the
original design instead.
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
c98106ebcf
CADSTAR Schematic Archive Importer: Parse TESTPOINT
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7574
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
09ebfcd650
CADSTAR Importer: Fix Code Style
...
- Rename member variable names to use the 'm_' prefix
- Rename a few object types that clashed with KiCad object names, such
as BOARD and SCHEMATIC, to avoid the use of '::' to access the KiCad
objects.
- Remove some unused code.
2021-02-22 13:24:00 +00:00
Jeff Young
2a7e60960a
Use standard mirror icons & terminology.
...
Also use standard group icons.
Also put both (and rotate commands) in toolbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/7504
2021-02-16 21:11:36 +00:00
Wayne Stambaugh
114dceec2e
Eeschema: Eagle schematic plugin parser improvements.
...
* Complete drawing of sheet border/title block symbol.
2021-02-16 09:33:15 -05:00
Wayne Stambaugh
089b7afacf
Eeschema: Eagle schematic plugin parser improvements.
...
* Fix multi line text alignment.
* Parse schematic frame objects and convert them to lines.
* Make implicit global labels normal size so they can easily be seen.
* Move sheet fields to a more sensible position.
* Parse schematic symbol instances before wires so that the implicit power
connections can properly be tested. This will be used at a later time.
* Scale label text size down to allow for differences in label offset and
graphical items.
2021-02-15 16:44:58 -05:00
Seth Hillbrand
8745691da3
Toggle LOCALE_IO before re-caching
...
cacheLib() can cause a re-load event, which requires the C-locale.
LOCALE_IO needs to be set before this event to prevent mistaken ','/'.'
mixups
Fixes https://gitlab.com/kicad/code/kicad/issues/6434
2021-02-15 09:10:21 -08:00
Seth Hillbrand
cea9e1b62c
Remove Eagle workaround for stacked NC pins
...
We no longer put stacked NC pins in the same net, so we do not require
this hack.
2021-02-11 16:47:21 -08:00
Roberto Fernandez Bautista
7c06bdbd2e
CADSTAR Schematic Archive Importer: Fix parsing of TERMINAL_SHAPE
...
TRIANGLE shape and a few others do not have a "right length",
only a "length".
Fixes the error "Missing Parameter ‘2’ in ‘TRIANGLE’".
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
80d8974f87
CADSTAR Archive Importer: Fix loading of non-cadstar font text sizes
...
Non-cadstar fonts use a width of 0.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
49bf957c48
CADSTAR Schematic Archive Importer: Fix positioning of global labels
...
Previous calculation did not take into account rotation of the labels
when calculating the final position.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
0841f3ae25
CADSTAR Schematic Archive Importer: Fix wires (Implied connections)
...
There is an implied connection between elements in a net even though
there might not be a graphical connection in the file.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
8add7a880d
CADSTAR Schematic Archive Importer: Fix positioning and margins
...
Fix calculation of sheet bounding box and sheet margins with the aim
of matching CADSTAR pdf output as closely as possible.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
cb90a4b7e6
CADSTAR Schematic Archive Importer: Handle Pin Swaps
...
Each schematic symbol instance can have pin numbers that diverge from
the pin number definitions in the library
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
4ea487936b
CADSTAR Schematic Archive Importer: Simplify symbol library name
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
4dc264175a
CADSTAR Schematic Archive Importer: Symbol name is case insensitive
...
Fixes an issue on some designs that would not be able to find the
symbol definition referenced by the part due to different
capitalisation of the symbol name in the part definition and
the symbol definition.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
914ae001b5
CADSTAR Schematic Archive Importer: Load pin types
...
Default to passive if undefined
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
f530b12c31
CADSTAR Schematic Archive Importer: Handle undefined pin number in part
...
Use terminal pin number (i.e. from the symbol definition) when the pin
number is undefined in the part.
This fixes a bug that resulted in symbols with "0" as the pin numbers.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
cc27c31ab0
CADSTAR Schematic Archive Importer: Import common fields visibilities
...
Import field visibilities for Ref, Value and Part Name
Also fix incorrect loading of designator from previous commit
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
297ff282f1
CADSTAR Importer: Update copyright years and remove white spaces
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
bb6fee531e
CADSTAR Schematic Archive Importer: Correctly load symbol instances
...
Previous implementation was not loading all fields defined in the
library.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
b0051c07cb
CADSTAR Schematic Archive Importer: Load all fields in symbols
...
- Load Fields in the library items as well as schematic instances
- Remove invalid characters (e.g. '\n', '\t', '\r') in fields
- Load footprint field (assume that the footprint library name
is the same as the filename of the schematic)
2021-02-10 18:49:20 +00:00
Wayne Stambaugh
c11ded24cd
Add instrumentation to track down local issues in symbol library file code.
2021-02-01 12:57:16 -05:00
Jeff Young
dfc6070178
Unify schematic file version checking with PCBNew.
...
This also makes sure that the user gets a warning before saving over
an older s-expr format. While that won't always be wanted, it's now
in the infobar (like in PCBNew), so it's not too onerous.§
Fixes https://gitlab.com/kicad/code/kicad/issues/7347
2021-01-31 17:28:14 +00:00
Thomas Pointhuber
619e128536
altium: Fix #6194 by no longer mirroring schematic text. Furthermore improve value parsing.
2021-01-30 15:44:32 +01:00
Jeff Young
540dd11b58
Use the file version when reading lib symbols from schematic file.
2021-01-28 21:31:33 +00:00
Jeff Young
ff7742c6b8
File naming and include cleanup.
2021-01-28 11:35:18 +00:00
Jeff Young
0967f8fc78
Fix typo.
2021-01-26 23:17:30 +00:00
Jeff Young
06f85471a4
Fix copy/paste error.
2021-01-26 19:01:31 +00:00
david-beinder
4bcd56b1f6
Always include unit number when copying to clipboard
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5898 (A)
2021-01-26 18:12:49 +00:00
Wayne Stambaugh
4619d5e112
Fix more broken Doxygen comment specifiers.
2021-01-26 12:17:52 -05:00
Jeff Young
3702f2e0a9
Add uuid r/w for sch pins, text, wires, etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7269
2021-01-26 10:56:19 +00:00
Jeff Young
0ba0160da9
Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
...
ADDED a new pin electrical type "free" for internally unconnected pins.
CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists. (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Roberto Fernandez Bautista
42cbcf7ef4
Don't allow empty page numbers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6698
2021-01-22 14:02:34 +00:00
Roberto Fernandez Bautista
b168b74919
CADSTAR Archive Importer: Fix position of multiline text with NO_ALIGNMENT in CADSTAR
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
a33ccf48b9
CADSTAR Schematic Archive Importer: Load signal name even if no net label (global labels and power symbols)
...
Fixes error that prevented global net names from being loaded properly
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
f6ec173ba7
CADSTAR Schematic Archive Importer: Do not load blocks without a linked sheet
...
Fixes std::out_of_range error
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
728792aa3c
CADSTAR Schematic Archive Importer: Fix SIGLOC in JPT (Load labels in junctions)
...
Fixes but that refused to open file with a SIGLOC node in JPT
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
a5118df44c
CADSTAR Schematic Archive Importer: Load Schematic Text Variables to KiCad project
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
9ed4780fec
CADSTAR Archive Importer: Change architecture to Parse CADSTAR fields and store them in a static map
...
Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
2020-12-30 18:53:42 +00:00
Jeff Young
bf632ad771
Pick up root sheet KIID from sheet instances.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6725
2020-12-18 12:49:20 +00: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
Jeff Young
10e68daa37
Fix some bugs in Change Symbol and Update Symbols.
...
In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).
Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6733
Fixes https://gitlab.com/kicad/code/kicad/issues/6749
2020-12-15 16:12:17 +00:00
Jeff Young
797a588015
Aliases should inherit their descs, keywords, and fp filters.
...
Assuming they're not set locally, of course.
Also updates to new class structure order.
Fixes https://gitlab.com/kicad/code/kicad/issues/6051
2020-12-14 13:48:26 +00:00
Wayne Stambaugh
e61f768fbc
Eeschema: add defensive code to symbol library cache I/O.
2020-12-09 11:46:10 -05:00
Jeff Young
d8fa37d5c2
Remove old root-schematic hacks. They don't work anymore anyway.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6583
2020-12-02 14:27:43 +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
jean-pierre charras
56bb91b042
French translation update
2020-11-29 13:40:48 +01:00
jean-pierre charras
09a1137f11
Fix a minor compil warning
2020-11-29 13:06:44 +01:00
Roberto Fernandez Bautista
6a28d6af27
CADSTAR Schematic Archive Importer: Fix loading of Schematic Sheet Pins and Orientation of Labels
...
- Find the intersection between the wire and the sheet and place the sheet pin there
- Fix orientation of hierarchical labels and global labels by applying opposite orientation to the connecting wire
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
ba77bf662c
CADSTAR Schematic Importer: Fix loading of buses
...
Place bus labels and correctly group nets for the bus in a BUS_ALIAS
2020-11-28 17:18:17 +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
d2fbe12cfd
CADSTAR Schematic Archive Importer: Parse SCALE token in Symbol and warn user this is not supported
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6463
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
a058e26ddc
CADSTAR Schematic Archive Importer: Fix Loading of page numbers
...
Need to keep track of the hierarchy path in order to assign the page number
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
cba45ea257
CADSTAR Schematic Archive Importer: Fix orientation of components
...
- Fix the logic for the orientation of mirrored components
- Fix loading of angles/orientations from earlier versions of CADSTAR
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista
49a2926a34
CADSTAR Schematic Archive Importer: Fix loading of graphical arc segments
...
Load the arc segments as piece-wise straight segments
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
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
73ad503db3
CADSTAR Schematic Archive Importer: Parse missing TERMATTR node
2020-11-28 17:18:17 +00:00
Seth Hillbrand
3ff22fc882
Order symbols by unit/convert
...
This keeps the output symbol names in human-readable order
Fixes https://gitlab.com/kicad/code/kicad/issues/6376
2020-11-19 15:19:55 -08:00
jean-pierre charras
801f385521
Eeschema: fix a UTF8 issue created by my commit 993a684
2020-11-19 14:37:51 +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
8c5c902fa3
Re-write IntersheetRefs on top of SCH_FIELDs and textVars.
...
1) Generalize SCH_ITEM owners (SCH_COMPONENT, SCH_SHEET, and now
SCH_GLOBALLABEL)
2) Generalize hypertext items
3) Use SCH_FIELD autoplace infrastructure for placing intersheet
references
4) Use textVar infrastructure for buildin intersheet references.
As an important side-effect this also fixes the undo issues with
intersheet refs.
2020-11-17 16:05:49 +00:00
jean-pierre charras
b9cc9b0f74
sch_sexpr_plugin.cpp: fix incorrect calculation of a relative path on Windows.
...
On Windows paths have a disk identifier. but MakeRelativeTo() was called with
wxPATH_UNIX option, thus creating sometimes incorrect (non existent) relative paths.
2020-11-17 16:24:03 +01:00
jean-pierre charras
9b2dac8df6
fix error in commit 993a684
.
2020-11-17 14:56:34 +01:00
jean-pierre charras
993a684959
.kicad_sym files: Fix an issue when a symbol name contains a double quote.
...
This char (accepted in dialog) was escaped in some places, but not all.
So if a symbol name contained a double quote, the lib file was broken.
2020-11-17 12:33:46 +01:00
Jeff Young
b227d2b910
More component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
6e6e0aa644
Naming conventions (including some component -> symbol).
2020-11-15 20:23:15 +00:00
Jeff Young
4e8072b8c2
Prefer relative paths.
...
This also prevents us from leaking private information into netlists
and PCBNew files.
Fixes https://gitlab.com/kicad/code/kicad/issues/6361
2020-11-15 20:23:15 +00:00
Jeff Young
f0d0e17aab
Prepare for MODULE -> FOOTPRINT.
2020-11-13 15:16:24 +00:00
Thomas Pointhuber
8665098757
Don't write translated strings from the plugin cache
...
Followup for b7f115bf5f
2020-11-09 07:33:46 +00:00
Jeff Young
670fc645de
More fixes for initializing imported filenames.
2020-11-06 01:33:14 +00:00
Jeff Young
3630f32c26
Initialize newly imported files with current schematic extension.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6083
2020-11-05 23:24:59 +00:00
Jeff Young
44400ca413
Formatting, some i18n, and shorter log messages.
2020-11-05 23:19:47 +00:00
Jeff Young
a6d4ce2a5c
Finish impl of alternate pins.
...
It appears this got shelved while waiting for the sexpr format to be
firmed up, and then I forgot about it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6189
2020-10-28 13:01:42 +00:00
Thomas Pointhuber
2d59bb8156
altium: initial code to insert sheets (but not parse them)
2020-10-27 15:51:57 +01:00
Thomas Pointhuber
3f0edb6f83
altium: introduce workaround until symbols are parsed with their real orientation
2020-10-27 15:51:57 +01:00
Thomas Pointhuber
00af4e123e
altium: improve support for ports, using the knowledge about terminal points
...
Still not perfect, but better than the previous version.
2020-10-27 15:51:57 +01:00
Ian McInerney
6bd3b0afa4
Various Coverity fixes
2020-10-27 00:25:08 +00:00
Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00:00
Thomas Pointhuber
52d8501563
altium: initial parsing of designator and some parameters
2020-10-26 18:27:29 +01:00
Thomas Pointhuber
52b5e4d0b3
altium: initial code to parse ports. Includes a hack until we know which side to connect to.
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6056
2020-10-26 18:27:29 +01:00
Marek Roszko
e928b2d8fd
Split EDA_UNITS out from common.
2020-10-25 00:02:52 -04:00
Thomas Pointhuber
f34ee00a8b
altium: import power port in all their different shapes
2020-10-24 18:40:54 +02:00
Seth Hillbrand
b7f115bf5f
Don't write translated strings
...
Even though the translation isn't used, the choice of locale can create
unwanted diffs
2020-10-23 19:53:25 -07:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
Thomas Pointhuber
b7c2d64333
altium: Correctly parse multiunit symbols
...
Followup to https://gitlab.com/kicad/code/kicad/-/issues/6055
2020-10-23 17:20:07 +02:00
Thomas Pointhuber
adfc74f93a
altium: Add initial support for multiunit symbols
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6055
2020-10-23 17:04:59 +02:00
Thomas Pointhuber
0d3d3e0d7c
altium: parse symbol description, remove dependency on legacy plugin
2020-10-23 17:04:59 +02: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
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
Thomas Pointhuber
b28f397614
altium: fix unsigned overflow inside loop
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6044
2020-10-18 15:11:12 +02:00
Thomas Pointhuber
39e55d8559
altium: parse bus-entry
2020-10-17 16:05:47 +02:00
Thomas Pointhuber
5793c899dd
altium: use correct default entry in record
2020-10-17 16:05:47 +02:00
Thomas Pointhuber
034a6bfe0d
altium: parse sheet size and align everyhting inside the sheet
2020-10-17 16:05:47 +02:00
Thomas Pointhuber
1ce215a1f2
altium: parse fonts from sheet record and use them for label styling
2020-10-17 16:05:47 +02:00
Thomas Pointhuber
a6072a40f5
altium: add initial support for labels
2020-10-17 16:05:47 +02:00
Thomas Pointhuber
a981ffe8c7
altium: fix compilation issue due to rebase
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
1400e5cdb9
altium: improve orientation of net label
...
It is interesting, because altium allows text which is upside-down. Of course, KiCad does
not allow this sensless thing.
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
ad93396d35
altium: parse no_erc record
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
79a02d7997
altium: initial version for rounded rectangle (without rounded corners for now)
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
9199d1ff63
altium: fix line style and filling
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
06df80a88d
altium: add arc and line segment, fixup bezier parsing
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
fa8208182a
altium: add support for bezier (symbol only) and polyline
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
19cfd7bd3a
altium: add non working fix for rounding error
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
0b190f02dc
altium: reduce code duplication for unit parsing
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
56a60ffbed
altium: add (emulated) support for polygons
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
b4b8e31177
altium: add support for junction
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
30ea1a274e
altium: add some more pin types, and reverse engineer symbol outer and symbol inner
2020-10-17 13:45:33 +00:00
Thomas Pointhuber
53d90431ea
altium: correctly parse pins
...
TODO: for now, we assume the component is not rotated, simply because this would require me to
write quite a bit of helper methods to handle all those different rotation cases ;)
2020-10-17 13:45:33 +00:00
jean-pierre charras
114f9062f1
EEschema, save correct line style in file when style == DEFAULT.
...
previously, when a graphic line style was set to Default,
the line style saved in file was always SOLID.
This is incorrect for graphic lines
Fixes #6017
https://gitlab.com/kicad/code/kicad/issues/6017
2020-10-17 15:18:14 +02:00
jean-pierre charras
98710e2742
Eeschema, parser: allows using "default" as line style.
...
It is allowed in Eeschema code, so allow it if found in a .kicad_sch file,
just in case.
However it is not yet in use in .kicad_sch files to avoid breaking previous Kicad versions
2020-10-17 12:39:51 +02:00
jean-pierre charras
a9619c051b
Better name for a plot style variable and accessors.
...
Accessors were previously GetType() and SetType(), but this is a bad name:
These names are already widely used in code as accessors for a data type.
We do not set a data type, but a style, so use a better name (GetPlotStyle/SetPlotStyle).
2020-10-17 12:00:43 +02:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Ian McInerney
5f4b0eb0fb
Fix formatting and overzealous renaming for FILL_TYPE
2020-10-15 11:24:49 +01:00
Marek Roszko
1538d737e7
Split out FILL_T to its own header to avoid spreading eda_item everywhere
2020-10-14 21:51:23 -04:00
Marek Roszko
5302f7ce73
Remove kicad_string.h from eda_text.h
2020-10-14 19:18:38 -04:00
Marek Roszko
ad191fda52
Unwrap eda_base_frame from base_screen
2020-10-13 21:52:57 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Michael Kavanagh
c40483d18a
Cleanup: Move KiCad files into plugins folder
2020-10-12 16:36:08 +00:00
Michael Kavanagh
1416280662
Cleanup: Move Eagle files into plugins folder
2020-10-05 14:19:07 +00:00
Roberto Fernandez Bautista
39995341d9
Compile fixes
...
Fix compile error
Fix string format to use %ld instead to work on clang in CADSTAR Archive importers
Add virtual destructor to CONNECTION in CADSTAR_ARCHIVE_PARSER
2020-09-27 22:05:07 +00:00
Roberto Fernandez Bautista
6f5f6a0fba
CADSTAR Schematic / PCB Archive Importers: Fix string formatting asserts
2020-09-27 18:14:02 +01:00
Roberto Fernandez Bautista
93242eb3ad
CADSTAR Schematic / PCB Archive Importers: Add missing import warnings and fix code formatting
2020-09-27 18:14:01 +01:00