| 
    KiCad PCB EDA Suite
    
   | 
 
#include <pgm_base.h>#include <kiface_base.h>#include <background_jobs_monitor.h>#include <cli_progress_reporter.h>#include <confirm.h>#include <gestfich.h>#include <eda_dde.h>#include "eeschema_jobs_handler.h"#include "eeschema_helpers.h"#include <eeschema_settings.h>#include <sch_edit_frame.h>#include <libraries/symbol_library_adapter.h>#include <symbol_edit_frame.h>#include <symbol_viewer_frame.h>#include <symbol_chooser_frame.h>#include <dialogs/panel_grid_settings.h>#include <dialogs/panel_simulator_preferences.h>#include <dialogs/panel_design_block_lib_table.h>#include <dialogs/panel_sym_lib_table.h>#include <kiway.h>#include <project_sch.h>#include <richio.h>#include <settings/settings_manager.h>#include <symbol_editor_settings.h>#include <sexpr/sexpr.h>#include <sexpr/sexpr_parser.h>#include <trace_helpers.h>#include <thread_pool.h>#include <kiface_ids.h>#include <netlist_exporters/netlist_exporter_kicad.h>#include <wx/ffile.h>#include <wildcards_and_files_ext.h>#include <schematic.h>#include <connection_graph.h>#include <panel_template_fieldnames.h>#include <panel_eeschema_color_settings.h>#include <panel_sym_color_settings.h>#include <panel_eeschema_editing_options.h>#include <panel_eeschema_annotation_options.h>#include <panel_sym_editing_options.h>#include <dialogs/panel_base_display_options.h>#include <panel_eeschema_display_options.h>#include <panel_sym_display_options.h>#include <sim/simulator_frame.h>#include <dialogs/panel_toolbar_customization.h>#include <toolbars_sch_editor.h>#include <toolbars_symbol_editor.h>#include <wx/crt.h>Go to the source code of this file.
Classes | |
| struct | SCH::IFACE | 
Namespaces | |
| namespace | SCH | 
Functions | |
| static std::unique_ptr< SCHEMATIC > | SCH::readSchematicFromFile (const std::string &aFilename) | 
| bool | SCH::generateSchematicNetlist (const wxString &aFilename, std::string &aNetlist) | 
| SCH::IFACE KIFACE_BASE, UNITS_PROVIDER | SCH::kiface ("eeschema", KIWAY::FACE_SCH) | 
| IFACE (const char *aName, KIWAY::FACE_T aType) | |
| bool | OnKifaceStart (PGM_BASE *aProgram, int aCtlBits, KIWAY *aKiway) override | 
| void | Reset () override | 
| void | OnKifaceEnd () override | 
| wxWindow * | CreateKiWindow (wxWindow *aParent, int aClassId, KIWAY *aKiway, int aCtlBits=0) override | 
| void * | IfaceOrAddress (int aDataId) override | 
| Return a pointer to the requested object.   | |
| void | SaveFileAs (const wxString &aProjectBasePath, const wxString &aProjectName, const wxString &aNewProjectBasePath, const wxString &aNewProjectName, const wxString &aSrcFilePath, wxString &aErrors) override | 
| Saving a file under a different name is delegated to the various KIFACEs because the project doesn't know the internal format of the various files (which may have paths in them that need updating).   | |
| int | HandleJob (JOB *aJob, REPORTER *aReporter, PROGRESS_REPORTER *aProgressReporter) override | 
| bool | HandleJobConfig (JOB *aJob, wxWindow *aParent) override | 
| void | PreloadLibraries (KIWAY *aKiway) override | 
| void | ProjectChanged () override | 
| KIFACE_BASE & | Kiface () | 
| Global KIFACE_BASE "get" accessor.   | |
| KIFACE_API KIFACE * | KIFACE_GETTER (int *aKIFACEversion, int aKiwayVersion, PGM_BASE *aProgram) | 
| No name mangling. Each KIFACE (DSO/DLL) will implement this once.   | |
| static void | traverseSEXPR (SEXPR::SEXPR *aNode, const std::function< void(SEXPR::SEXPR *)> &aVisitor) | 
Variables | |
| SCH_SHEET * | g_RootSheet = nullptr | 
| std::unique_ptr< EESCHEMA_JOBS_HANDLER > | m_jobHandler | 
| std::shared_ptr< BACKGROUND_JOB > | m_libraryPreloadBackgroundJob | 
| std::future< void > | m_libraryPreloadReturn | 
| std::atomic_bool | m_libraryPreloadInProgress | 
| std::atomic_bool | m_libraryPreloadAbort | 
      
  | 
  override | 
