kicad/kicad
Wayne Stambaugh 7183e9f97e Make the new schematic and symbol library file formats the default.
This is a very large and potentially disruptive change so this will be an
unusually long and detailed commit message.

The new file formats are now the default in both the schematic and symbol
library editors.  Existing symbol libraries will be saved in their current
format until new features are added to library symbols.  Once this happens,
both the legacy schematic and symbol file formats will be no longer be
savable and existing libraries will have to be converted.  Saving to the
legacy file formats is still available for round robin testing and should
not be used for normal editing.

When loading the legacy schematic file, it is imperative that the schematic
library symbols are rescued and/or remapped to valid library identifiers.
Otherwise, there will be no way to link to the original library symbol and
the user will be required manually set the library identifier.  The cached
symbol will be saved in the schematic file so the last library symbol in
the cache will still be used but there will be no way to update it from the
original library.

The next save after loading a legacy schematic file will be converted to
the s-expression file format.  Schematics with hierarchical sheets will
automatically have all sheet file name extensions changed to .kicad_sym
and saved to the new format as well.

Appending schematics requires that the schematic to append has already been
converted to the new file format.  This is required to ensure that library
symbols are guaranteed to be valid for the appended schematic.

The schematic symbol library symbol link resolution has been moved out of
the SCH_COMPONENT object and move into the SCH_SCREEN object that owns the
symbol.  This was done to ensure that there is a single place where the
library symbol links get resolved rather than the dozen or so different
code paths that previously existed.  It also removes the necessity of the
SCH_COMPONENT object of requiring any knowledge of the symbol library table
and/or the cache library.

When opening an s-expression schematic, the legacy cache library is not
loaded so any library symbols not rescued cannot be loaded.  Broken library
symbol links will have to be manually resolved by adding the cache library
to the symbol library table and changing the links in the schematic symbol.

Now that the library symbols are embedded in the schematic file, the
SCH_SCREEN object maintains the list of library symbols for the schematic
automatically.  No external manipulation of this library cache should ever
occur.

ADDED: S-expression schematic and symbol library file formats.
2020-05-04 12:40:03 +00:00
..
dialogs Rewrite FBP files generated with unreleased wxFB 2020-01-07 13:32:33 +00:00
tools Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
CMakeLists.txt Add macOS KICAD_BUNDLE_LIBS search path for bundle fixup. 2020-02-26 22:10:00 -06:00
file_pro.icns Rework on icons, and more OS X updates 2010-05-09 04:04:44 +02:00
files-io.cpp Add comments. 2020-03-22 08:16:53 +01:00
import_project.cpp Eeschema: implement s-expression schematic file formatter. 2020-03-16 09:05:16 -04:00
kicad.cpp Re-add mistakenly removed empty line in 'kicad.cpp' 2020-04-14 23:41:27 +00:00
kicad.icns Update MacOS icons 2018-03-22 11:45:42 -04:00
kicad.rc Remove old xpm icons files 2012-04-07 13:09:57 +02:00
kicad_doc.icns Update MacOS icons 2018-03-22 11:45:42 -04:00
kicad_id.h Add printing to RMB project items. 2019-08-28 17:32:08 +01:00
kicad_manager_frame.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
kicad_manager_frame.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
kicad_settings.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
kicad_settings.h Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
logokicad.png Dutch language update, kicad splash making to work 2008-08-20 22:44:37 +00:00
menubar.cpp Simplify user model for editing color themes. 2020-04-08 22:34:56 +01:00
pgm_kicad.h Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
project_template.cpp Cleanup: Replace push_back with emplace_back 2019-12-05 13:41:21 -08:00
project_template.h Cleanup. 2019-11-09 20:22:44 +00:00
tree_project_frame.cpp Confirm only once when multi-deleting files 2020-04-14 23:41:27 +00:00
tree_project_frame.h Project manager: fix files in nested dir not being added to hierarchy 2020-01-11 16:03:26 +00:00
treeproject_item.cpp Confirm only once when multi-deleting files 2020-04-14 23:41:27 +00:00
treeproject_item.h Comment-only changes 2020-01-10 16:43:01 -08:00
treeprojectfiles.cpp Allow multiple selections in Kicad project manager (starting point) 2019-12-06 09:10:20 +01:00
treeprojectfiles.h Comment-only changes 2020-01-10 16:43:01 -08:00