kicad/eeschema/tools
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
..
backanno.cpp Fix build error. 2019-06-16 18:31:10 -04:00
backannotate.cpp fix a few Coverity warnings. 2020-04-01 09:34:44 +02:00
backannotate.h Rationalise 3D settings data-structure. 2020-03-28 16:09:40 +00:00
ee_actions.cpp Add an icon and put Schematic Setup in the toolbar. 2020-04-24 14:46:22 +01:00
ee_actions.h libedit: Add drag to move behavior 2020-04-23 23:58:33 +01:00
ee_inspection_tool.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
ee_inspection_tool.h Move ERC error reporting over to the new framework. 2020-03-16 11:06:15 +00:00
ee_point_editor.cpp Move sheet name and filename to SCH_FIELD architecture. 2020-03-06 16:23:44 +00:00
ee_point_editor.h Comment-only changes 2020-01-10 16:43:01 -08:00
ee_selection.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
ee_selection.h CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
ee_selection_tool.cpp libedit: Add drag to move behavior 2020-04-23 23:58:33 +01:00
ee_selection_tool.h Improve spelling. 2019-08-20 19:14:05 +01:00
ee_tool_base.h Remove confused dynamic_cast 2020-01-16 06:17:04 -08:00
lib_control.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
lib_control.h Pinning for library trees in FPEditor and SymbolEditor. 2020-02-14 00:10:40 +00:00
lib_drawing_tools.cpp Change super/subscript syntax to ^{foo} and _{foo}. 2020-04-18 21:04:41 +01:00
lib_drawing_tools.h Comment-only changes 2020-01-10 16:43:01 -08:00
lib_edit_tool.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_edit_tool.h CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
lib_move_tool.cpp libedit: Add drag to move behavior 2020-04-23 23:58:33 +01:00
lib_move_tool.h CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
lib_pin_tool.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_pin_tool.h CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
sch_drawing_tools.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_drawing_tools.h Finish off "busses" -> "buses". 2020-04-02 18:27:05 +01:00
sch_edit_tool.cpp Add hittesting for worksheets in Pcbnew and Eeschema. 2020-05-03 00:07:38 +01:00
sch_edit_tool.h Enable editing of sheet fields. 2020-03-07 18:52:30 +00:00
sch_editor_control.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_editor_control.h Expose Show Hidden Fields to GUI. 2020-04-18 16:36:51 +01:00
sch_line_wire_bus_tool.cpp Change super/subscript syntax to ^{foo} and _{foo}. 2020-04-18 21:04:41 +01:00
sch_line_wire_bus_tool.h Finish off "busses" -> "buses". 2020-04-02 18:27:05 +01:00
sch_move_tool.cpp Don't collect connected labels on a paste. 2020-05-03 21:47:53 +01:00
sch_move_tool.h Keep labels on dragged wires. 2020-04-19 18:24:39 +01:00