Jon Evans
570f4fe4a9
Fix GCC warning
2022-08-30 18:48:18 -04:00
Marek Roszko
03aa63bd50
Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific
2022-08-29 20:11:03 -04:00
Marek Roszko
f0956e48f2
Make EDA_TEXT common
...
Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
2022-08-29 07:31:03 -04:00
Jon Evans
0474ae86ea
DbLib: Use full alias name when loading single symbol
2022-08-27 22:08:01 -04:00
Jon Evans
49354e52a8
Add support for sub-libraries concept
...
Sub-libraries allow a single-level hierarchy inside a symbol library.
This is useful for database libraries and for supporting other EDA library types where a
single file can contain multiple logical groupings of symbols.
2022-08-27 18:47:39 -04:00
Roberto Fernandez Bautista
5d90f3f54f
WIP - fix up parsing + generalise to the pcb
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
840bcffefb
ADDED: Hyperlinks on text items in Schematic Editor
2022-08-27 19:17:42 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Roberto Fernandez Bautista
6ceddb185b
Cleanup loading of arc shapes in Symbol and Schematic editors
2022-08-27 12:51:32 +01:00
Jon Evans
03bc3936c6
Use database table name instead of nickname when loading symbol
2022-08-26 19:10:27 -04:00
Jon Evans
ae6a2a6443
ADDED: Database libraries MVP
...
Allows placing parts from an external database that reference symbols from another loaded library.
Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
2022-08-26 10:51:13 -04:00
Jeff Young
638198251a
Coverity fixes.
2022-08-22 17:52:58 +01:00
Jeff Young
88c9177ff6
Move bus members from wxArray to std::vector and fix some bugs in dialog.
2022-08-21 20:54:41 +01:00
Wayne Stambaugh
10123d164f
Fix schematic symbol initial default instance data bug.
...
The commit bumps the schematic file format version in order to fix the
initial symbol default instance data to the first instance of each symbol.
It also sets the initial instance data to undefined in the SCH_SYMBOL
ctor so on the first schematic save, the default instance will be set
to the first instance of the symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12190
2022-08-21 08:03:28 -04:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Seth Hillbrand
c53fe1c1f0
Be more verbose when finding an error
...
Try to give the user more information about what the actual file error
is, rather than immediately throwing the IO_ERROR
2022-08-18 12:40:14 -07:00
Wayne Stambaugh
797827b833
Fix missing legacy value and footprint field instance data.
...
The legacy and s-expression (prior to version 20200828) file formats only
supported symbol unit and reference fields so the newly added value and
footprint fields must be updated from the original symbol fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12226
2022-08-17 11:32:04 -04:00
Marek Roszko
c2e0c585f8
Add missing pass of uuid for 2pt polylines
...
Stops file churn
2022-08-16 23:29:03 -04:00
jean-pierre charras
9e3e4ae9a6
Fix minor Coverity warnings
2022-08-16 18:56:37 +02:00
WhiteChairFromIkea
742757b98b
Altium: import NOTE and TEXT_FRAME as TextBoxes instead of text objects
2022-08-16 16:34:13 +00:00
WhiteChairFromIkea
088ddf82eb
Formatting
2022-08-15 22:55:39 +00:00
WhiteChairFromIkea
94d386d7ee
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12191
...
Autoplace port Sheet References and hide them (question marks), unti we figure out if intersheet references can be read from schdoc
2022-08-15 22:55:39 +00:00
WhiteChairFromIkea
5c9346902a
Import HARNESS PORT as textboxes, preserving original formatting + typo fixes
2022-08-15 22:55:39 +00:00
WhiteChairFromIkea
81a2fed5c5
Import HARNESS_TYPE as Hierarchical sheet name
2022-08-15 22:55:39 +00:00
WhiteChairFromIkea
15549364d5
Import HARNESS_ENTRY as Hierarchical sheet pins
2022-08-15 22:55:39 +00:00
WhiteChairFromIkea
14ceece4f6
Import HARNESS_CONNECTOR as Hierarchical sheet
2022-08-15 22:55:39 +00:00
WhiteChairFromIkea
b64f6ccc18
Import SIGNAL_HARNESS as graphical polyline
2022-08-15 22:55:39 +00:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Roberto Fernandez Bautista
69d696660b
cadstar: Report warning that imported text may be different
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195
2022-08-14 22:24:16 +01:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
Jeff Young
404015b0a5
Pay attention to units for page frames.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11408
2022-07-23 20:17:04 +01:00
Jeff Young
16b9a7a1e5
Attempt to fix Locale issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9659
2022-07-23 11:20:04 +01:00
Seth Hillbrand
6fef054c51
Handle basic rounding error in schematic import
...
The fractional part of Altium schematic units is an integer number of
1/10000 mil segments, which is 2.54 nm. The internal unit of eeschema
is 10 nm, so each fractional unit in Altium is 0.254 base eeschema
units. To be consistent with
cf33cfcad1
we round to the nearest 10nm for each element
Fixes https://gitlab.com/kicad/code/kicad/issues/11742
2022-07-07 11:13:11 -07:00
Jeff Young
d5a6452934
Get rid of special default line style for Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11882
2022-06-27 19:12:45 -06:00
Jeff Young
d9cfbc7b96
Fix missing SCH_LABEL case in SCH_PLUGIN.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11913
2022-06-27 16:21:32 -06:00
Roberto Fernandez Bautista
8725c3a35f
CADSTAR Schematic: Load symbols even if part definition is incomplete
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11671
2022-06-15 19:47:50 +01:00
Jeff Young
ec40a98fe2
wxT
2022-06-08 23:53:18 +01:00
Wayne Stambaugh
dfea73f78c
Eeschema: fix symbol library remap bug.
...
The original decision to escape the legacy symbol library names results
in them being escaped every time they are opened which cause the curly
braces '}' from the original escaping to be escaped on subsequent
openings. This resulted in the symbol library names in the rescue
library not matching the library ID in the schematic.
This fix is likely to have other corner case bugs given the potential
for escaped characters in legacy symbol libraries. Given that we now
have escaped rescue libraries in play, removing the escaping will only
result in more issues so we will have to fix the corner cases as we go.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11563
2022-06-05 17:00:57 -04:00
Jeff Young
aaff163d7c
Repair Eagle importer page number handling.
...
The root sheet needs a page number, and the other sheets need to not
have their last step in the path duplicated.
Fixes https://gitlab.com/kicad/code/kicad/issues/11409
2022-05-31 17:48:38 +01:00
Marek Roszko
88c7322a0d
EDA_TEXT Get/SetTextSize should use VECTOR2I
2022-05-14 08:16:15 -04:00
Simon Richter
1e505d4c22
Remove a few call sites of SCH_SHEET::SetSize
...
This function is dangerous and should be used only by parsers, and not even
those, really.
For new objects, the size can be passed to the constructor.
2022-04-18 16:23:03 +02:00
Jeff Young
6ef6e37edb
Disable using default instance data when writing to clipboard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11379
2022-04-14 17:09:27 +01:00
Roberto Fernandez Bautista
85f6ff48e7
CADSTAR Sch: Clear symbol of all elements before overwriting with new one
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11378
2022-04-12 21:34:23 +01:00
Wayne Stambaugh
239f0214ac
Eeschema: add support for default schematic symbol instance data.
...
Prior to fixing the schematic file change churn do to instance data
changing to the last selected sheet instance, the symbol instance data
was set rather than empty. This change allows for users to set the
default instance data which is used for every new instance of the
schematic.
ADDED: Default schematic symbol instance data (unit and reference, value,
and footprint fields) can be set to be used as the default settings
for all new instances of the schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11113
2022-04-09 07:49:36 -04:00
Jeff Young
e8a543f1ea
Colors for text in PL_Editor and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young
47f4503564
SCH textboxes start/end -> at/size.
...
The at token can handle an angle; start/end does not.
Fixes https://gitlab.com/kicad/code/kicad/issues/11252
2022-03-28 11:16:39 +01:00
jean-pierre charras
cfe0003ca4
Eeschema: fix misplaced nullptr test that prevent saving SCH_TEXT items.
...
Fixes #11250
https://gitlab.com/kicad/code/kicad/issues/11250
2022-03-27 18:48:55 +02:00
jean-pierre charras
38bd612c01
sch_sexpr_parser.cpp: allows reading a polyline descr with more than 2 points
...
In symbols, a polyline descr is already a true polyline / polygon descr.
In schematic, a polyline descr was restricted to only 2 points (a line).
A true polyline / polygon descr is now allowed in schematic that support already
polygons.
For compatibility reason, a 2 points polygon (SCH_SHAPE) is converted to a SCH_LINE.
2022-03-27 10:31:21 +02:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
Jeff Young
8eb10c41d8
Name any unnamed fields so they don't clobber each other.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10039
2022-03-22 18:08:05 +00:00
jean-pierre charras
21144481d2
PLOTTER: do not clamp coordinates to an arbitrary value.
...
Previously, coordinates were clamped to +- 60 inches. It makes no sense to
clamp them at plotter level: max cooed depends on the editor (schematic/board...)
Rename MAX_PAGE_SIZE_MILS to MAX_PAGE_SIZE_EESCHEMA_MILS and use it only for Eeschema.
Fixes #11196
https://gitlab.com/kicad/code/kicad/issues/11196
2022-03-22 10:32:36 +01:00
Jeff Young
4f62960334
Update message panel from PCB point editor and SCH drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
jean-pierre charras
1f5ec30566
Fix and issue about 180 deg arcs in symbols from "old" libraries.
...
Can be seen with lib version 20201005, not with latest version.
The fix is similar to commit 8a17fb8d
, but for arcs defined by start, end, angles
(modify 180 deg arcs)
Fixes #11130
https://gitlab.com/kicad/code/kicad/issues/11130
2022-03-15 11:31:58 +01:00
Wayne Stambaugh
dd1dbb81f6
Improve shared schematic file churn heuristics.
...
The previous solution cleared all of the fields and force the unit setting
to unit one which would have less than desirable effects when reusing a
schematic in another project. This solution forces all of the instance
settings to the first sheet instance of the current project to prevent file
change churn when changing shared sheets in the current project.
This will not prevent shared schematic file changes when the first sheet
instance data differs between projects.
2022-03-11 12:37:30 -05:00
Wayne Stambaugh
bf5d585e24
Reduce shared schematic file change churn.
2022-03-11 00:32:34 +00:00
Seth Hillbrand
cd7141fd10
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
2022-03-04 15:20:31 -08:00
Jeff Young
c025b4c73d
Save all stroke parameters of sch & lib shapes.
...
We were failing to save the line style, which caused ERC errors when
DEFAULT != SOLID.
2022-03-03 14:37:04 +00:00
Seth Hillbrand
8c36ba3653
Explicitly give unit values
...
Removes the ability to hide symbol units in file formats. This was
mostly the case for a while but there remained corner cases where we
left a default/hidden option
Fixes https://gitlab.com/kicad/code/kicad/issues/10888
2022-03-02 16:01:08 -08:00
Steffen Mauch
78620347c8
Fixing Eagle refs that do not work with KiCad
...
KiCad has stricter requirements for what consititutes an annotated
symbol. This checks for and corrects annotations that begin with '#',
do not begin with a non-numeric character or do not end with a number
2022-02-25 23:42:47 +00:00
Thomas Pointhuber
8ef7252330
altium: Don't use string concatenation for paths pointing in the compound file
...
* std::vector do not need to be split apart again
* supports backslash in footprint names
2022-02-19 16:46:20 +01:00
Jeff Young
bc7742cb2e
Various text object defaults don't necessarily match file defaults.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10862
2022-02-15 23:25:59 +00:00
Jeff Young
940e03e567
Remove arc end swapping when parsing.
...
See: 2366b06e77 (note_839061664)
2022-02-11 13:10:52 +00:00
Jeff Young
2366b06e77
Don't parse multiple items in a single c'tor or function call.
...
The C++ optimizer is not always your friend and may do them in the
reverse order.
2022-02-10 17:54:13 +00:00
Jeff Young
d33d092e8e
Add a second fix for backwards arcs.
...
This one *should* also be good when we support larger-than-180
degree arcs.
2022-02-10 15:46:02 +00:00
Jeff Young
cb8e803788
Formatting.
2022-02-10 13:04:29 +00:00
jean-pierre charras
b9843a23eb
Eeschema, legacy *lib files: fix issues with 180 deg arcs.
...
180 deg arcs are a limit, so when importing them convert them to slightly
smaller arc (arc angle = 179.5 deg)
Fixes #10455
https://gitlab.com/kicad/code/kicad/issues/10455
2022-02-10 12:45:54 +01:00
Wayne Stambaugh
3f8f90db9f
Factor out common s-expression library cache source code.
2022-02-09 11:20:14 -05:00
Wayne Stambaugh
7181f0b40b
Fix clang broken build.
2022-02-09 07:55:50 -05:00
Wayne Stambaugh
fe82f2dd40
Factor out common schematic s-expression source code.
2022-02-08 14:44:38 -05:00
Wayne Stambaugh
fc3cad0b54
Hash symbol libraries per library rather than statically per cache type.
2022-02-07 15:40:21 -05:00
Jeff Young
b57ac3d517
Handle SCH_TEXTBOX in SCH_SEXPR_PLUGIN::Format.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10771
2022-02-06 19:43:25 +00:00
Marek Roszko
d9c04da407
Sprinkle in some make_unique
2022-02-05 21:26:36 -05:00
Marek Roszko
ca7840334c
Mark some limits as constexpr
...
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
2022-02-04 07:50:13 -05:00
Marek Roszko
fa1d316d84
Fix windows build error
2022-02-02 17:43:47 -05:00
Wayne Stambaugh
e590d07224
Fix clang build error.
2022-02-02 07:44:11 -05:00
Wayne Stambaugh
9260431fe4
Abstract out symbol library parser object.
2022-02-02 07:07:39 -05:00
Wayne Stambaugh
6fcc6f7c9d
Factor out common legacy schematic and symbol library parser code.
2022-02-01 16:30:15 -05:00
Jeff Young
f3cd36d1d7
Bring EEschema textboxes in line with PCBNew's.
...
Also adds Border checkboxes and fixes a bunch of bugs.
2022-01-31 21:46:40 +00:00
Wayne Stambaugh
b36e31c49f
Factor out common and remove dead legacy symbol library code.
2022-01-29 14:13:00 -05:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Franck
a6203617d9
Fix Altium schematic port component import assertion.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10322
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10401
2022-01-28 15:52:30 +00:00
jean-pierre charras
8a17fb8d19
SCH_SEXPR_PARSER::parseArc(): fix a very annoying issue: each time the lib or
...
sch files are saved and reopened, 180 deg arcs were flipped.
This fix is a workaround, but avoid flipped arcs after saving/reopening these files.
2022-01-26 18:19:52 +01:00
jean-pierre charras
694ae59664
fix a minor compil warning (shadowed vars)
2022-01-21 14:09:42 +01:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
Jeff Young
3ba89f50ef
Maybe, just maybe, fix LibEdit arc parsing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-19 22:22:18 +00:00
Jeff Young
8445783216
Fix backwards arcs in legacy LIB_ARCs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-18 14:08:47 +00:00
Jeff Young
de31b813f3
Angle cleanup in the Cadstar importer.
2022-01-18 02:31:37 +00:00
Jeff Young
622f94e7b9
Angle cleanup in Altium importer.
2022-01-18 02:31:37 +00:00
Jeff Young
0218b782f4
Angle cleanup in Eagle importer.
2022-01-18 02:31:37 +00:00
Thomas Pointhuber
0129e49b79
altium: Introduce new ALTIUM_COMPOUND_FILE object to handle file opening and searching for streams at a central place
2022-01-17 19:54:26 +01:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
jean-pierre charras
516d038bdf
Eeschema: fix incorrect stored rotation value in file of the global and hierarch. labels.
...
The stored value was the rotation of the text (always 0 or 90 deg), but these labels can also
be rotated by -90 or 180 deg
Fixes #10450
https://gitlab.com/kicad/code/kicad/issues/10450
Fixes #10457
https://gitlab.com/kicad/code/kicad/issues/10457
2022-01-16 17:19:36 +01:00
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