|
KiCad PCB EDA Suite
|
#include <algorithm>#include <api/api_handler_sch.h>#include <api/api_server.h>#include <api/api_utils.h>#include <api/headless_sch_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 <eda_dde.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) |
| 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 wxString &aPath, KICAD_API_SERVER *aServer, wxString *aError) override |
| bool | HandleApiCloseDocument (const wxString &aSchFileName, KICAD_API_SERVER *aServer, wxString *aError) override |
| void | PreloadLibraries (KIWAY *aKiway) override |
| void | CancelPreload (bool aBlock=true) override |
| void | ProjectChanged () override |
| void | closeCurrentDocument (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::unique_ptr< API_HANDLER_SCH > | m_openHandler |
|
override |
|
private |
Referenced by CLI::API_SERVER_COMMAND::doPerform().
|
override |
Definition at line 14 of file eeschema.cpp.
|
override |
References DIALOG_DESIGN_BLOCK_LIBRARY_TABLE.
|
override |
|
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 232 of file eeschema.cpp.
References FRAME_SCH_SYMBOL_EDITOR, and FRAME_SIMULATOR.
| EESCHEMA_JOBS_HANDLER * kiface::JobHandler | ( | ) | const |
Accessor for the non-job diff/merge exports (eeschemaMergeExport etc.).
Definition at line 250 of file eeschema.cpp.
References FRAME_SCH_VIEWER, and FRAME_SYMBOL_CHOOSER.
| KIFACE_BASE & Kiface | ( | ) |
Global KIFACE_BASE "get" accessor.
Definition at line 518 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 523 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 PANEL_SYM_DISP_OPTIONS.
|
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(), 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).
| SCH_SHEET* g_RootSheet = nullptr |
Definition at line 95 of file eeschema.cpp.
|
private |
Definition at line 279 of file eeschema.cpp.
|
private |
Definition at line 287 of file eeschema.cpp.
|
private |
Definition at line 283 of file eeschema.cpp.
|
private |
Definition at line 280 of file eeschema.cpp.
|
private |
Definition at line 282 of file eeschema.cpp.
|
private |
Definition at line 281 of file eeschema.cpp.
|
private |
Definition at line 289 of file eeschema.cpp.
|
private |
Definition at line 290 of file eeschema.cpp.
|
private |
Definition at line 288 of file eeschema.cpp.