kicad/eeschema
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 Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
libedit Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
netlist_exporters Eeschema: adding .op SPICE simulation support 2020-04-15 01:51:58 +00:00
plugins minor fix in a python script (kicad_netlist_reader.py) 2019-11-02 09:27:50 +01:00
sim Fix a few Coverity and compil minor warnings. Remove dead code 2020-04-21 12:47:48 +02:00
tools Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
widgets Eeschema: fix rescue multiple unit symbol bug. 2020-04-01 20:19:53 -04:00
CMakeLists.txt Eeschema: adding .op SPICE simulation support 2020-04-15 01:51:58 +00:00
annotate.cpp Fix compil issues, especially on Windows: 2020-03-04 10:48:18 +01:00
autoplace_fields.cpp A few Coverity fixes. 2020-03-30 09:50:26 +02:00
bom_plugins.cpp BOM and Netlist dialogs: replace "plugin" by "generator" and/or "script". 2019-05-31 11:06:23 +02:00
bom_plugins.h BOM and Netlist dialogs: replace "plugin" by "generator" and/or "script". 2019-05-31 11:06:23 +02:00
bus-wire-junction.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
bus_alias.cpp New connectivity algorithm and bus upgrades 2019-03-31 19:53:41 -04:00
bus_alias.h Use wxArrayString instead of vector<wxString> in BUS_ALIAS 2019-11-29 21:11:44 -05:00
class_libentry.cpp Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
class_libentry.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
class_library.cpp Catch exceptions from a failed library load. 2020-01-13 15:27:16 +00:00
class_library.h Push deprecation warning suppression down into boost. 2020-02-21 17:36:12 +00:00
cmp_library.keywords
cmp_library_lexer.cpp
component_references_lister.cpp Fix compil issues, especially on Windows: 2020-03-04 10:48:18 +01:00
connection_graph.cpp Introduce new KI_FALLTHROUGH macro 2020-04-25 00:44:09 +01:00
connection_graph.h Schematic Setup dialog. 2020-03-10 18:54:17 +00:00
cross-probing.cpp Fix fully broken selection of items of the same sheet, in pcbnew and from eeschema. 2020-04-02 14:21:09 +02:00
default_values.h Clean up label spacing to be more predictable. 2020-04-17 14:47:57 +01:00
edit_label.cpp Change super/subscript syntax to ^{foo} and _{foo}. 2020-04-18 21:04:41 +01:00
ee_collectors.cpp EE_COLLECTOR::Collect(): fix an issue when called with filter = SCH_LOCATE_ANY_T. 2020-04-11 16:08:10 +02:00
ee_collectors.h Improve EE_COLLECTOR to not miss children of sheets or symbols. 2020-04-10 14:09:26 +01:00
eeschema.cpp Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
eeschema.icns
eeschema.rc
eeschema_config.cpp User configurability of pin electrical symbol size. 2020-05-04 00:56:32 +01:00
eeschema_config.h Remove duplicated settings from preferences. 2020-03-13 17:28:53 +00:00
eeschema_doc.icns
eeschema_id.h Move a few more things to ACTIONs. 2019-06-16 19:53:30 +01:00
eeschema_settings.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
eeschema_settings.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
erc.cpp Fixes to map pin-to-pin erorrs to new Warning/Error strucutre. 2020-05-01 18:49:42 +01:00
erc.h Fixes to map pin-to-pin erorrs to new Warning/Error strucutre. 2020-05-01 18:49:42 +01:00
erc_item.cpp Fixes to map pin-to-pin erorrs to new Warning/Error strucutre. 2020-05-01 18:49:42 +01:00
erc_item.h Add some distances to a few DRC errors. 2020-04-24 22:17:45 +01:00
erc_settings.h Move ERC error reporting over to the new framework. 2020-03-16 11:06:15 +00:00
fields_grid_table.cpp Add sheet number processing to sheet fields. 2020-05-03 20:56:32 +01:00
fields_grid_table.h Enable editing of sheet fields. 2020-03-07 18:52:30 +00:00
files-io.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
general.h Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
generate_alias_info.cpp Variable substitution framework. 2020-03-30 14:15:59 +01:00
generate_alias_info.h
getpart.cpp Unwrap an unnecessary layer now that we have new config stuff. 2020-04-13 20:58:12 +01:00
hierarch.cpp Add sheet number processing to sheet fields. 2020-05-03 20:56:32 +01:00
hierarch.h HIERARCHY_NAVIG_DLG: fix crash when in a subsheet one open the dialog 2020-01-08 15:01:22 +01:00
invoke_sch_dialog.h Add handle-based editing for eeschema bitmaps. 2019-06-19 18:35:17 +01:00
lib_arc.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_arc.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_bezier.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_bezier.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_circle.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_circle.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_field.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_field.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_item.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
lib_item.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_pin.cpp User configurability of pin electrical symbol size. 2020-05-04 00:56:32 +01:00
lib_pin.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_polyline.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_polyline.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_rectangle.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_rectangle.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_text.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_text.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
lib_view_frame.cpp library viewers: fix a focus issue that prevent using arrow keys in lib or fp lists. 2020-05-03 20:11:33 +02:00
lib_view_frame.h Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
libarch.cpp Eeschema: fix rescue multiple unit symbol bug. 2020-04-01 20:19:53 -04:00
menubar.cpp Schematic Setup dialog. 2020-03-10 18:54:17 +00:00
netlist.h
netlist_generator.cpp Fix compil issues, especially on Windows: 2020-03-04 10:48:18 +01:00
netlist_object.cpp Remove unused functionality. 2020-02-20 21:29:52 +00:00
netlist_object.h Schematic editor: fix not working tool to show/hide invisible pins. 2020-04-18 09:57:04 +02:00
netlist_object_list.cpp Introduce new KI_FALLTHROUGH macro 2020-04-25 00:44:09 +01:00
pin_number.cpp Added an include to tell the compiler where to find wxIsdigit 2019-03-14 09:28:24 -07:00
pin_number.h
pin_shape.cpp Convert enums inside eeschema and the symbol editor to be scoped 2020-01-18 20:51:28 +00:00
pin_shape.h Convert enums inside eeschema and the symbol editor to be scoped 2020-01-18 20:51:28 +00:00
pin_type.cpp Convert enums inside eeschema and the symbol editor to be scoped 2020-01-18 20:51:28 +00:00
pin_type.h Convert enums inside eeschema and the symbol editor to be scoped 2020-01-18 20:51:28 +00:00
plot_schematic_DXF.cpp Eeschema plot worksheet: use the color defined in Eeschema settings. 2020-04-26 09:06:02 +02:00
plot_schematic_HPGL.cpp Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
plot_schematic_PDF.cpp Eeschema plot worksheet: use the color defined in Eeschema settings. 2020-04-26 09:06:02 +02:00
plot_schematic_PS.cpp Eeschema plot worksheet: use the color defined in Eeschema settings. 2020-04-26 09:06:02 +02:00
plot_schematic_SVG.cpp Eeschema plot worksheet: use the color defined in Eeschema settings. 2020-04-26 09:06:02 +02:00
project_rescue.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
project_rescue.h Eeschema: fix rescue multiple unit symbol bug. 2020-04-01 20:19:53 -04:00
sch_base_frame.cpp User configurability of pin electrical symbol size. 2020-05-04 00:56:32 +01:00
sch_base_frame.h User configurability of pin electrical symbol size. 2020-05-04 00:56:32 +01:00
sch_bitmap.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_bitmap.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_bus_entry.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_bus_entry.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_component.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_component.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_connection.cpp Add short-circuits for regex testing 2020-04-30 19:53:25 +00:00
sch_connection.h Cache connection names 2020-04-30 19:53:25 +00:00
sch_draw_panel.cpp ADDED: New color theme editor and multi-theme support 2020-03-06 00:01:03 -05:00
sch_draw_panel.h Eeschema: Catch error on init 2019-12-10 13:48:13 -08:00
sch_eagle_plugin.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_eagle_plugin.h Implement symbol library s-expression parser. 2020-03-03 08:06:23 -05:00
sch_edit_frame.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_edit_frame.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_field.cpp eeschema: fix a readability issue for small texts. 2020-04-30 09:38:23 +02:00
sch_field.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_file_versions.h Eeschema: implement s-expression schematic file formatter. 2020-03-16 09:05:16 -04:00
sch_io_mgr.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_io_mgr.h Fix some issues with sheet border color handling. 2020-04-05 16:17:04 +01:00
sch_item.cpp Variable substitution framework. 2020-03-30 14:15:59 +01:00
sch_item.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_junction.cpp Add separate color setting for bus junctions 2020-04-22 21:55:48 -04:00
sch_junction.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_legacy_plugin.cpp Improve performance of schematic load and connectivity 2020-04-30 19:53:25 +00:00
sch_legacy_plugin.h Eeschema: move some default values to default_values.h. 2020-04-14 20:15:18 +02:00
sch_line.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_line.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_marker.cpp Fixes to map pin-to-pin erorrs to new Warning/Error strucutre. 2020-05-01 18:49:42 +01:00
sch_marker.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_no_connect.cpp Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
sch_no_connect.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_painter.cpp User configurability of pin electrical symbol size. 2020-05-04 00:56:32 +01:00
sch_painter.h User configurability of pin electrical symbol size. 2020-05-04 00:56:32 +01:00
sch_pin.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_pin.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_plugin.cpp Implement simple inheritance for library symbols. 2019-12-06 11:33:52 -05:00
sch_preview_panel.cpp Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
sch_preview_panel.h Add user-defined severities, exclusions and colors to DRC markers. 2020-03-04 00:39:28 +00:00
sch_reference_list.h Promote PathsAndReferences from wxArrayString to first-class-citizen. 2020-02-24 23:19:17 +00:00
sch_rtree.h Replace EESchema DLIST 2020-01-10 06:37:08 -08:00
sch_screen.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_screen.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_sexpr_parser.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_sexpr_parser.h Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_sexpr_plugin.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
sch_sexpr_plugin.h Eeschema: move some default values to default_values.h. 2020-04-14 20:15:18 +02:00
sch_sheet.cpp Add sheet number processing to sheet fields. 2020-05-03 20:56:32 +01:00
sch_sheet.h Eeschema: fix sheet bug in schematic editor drawing tool. 2020-04-26 14:27:51 -04:00
sch_sheet_path.cpp Add sheet number processing to sheet fields. 2020-05-03 20:56:32 +01:00
sch_sheet_path.h Cache SCH_SHEET_PATH recursion test results 2020-04-30 19:53:25 +00:00
sch_sheet_pin.cpp Clean up label spacing to be more predictable. 2020-04-17 14:47:57 +01:00
sch_text.cpp eeschema: fix a readability issue for small texts. 2020-04-30 09:38:23 +02:00
sch_text.h Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
sch_validators.cpp Add sheet number processing to sheet fields. 2020-05-03 20:56:32 +01:00
sch_validators.h Add sheet number processing to sheet fields. 2020-05-03 20:56:32 +01:00
sch_view.cpp Clean up assumption that field_id < MANDATORY means its mandatory. 2020-04-01 15:59:52 +01:00
sch_view.h Add hittesting for worksheets in Pcbnew and Eeschema. 2020-05-03 00:07:38 +01:00
schematic.keywords Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
schematic_undo_redo.cpp Remove the last vestiges of dlist 2020-01-10 06:37:08 -08:00
sheet.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
simulation_cursors.cpp Add current probe to SPICE simulation. 2019-08-05 16:48:18 -06:00
simulation_cursors.h Add current probe to SPICE simulation. 2019-08-05 16:48:18 -06:00
symbol_lib_table.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
symbol_lib_table.h Implement simple inheritance for library symbols. 2019-12-06 11:33:52 -05:00
symbol_tree_model_adapter.cpp Save pinned libraries in project. 2020-02-14 14:22:54 +00:00
symbol_tree_model_adapter.h Save pinned libraries in project. 2020-02-14 14:22:54 +00:00
symbol_tree_synchronizing_adapter.cpp Implement a different solution to refreshing lib trees. 2020-03-31 02:09:31 +01:00
symbol_tree_synchronizing_adapter.h Move footprint & symbol tree context menus to tool infrastructure. 2019-06-05 20:16:48 +01:00
toolbars_lib_view.cpp Rename lib viewer frame files to use the class name 2019-12-19 14:05:46 +00:00
toolbars_sch_editor.cpp Add an icon and put Schematic Setup in the toolbar. 2020-04-24 14:46:22 +01:00
transform.cpp Refactor all math into a new kimath library 2020-01-07 17:12:59 +00:00
transform.h Comment-only changes 2020-01-10 16:43:01 -08:00