Definition at line 14 of file eeschema.cpp.
      
  | 
  override | 
      
  | 
  override | 
| kiface::IFACE | ( | const char * | aName, | 
| KIWAY::FACE_T | aType ) | 
Definition at line 2 of file eeschema.cpp.
      
  | 
  override | 
Return a pointer to the requested object.
The safest way to use this is to retrieve a pointer to a static instance of an interface, similar to how the KIFACE interface is exported. But if you know what you are doing use it to retrieve anything you want.
| aDataId | identifies which object you want the address of. | 
Definition at line 211 of file eeschema.cpp.
| KIFACE_BASE & Kiface | ( | ) | 
Global KIFACE_BASE "get" accessor.
Definition at line 423 of file eeschema.cpp.
References SCH::kiface().
| KIFACE_API KIFACE * KIFACE_GETTER | ( | int * | aKIFACEversion, | 
| int | aKiwayVersion, | ||
| PGM_BASE * | aProgram ) | 
No name mangling. Each KIFACE (DSO/DLL) will implement this once.
Definition at line 428 of file eeschema.cpp.
References SCH::kiface(), and KIFACE_API.
      
  | 
  override | 
Definition at line 11 of file test_app_main.cpp.
Definition at line 6 of file test_app_main.cpp.
      
  | 
  override | 
      
  | 
  override | 
References DIALOG_SCH_LIBRARY_TABLE.
Referenced by SCH_EDIT_FRAME::OpenProjectFiles().
      
  | 
  override | 
Referenced by SHEET_SYNCHRONIZATION_MODEL::AppendItem(), SHEET_SYNCHRONIZATION_MODEL::AppendNewItem(), MODEL_ZONES_OVERVIEW::ApplyFilter(), MODEL_ZONES_OVERVIEW::ClearFilter(), BITMAP2CMP_CONTROL::Init(), PCB_CALCULATOR_CONTROL::Init(), SIMULATOR_CONTROL::Init(), MODEL_ZONES_OVERVIEW::MODEL_ZONES_OVERVIEW(), SCH_EDIT_FRAME::OpenProjectFiles(), SHEET_SYNCHRONIZATION_MODEL::TakeItem(), SHEET_SYNCHRONIZATION_MODEL::UpdateItems(), and KIGFX::VC_SETTINGS::VC_SETTINGS().
      
  | 
  override | 
Saving a file under a different name is delegated to the various KIFACEs because the project doesn't know the internal format of the various files (which may have paths in them that need updating).
      
  | 
  static | 
Definition at line 557 of file eeschema.cpp.
References SEXPR::SEXPR::GetChild(), SEXPR::SEXPR::GetNumberOfChildren(), SEXPR::SEXPR::IsList(), and traverseSEXPR().
Referenced by SCH::IFACE::SaveFileAs(), and traverseSEXPR().
| SCH_SHEET* g_RootSheet = nullptr | 
Definition at line 79 of file eeschema.cpp.
      
  | 
  private | 
Definition at line 240 of file eeschema.cpp.
      
  | 
  private | 
Definition at line 244 of file eeschema.cpp.
      
  | 
  private | 
Definition at line 241 of file eeschema.cpp.
      
  | 
  private | 
Definition at line 243 of file eeschema.cpp.
      
  | 
  private | 
Definition at line 242 of file eeschema.cpp.