KiCad PCB EDA Suite
|
A KIFACE implementation. More...
#include <kiface_base.h>
Public Member Functions | |
virtual bool | OnKifaceStart (PGM_BASE *aProgram, int aCtlBits, KIWAY *aKiway) override=0 |
Typically start_common() is called from here. | |
virtual void | OnKifaceEnd () override |
Called just once just before the DSO is to be unloaded. | |
virtual wxWindow * | CreateKiWindow (wxWindow *aParent, int aClassId, KIWAY *aKIWAY, int aCtlBits=0) override=0 |
Create a wxWindow for the current project. | |
virtual void | Reset () override |
Reloads global state. | |
virtual void * | IfaceOrAddress (int aDataId) override=0 |
Return pointer to the requested object. | |
KIFACE_BASE (const char *aKifaceName, KIWAY::FACE_T aId) | |
const wxString | Name () |
APP_SETTINGS_BASE * | KifaceSettings () const |
void | InitSettings (APP_SETTINGS_BASE *aSettings) |
int | StartFlags () const |
Return whatever was passed as aCtlBits to OnKifaceStart(). | |
bool | IsSingle () const |
Is this KIFACE running under single_top? | |
const wxString & | GetHelpFileName () const |
Return just the basename portion of the current help file. | |
SEARCH_STACK & | KifaceSearch () |
Only for DSO specific 'non-library' files. | |
void | GetActions (std::vector< TOOL_ACTION * > &aActions) const override |
Append this Kiface's registered actions to the given list. | |
virtual void | SaveFileAs (const wxString &srcProjectBasePath, const wxString &srcProjectName, const wxString &newProjectBasePath, const wxString &newProjectName, const wxString &srcFilePath, wxString &aErrors) |
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). | |
virtual int | HandleJob (JOB *aJob) |
virtual bool | HandleJobConfig (JOB *aJob, wxWindow *aParent) |
Protected Member Functions | |
bool | start_common (int aCtlBits) |
Common things to do for a top program module, during OnKifaceStart(). | |
void | end_common () |
Common things to do for a top program module, during OnKifaceEnd();. | |
Protected Attributes | |
int | m_start_flags |
flags provided in OnKifaceStart() | |
Private Attributes | |
KIWAY::FACE_T | m_id |
BIN_MOD | m_bm |
This has useful for DSOs which implement a KIFACE. It is abstract so a few functions must be implemented in derivations.
Definition at line 38 of file kiface_base.h.
|
inline |
aKifaceName | should point to a C string in permanent storage which contains the name of the DSO. Examples: "eeschema", "pcbnew", etc. This controls the name of the wxConfigBase established in m_bm, so it should be lowercase. |
aId | is the type of DSO ( #FACE_SCH, #FACE_PCB, #FACE_CVPCB, #FACE_GERBVIEW, #FACE_PL_EDITOR, #FACE_PCB_CALCULATOR, #FACE_BMP2CMP) |
Definition at line 67 of file kiface_base.h.
|
overridepure virtual |
Create a wxWindow for the current project.
The caller must cast the return value into the known type.
aParent | may be NULL or is otherwise the parent to connect under. If NULL then caller may want to connect the returned wxWindow into some hierarchy after this function returns. |
aClassId | identifies which wxFrame or wxDialog to retrieve, using a value known to the implementing KIFACE. |
aKIWAY | tells the window which KIWAY (and PROJECT) it is a participant in. |
aCtlBits | consists of bit flags from the set of KFCTL_* #defines above. |
Implements KIFACE.
Implemented in BMP2CMP::IFACE, CV::IFACE, SCH::IFACE, GERBV::IFACE, PGE::IFACE, PCBCALC::IFACE, PCB::IFACE, and IFACE.
|
protected |
Common things to do for a top program module, during OnKifaceEnd();.
Definition at line 42 of file kiface_base.cpp.
References BIN_MOD::End(), and m_bm.
Referenced by CV::IFACE::OnKifaceEnd(), SCH::IFACE::OnKifaceEnd(), GERBV::IFACE::OnKifaceEnd(), OnKifaceEnd(), PGE::IFACE::OnKifaceEnd(), PCBCALC::IFACE::OnKifaceEnd(), and PCB::IFACE::OnKifaceEnd().
|
inlineoverridevirtual |
Append this Kiface's registered actions to the given list.
Implements KIFACE.
Definition at line 118 of file kiface_base.h.
References ACTION_MANAGER::GetActionList().
Referenced by DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), and EDA_BASE_FRAME::ShowPreferences().
|
inline |
Return just the basename portion of the current help file.
Definition at line 112 of file kiface_base.h.
References m_bm, and BIN_MOD::m_help_file.
Referenced by EDA_BASE_FRAME::help_name().
|
inlinevirtualinherited |
Reimplemented in SCH::IFACE, and PCB::IFACE.
Definition at line 244 of file kiway.h.
Referenced by KIWAY::ProcessJob().
|
inlinevirtualinherited |
Reimplemented in SCH::IFACE, and PCB::IFACE.
Definition at line 249 of file kiway.h.
Referenced by KIWAY::ProcessJobConfigDialog().
|
overridepure virtual |
Return 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. Segfaults are your fault.
aDataId | identifies which object you want the address of, and consists of choices known in advance by the implementing KIFACE. |
Implements KIFACE.
Implemented in BMP2CMP::IFACE, CV::IFACE, SCH::IFACE, GERBV::IFACE, PGE::IFACE, PCBCALC::IFACE, PCB::IFACE, and IFACE.
Referenced by get_instance_from_id().
|
inline |
Definition at line 97 of file kiface_base.h.
References BIN_MOD::InitSettings(), and m_bm.
Referenced by BMP2CMP::IFACE::CreateKiWindow(), CV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), PGE::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), and PCB::IFACE::OnKifaceStart().
|
inline |
Is this KIFACE running under single_top?
Definition at line 107 of file kiface_base.h.
References KFCTL_STANDALONE, and m_start_flags.
Referenced by ACTION_MENU::AddQuitOrClose(), SCH::IFACE::CreateKiWindow(), PCB::IFACE::CreateKiWindow(), DIALOG_DRC::DIALOG_DRC(), SCH_EDIT_FRAME::OnImportProject(), SCH_EDIT_FRAME::SaveProject(), SCH_EDIT_FRAME::SendSelectItemsToPcb(), and DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow().
|
inline |
Only for DSO specific 'non-library' files.
(The library search path is in the PROJECT class.)
Definition at line 116 of file kiface_base.h.
References m_bm, and BIN_MOD::m_search.
Referenced by CVPCB_MAINFRAME::buildEquivalenceList(), and EDA_BASE_FRAME::sys_search().
|
inline |
Definition at line 95 of file kiface_base.h.
References m_bm, and BIN_MOD::m_config.
Referenced by AUTOPLACER::AUTOPLACER(), SCH_EDIT_FRAME::CaptureHierarchyPaneSize(), EDA_BASE_FRAME::config(), BMP2CMP::IFACE::CreateKiWindow(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_COLOR_PICKER::DIALOG_COLOR_PICKER(), DIALOG_ERC::DIALOG_ERC(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_PRINT_GERBVIEW::DIALOG_PRINT_GERBVIEW(), DIALOG_PRINT_PCBNEW::DIALOG_PRINT_PCBNEW(), KIGFX::eeconfig(), PCB_IO_KICAD_SEXPR::FootprintSave(), DIALOG_PLOT_SCHEMATIC::getPlotOptions(), SCH_RENDER_SETTINGS::GetShowPageLimits(), LAYERS_MAP_DIALOG::initDialog(), DIALOG_PLOT_SCHEMATIC::initDlg(), DIALOG_ANNOTATE::InitValues(), DIALOG_EXPORT_NETLIST::InstallCustomPages(), EDA_DRAW_FRAME::loadCanvasTypeSetting(), LAYERS_MAP_DIALOG::OnGetSetup(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), CV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), PGE::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), PCB::IFACE::OnKifaceStart(), DIALOG_RESCUE_EACH::OnNeverShowClick(), SCH_EDIT_FRAME::onResizeNetNavigator(), LAYERS_MAP_DIALOG::OnStoreSetup(), DIALOG_EESCHEMA_PAGE_SETTINGS::onTransferDataToWindow(), SCH_EDIT_FRAME::OpenProjectFiles(), pcbconfig(), TRANSLINE_IDENT::ReadConfig(), PCB_EDIT_FRAME::redrawNetnames(), PCB_CALCULATOR_FRAME::SaveSettings(), PANEL_PCBNEW_ACTION_PLUGINS::TransferDataFromWindow(), RATSNEST_VIEW_ITEM::ViewDraw(), TRANSLINE_IDENT::WriteConfig(), DIALOG_EXPORT_NETLIST::WriteCurrentNetlistSetup(), DIALOG_ANNOTATE::~DIALOG_ANNOTATE(), DIALOG_COLOR_PICKER::~DIALOG_COLOR_PICKER(), DIALOG_EESCHEMA_PAGE_SETTINGS::~DIALOG_EESCHEMA_PAGE_SETTINGS(), and DIALOG_ERC::~DIALOG_ERC().
|
inline |
Definition at line 90 of file kiface_base.h.
References m_bm, and BIN_MOD::m_name.
|
inlineoverridevirtual |
Called just once just before the DSO is to be unloaded.
It is called before static C++ destructors are called. A default implementation is supplied.
Implements KIFACE.
Reimplemented in CV::IFACE, SCH::IFACE, GERBV::IFACE, PGE::IFACE, PCBCALC::IFACE, PCB::IFACE, and IFACE.
Definition at line 46 of file kiface_base.h.
References end_common().
|
overridepure virtual |
Typically start_common() is called from here.
Implements KIFACE.
Implemented in BMP2CMP::IFACE, CV::IFACE, SCH::IFACE, GERBV::IFACE, PGE::IFACE, PCBCALC::IFACE, PCB::IFACE, and IFACE.
|
inlineoverridevirtual |
Reloads global state.
Implements KIFACE.
Reimplemented in SCH::IFACE, and PCB::IFACE.
Definition at line 55 of file kiface_base.h.
Referenced by KICAD_MANAGER_CONTROL::ShowPluginManager().
|
inlinevirtualinherited |
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).
Reimplemented in SCH::IFACE, GERBV::IFACE, PGE::IFACE, and PCB::IFACE.
Definition at line 216 of file kiway.h.
Referenced by SAVE_AS_TRAVERSER::OnFile().
|
protected |
Common things to do for a top program module, during OnKifaceStart().
Definition at line 32 of file kiface_base.cpp.
References GlobalPathsAppend(), BIN_MOD::Init(), m_bm, m_id, BIN_MOD::m_search, and m_start_flags.
Referenced by BMP2CMP::IFACE::OnKifaceStart(), CV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), PGE::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), and PCB::IFACE::OnKifaceStart().
|
inline |
Return whatever was passed as aCtlBits to OnKifaceStart().
Definition at line 102 of file kiface_base.h.
References m_start_flags.
|
private |
Definition at line 129 of file kiface_base.h.
Referenced by end_common(), GetHelpFileName(), InitSettings(), KifaceSearch(), KifaceSettings(), Name(), and start_common().
|
private |
Definition at line 128 of file kiface_base.h.
Referenced by start_common().
|
protected |
flags provided in OnKifaceStart()
Definition at line 125 of file kiface_base.h.
Referenced by IsSingle(), SCH::IFACE::loadGlobalLibTable(), PCB::IFACE::loadGlobalLibTable(), SCH::IFACE::OnKifaceStart(), PCB::IFACE::OnKifaceStart(), start_common(), and StartFlags().