|
KiCad PCB EDA Suite
|
#include <algorithm>#include <api/api_handler_sch.h>#include <api/api_handler_sch_libraries.h>#include <api/api_handler_symbol.h>#include <api/api_server.h>#include <api/api_utils.h>#include <api/cross_probe_client.h>#include <api/headless_sch_context.h>#include <api/headless_symbol_editor_context.h>#include <core/json_serializers.h>#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 "eeschema_jobs_handler.h"#include "eeschema_helpers.h"#include <diff_merge/diff_doc_kind.h>#include <reporter.h>#include "git/kigit_sch_merge.h"#include "git/kigit_sym_lib_merge.h"#include <git/kigit_driver_registry.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_snapping.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 <string_utils.h>#include <trace_helpers.h>#include <thread_pool.h>#include <kiface_ids.h>#include <widgets/kistatusbar.h>#include <netlist_exporters/netlist_exporter_kicad.h>#include <wx/ffile.h>#include <wx/tokenzr.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_sch_data_sources.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 <sch_io/sch_io.h>#include <sch_io/sch_io_mgr.h>#include <wx/crt.h>Go to the source code of this file.
Classes | |
| struct | SCH::IFACE |
Namespaces | |
| namespace | SCH |
Functions | |
| static int | SCH::eeschemaMergeExport (int aKind, const wxString &aAncestor, const wxString &aOurs, const wxString &aTheirs, const wxString &aOutput, bool aInteractive, bool aSingleFile, REPORTER *aReporter) |
| static int | SCH::eeschemaOpenDiffDialogExport (int aKind, const wxString &aFileA, const wxString &aFileB, const wxString &aLabelA, const wxString &aLabelB, wxWindow *aParent, REPORTER *aReporter) |
| static std::unique_ptr< SCHEMATIC > | SCH::readSchematicFromFile (const std::string &aFilename) |
| bool | SCH::generateSchematicNetlist (const wxString &aFilename, std::string &aNetlist, KIWAY *aKiway) |
| 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. | |
| EESCHEMA_JOBS_HANDLER * | JobHandler () const |
| Accessor for the non-job diff/merge exports (eeschemaMergeExport etc.). | |
| 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 |
| bool | HandleApiOpenDocument (const DOCUMENT_SPEC &aSpec, KICAD_API_SERVER *aServer, wxString *aError) override |
| bool | handleCreateSchematic (const wxString &aPath, KICAD_API_SERVER *aServer, wxString *aError) |
| bool | handleOpenSymbol (const wxString &aProjectPath, const wxString &aLibIdStr, KICAD_API_SERVER *aServer, wxString *aError) |
| bool | HandleApiCloseDocument (const DOCUMENT_SPEC &aSpec, KICAD_API_SERVER *aServer, wxString *aError) override |
| void | PreloadLibraries (KIWAY *aKiway) override |
| void | CancelPreload (bool aBlock=true) override |
| void | ProjectChanged () override |
| void | RegisterLibraryHandlers (KICAD_API_SERVER *aServer) override |
| bool | LoadAllLibraries () override |
| void | closeSchematic (KICAD_API_SERVER *aServer) |
| void | closeSymbol (KICAD_API_SERVER *aServer) |
| 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. | |
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 |
| KIWAY * | m_kiway = nullptr |
| SCHEMATIC * | m_openSchematic = nullptr |
| std::shared_ptr< HEADLESS_SCH_CONTEXT > | m_openContext |
| std::shared_ptr< HEADLESS_SYMBOL_EDITOR_CONTEXT > | m_openSymbolContext |
| std::unique_ptr< API_HANDLER_SYMBOL > | m_openSymbolHandler |
| std::unique_ptr< API_HANDLER_SCH > | m_openHandler |
| std::unique_ptr< API_HANDLER_SCH_LIBRARIES > | m_apiHandlerSchLibs |
|
override |
References DIALOG_DESIGN_BLOCK_LIBRARY_TABLE.
|
private |
|
private |
References FRAME_SCH_VIEWER.
|
override |
Definition at line 14 of file eeschema.cpp.
|
override |
References DIALOG_SCH_LIBRARY_TABLE.
|
override |
| bool kiface::handleCreateSchematic | ( | const wxString & | aPath, |
| KICAD_API_SERVER * | aServer, | ||
| wxString * | aError ) |
|
override |
|
override |
| bool kiface::handleOpenSymbol | ( | const wxString & | aProjectPath, |
| const wxString & | aLibIdStr, | ||
| KICAD_API_SERVER * | aServer, | ||
| wxString * | aError ) |
| 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 233 of file eeschema.cpp.
References FRAME_SCH.
| EESCHEMA_JOBS_HANDLER * kiface::JobHandler | ( | ) | const |
Accessor for the non-job diff/merge exports (eeschemaMergeExport etc.).
Definition at line 251 of file eeschema.cpp.
| KIFACE_BASE & Kiface | ( | ) |
Global KIFACE_BASE "get" accessor.
Definition at line 534 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 539 of file eeschema.cpp.
References SCH::kiface(), and KIFACE_API.
|
override |
References GetAppSettings(), and PANEL_SYM_DISP_OPTIONS.
|
override |
Definition at line 11 of file test_app_main.cpp.
Definition at line 6 of file test_app_main.cpp.
|
override |
|
override |
|
override |
|
override |
Referenced by SHEET_SYNCHRONIZATION_MODEL::AppendItem(), SHEET_SYNCHRONIZATION_MODEL::AppendNewItem(), MODEL_ZONES_OVERVIEW::ApplyFilter(), MODEL_ZONES_OVERVIEW::ClearFilter(), BITMAP2CMP_CONTROL::Init(), SIMULATOR_CONTROL::Init(), KI_UNION_FIND::KI_UNION_FIND(), MODEL_ZONES_OVERVIEW::MODEL_ZONES_OVERVIEW(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_CONNECTIVITY::SUBSCRIPTION::operator=(), 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).
References FRAME_SYMBOL_CHOOSER.
| SCH_SHEET* g_RootSheet = nullptr |
Definition at line 98 of file eeschema.cpp.
|
private |
Definition at line 301 of file eeschema.cpp.
|
private |
Definition at line 286 of file eeschema.cpp.
|
private |
Definition at line 295 of file eeschema.cpp.
|
private |
Definition at line 290 of file eeschema.cpp.
|
private |
Definition at line 287 of file eeschema.cpp.
|
private |
Definition at line 289 of file eeschema.cpp.
|
private |
Definition at line 288 of file eeschema.cpp.
|
private |
Definition at line 297 of file eeschema.cpp.
|
private |
Definition at line 300 of file eeschema.cpp.
|
private |
Definition at line 296 of file eeschema.cpp.
|
private |
Definition at line 298 of file eeschema.cpp.
|
private |
Definition at line 299 of file eeschema.cpp.