7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-24 23:46:19 +00:00
kicad/pcbnew
Seth Hillbrand 77797103f7 Add ability to embed files in various elements
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures.  File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.

kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document.  Embeds are allowed in schematics, boards,
symbols and footprints.  Currently supported embeddings are Datasheets,
3D Models and drawingsheets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
..
api Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
autorouter Further cleanup of LSET 2024-07-08 22:00:53 -07:00
board_stackup_manager Further cleanup of LSET 2024-07-08 22:00:53 -07:00
connectivity Performance: don't alloc std::vector in critical areas. 2024-06-21 19:07:46 +01:00
dialogs Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
drc Further cleanup of LSET 2024-07-08 22:00:53 -07:00
exporters Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
generators Fix tuning pattern moves and undo / redo 2024-07-09 12:09:31 +01:00
git Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
import_gfx Large rework of BEZIER_POLY 2024-06-18 17:55:41 -07:00
microwave Cleanup geometry functions 2024-05-31 12:26:37 -07:00
navlib lint reduction 2024-05-05 12:55:38 +01:00
netlist_reader Move all CTL_OMIT_xxx flags definitions into a new file ctl_flags.h 2024-07-14 18:10:37 +02:00
pcb_io Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
python Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
ratsnest Fix minor compil warnings 2024-07-12 12:43:49 +02:00
router Speed up shutdown 2024-07-05 11:16:20 -07:00
specctra_import_export C++-ify output using ToString 2024-06-25 18:35:12 -07:00
teardrop Remove the now unused curve-point count 2024-07-10 11:19:09 -07:00
tools Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
widgets Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
zone_manager DIALOG_ZONE_MANAGER_BASE: update code to last wxFormbuilder version. 2024-07-09 14:02:51 +02:00
action_plugin.cpp
action_plugin.h
array_creator.cpp Start with origin for a single-item selection. 2024-07-07 18:02:58 +01:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h
board_commit.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
board_commit.h More active tracking of undo/redo items. 2024-01-27 20:02:40 +00:00
board_connected_item.cpp Remove the now unused curve-point count 2024-07-10 11:19:09 -07:00
board_connected_item.h Remove the now unused curve-point count 2024-07-10 11:19:09 -07:00
board_design_settings.cpp Remove the now unused curve-point count 2024-07-10 11:19:09 -07:00
board_item_container.h Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
board_item.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
board.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
board.h Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
build_BOM_from_board.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
cleanup_item.cpp
cleanup_item.h
CMakeLists.txt Clearer naming and commenting. 2024-06-25 11:07:14 +01:00
collectors.cpp Separate fields from text for boundingBoxes & hit-testing. 2024-04-28 18:47:11 +01:00
collectors.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
convert_shape_list_to_polygon.cpp Give padstack warning violation a name. 2024-07-07 14:04:34 +01:00
convert_shape_list_to_polygon.h
cross-probing.cpp Send data to correct sch port when changing selection in PCB editor. 2024-07-03 21:07:49 +03:00
Doxyfile_python
Doxyfile_xml
edit_track_width.cpp
edit_zone_helpers.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
edit.cpp Schematic editor Table Properties and commenting for QuasiModal usage. 2024-03-10 12:18:50 +00:00
files.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
fix_board_shape.cpp
fix_board_shape.h
footprint_chooser_frame.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
footprint_chooser_frame.h Better locality-of-reference for footprint chooser filters. 2024-03-23 12:48:52 +00:00
footprint_edit_frame.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
footprint_edit_frame.h Share more library tree code. 2024-06-08 19:06:10 +01:00
footprint_editor_settings.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
footprint_editor_utils.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
footprint_info_impl.cpp Clear timestamp when clearing cache. 2024-06-16 10:46:36 +01:00
footprint_info_impl.h Clear timestamp when clearing cache. 2024-06-16 10:46:36 +01:00
footprint_libraries_utils.cpp REMOVED new footprint dialog. 2024-05-31 10:36:51 +01:00
footprint_preview_panel.cpp REMOVED new footprint dialog. 2024-05-31 10:36:51 +01:00
footprint_preview_panel.h Pass symbol's netlist to footprint preview widget. 2024-03-09 15:01:59 +00:00
footprint_tree_pane.cpp
footprint_tree_pane.h
footprint_viewer_frame.cpp Commit strings are user-visible menu strings. 2024-06-24 14:16:05 +01:00
footprint_viewer_frame.h Hookup footprint reload to redraw icon 2024-05-10 08:42:28 -07:00
footprint_wizard_frame_functions.cpp
footprint_wizard_frame.cpp Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
footprint_wizard_frame.h
footprint_wizard.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
footprint_wizard.h
footprint.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
footprint.h Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
fp_tree_model_adapter.cpp
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp Fix shadowed/conflicting enum values. 2024-06-21 16:16:29 +03:00
fp_tree_synchronizing_adapter.h
fpedit_doc.icns Add document type icons 2024-02-09 15:55:57 -08:00
fpedit.icns
generate_footprint_info.cpp Tidy up string find API usages. 2024-05-28 15:30:29 +01:00
generate_footprint_info.h
generators_mgr.cpp
generators_mgr.h
graphics_cleaner.cpp Large rework of BEZIER_POLY 2024-06-18 17:55:41 -07:00
graphics_cleaner.h Remove non-const access to board-owned items 2024-03-26 18:36:23 -04:00
grid_layer_box_helpers.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
grid_layer_box_helpers.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
initpcb.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
invoke_pcb_dialog.h
kicad_clipboard.cpp Silence font replace warnings for libs 2024-06-24 09:55:10 -07:00
kicad_clipboard.h Push PCB_IOs to use the base progress reporter instead of per-function 2023-12-27 17:06:23 +00:00
load_select_footprint.cpp Share more library tree code. 2024-06-08 19:06:10 +01:00
menubar_footprint_editor.cpp Share more library tree code. 2024-06-08 19:06:10 +01:00
menubar_pcb_editor.cpp 3D model export improvements: 2024-05-25 22:27:01 +03:00
netinfo_item.cpp Performance: don't alloc std::vector in critical areas. 2024-06-21 19:07:46 +01:00
netinfo_list.cpp Cache display netnames. 2024-06-11 16:30:52 +01:00
netinfo.h Cache display netnames. 2024-06-11 16:30:52 +01:00
pad_custom_shape_functions.cpp Move custom shapes to PADSTACK; support in API 2024-06-08 14:26:36 -04:00
pad.cpp Fix RecombinePad when pad is rotated. 2024-07-09 18:14:14 +01:00
pad.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
padstack.cpp Revert "Tented usually means that there is no soldermask" 2024-06-18 17:52:42 -04:00
padstack.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_base_edit_frame.cpp Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
pcb_base_edit_frame.h Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
pcb_base_frame.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_dimension.cpp Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_dimension.h Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_draw_panel_gal.cpp Implement stingy selection mode for tuning patterns. 2024-01-17 00:34:22 +00:00
pcb_draw_panel_gal.h
pcb_edit_frame.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
pcb_edit_frame.h Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
pcb_field.cpp Pcbnew, Properties panel: mask 2 properties irrelevant for pcb fields. 2024-07-14 11:49:27 +02:00
pcb_field.h Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_fields_grid_table.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
pcb_fields_grid_table.h Generalize EnhanceAttr() function. 2024-05-16 16:28:13 +01:00
pcb_generator.cpp ADDED: user layer types. 2024-07-03 13:32:44 +01:00
pcb_generator.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_group.cpp Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_group.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_item_containers.h
pcb_layer_box_selector.cpp Fix scale factors of layer box selectors. 2024-05-28 18:52:03 +03:00
pcb_layer_box_selector.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_marker.cpp ADDED: support for ERC & DRC errors and warnings in text variables. 2024-06-28 22:10:22 +01:00
pcb_marker.h Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_origin_transforms.cpp Separate out axes definitions between ModEdit and PCBNew. 2023-10-25 15:01:36 +01:00
pcb_origin_transforms.h
pcb_painter.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_painter.h ADDED: Opacity control for filled graphic shapes 2024-06-26 22:29:58 -04:00
pcb_plot_params_parser.h
pcb_plot_params.cpp Further cleanup of LSET 2024-07-08 22:00:53 -07:00
pcb_plot_params.h ADDED: Support tenting control of individual vias 2024-06-11 21:25:02 -04:00
pcb_reference_image.cpp Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_reference_image.h Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_shape.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_shape.h Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_table.cpp Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_table.h Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_tablecell.cpp Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_tablecell.h Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_target.cpp Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_target.h Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_text.cpp Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_text.h Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_textbox.cpp Text variable resolving in footprint text boxes 2024-07-08 23:47:16 +00:00
pcb_textbox.h Get rid of C++20 compiler warnings. 2024-07-03 13:32:44 +01:00
pcb_track.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_track.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcb_view.cpp ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
pcb_view.h
pcbexpr_evaluator.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbexpr_evaluator.h
pcbexpr_functions.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbnew_config.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
pcbnew_config.h
pcbnew_doc.icns Add document type icons 2024-02-09 15:55:57 -08:00
pcbnew_id.h
pcbnew_jobs_handler.cpp Add ability to embed files in various elements 2024-07-15 16:06:55 -07:00
pcbnew_jobs_handler.h ADDED: PCB 3D image raytracing rendering from CLI. 2024-03-08 14:38:18 +00:00
pcbnew_printout.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbnew_printout.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbnew_settings.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbnew_settings.h IDFv3: control whether DNP/unspecified components are exported 2024-05-08 10:24:50 -04:00
pcbnew.cpp Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
pcbnew.icns Add document type icons 2024-02-09 15:55:57 -08:00
pcbplot.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbplot.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
plot_board_layers.cpp Further cleanup of LSET 2024-07-08 22:00:53 -07:00
plot_brditems_plotter.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
plotcontroller.h Further cleanup of LSET 2024-07-08 22:00:53 -07:00
plotprint_opts.h
project_pcb.cpp
sel_layer.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
toolbars_footprint_editor.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
toolbars_footprint_viewer.cpp
toolbars_pcb_editor.cpp Use bitmap bundle for auto track width button. 2024-05-26 03:56:58 +03:00
tracks_cleaner.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
tracks_cleaner.h
undo_redo.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
zone_filler.cpp Fixup copper connection wires 2024-07-10 21:48:37 -07:00
zone_filler.h ADDED: pcbnew fill avoids kissing fills 2024-07-10 18:34:41 -07:00
zone_settings.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
zone_settings.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
zone.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
zone.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
zones.h Update Zone Manager for look & feel and coding stds. 2024-06-02 17:41:54 +01:00