KiCad PCB EDA Suite
|
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad process. More...
#include <kiway.h>
Public Types | |
enum | FACE_T { FACE_SCH , FACE_PCB , FACE_CVPCB , FACE_GERBVIEW , FACE_PL_EDITOR , FACE_PCB_CALCULATOR , FACE_BMP2CMP , FACE_PYTHON , KIWAY_FACE_COUNT } |
Known KIFACE implementations. More... | |
Public Member Functions | |
~KIWAY () throw () | |
virtual KIFACE * | KiFACE (FACE_T aFaceId, bool doLoad=true) |
Return the KIFACE* given a FACE_T. | |
virtual KIWAY_PLAYER * | Player (FRAME_T aFrameType, bool doCreate=true, wxTopLevelWindow *aParent=nullptr) |
Return the KIWAY_PLAYER* given a FRAME_T. | |
virtual bool | PlayerClose (FRAME_T aFrameType, bool doForce) |
Call the KIWAY_PLAYER::Close( bool force ) function on the window and if not vetoed, returns true, else false. | |
virtual bool | PlayersClose (bool doForce) |
Call the KIWAY_PLAYER::Close( bool force ) function on all the windows and if none are vetoed, returns true, else false. | |
void | PlayerDidClose (FRAME_T aFrameType) |
Notifies a Kiway that a player has been closed. | |
virtual void | ExpressMail (FRAME_T aDestination, MAIL_T aCommand, std::string &aPayload, wxWindow *aSource=nullptr) |
Send aPayload to aDestination from aSource. | |
virtual void | GetActions (std::vector< TOOL_ACTION * > &aActions) const |
Append all registered actions to the given list. | |
virtual PROJECT & | Prj () const |
Return the PROJECT associated with this KIWAY. | |
virtual void | SetLanguage (int aLanguage) |
Change the language and then calls ShowChangedLanguage() on all #KIWAY_PLAYERs. | |
virtual void | CommonSettingsChanged (bool aEnvVarsChanged, bool aTextVarsChanged) |
Call CommonSettingsChanged() on all KIWAY_PLAYERs. | |
virtual void | ProjectChanged () |
Calls ProjectChanged() on all KIWAY_PLAYERs. | |
KIWAY (int aCtlBits, wxFrame *aTop=nullptr) | |
void | SetCtlBits (int aCtlBits) |
Overwrites previously set ctl bits, only for use in kicad.cpp to flip between standalone and manager mode before we actually load anything. | |
void | SetTop (wxFrame *aTop) |
Tell this KIWAY about the top most frame in the program and optionally allows it to play the role of one of the KIWAY_PLAYERs if launched from single_top.cpp. | |
wxFrame * | GetTop () |
void | OnKiCadExit () |
void | OnKiwayEnd () |
bool | ProcessEvent (wxEvent &aEvent) override |
int | ProcessJob (KIWAY::FACE_T aFace, JOB *aJob) |
bool | ProcessJobConfigDialog (KIWAY::FACE_T aFace, JOB *aJob, wxWindow *aWindow) |
wxWindow * | GetBlockingDialog () |
Gets the window pointer to the blocking dialog (to send it signals) | |
void | SetBlockingDialog (wxWindow *aWin) |
Static Public Member Functions | |
static FACE_T | KifaceType (FRAME_T aFrameType) |
A simple mapping function which returns the FACE_T which is known to implement aFrameType. | |
Private Member Functions | |
const wxString | dso_search_path (FACE_T aFaceId) |
Get the [path &] name of the DSO holding the requested FACE_T. | |
bool | set_kiface (FACE_T aFaceType, KIFACE *aKiface) |
KIWAY_PLAYER * | GetPlayerFrame (FRAME_T aFrameType) |
Private Attributes | |
int | m_ctl |
wxFrame * | m_top |
wxWindowID | m_blockingDialog |
std::atomic< wxWindowID > | m_playerFrameId [KIWAY_PLAYER_COUNT] |
Static Private Attributes | |
static KIFACE * | m_kiface [KIWAY_FACE_COUNT] |
static int | m_kiface_version [KIWAY_FACE_COUNT] |
Friends | |
struct | PGM_SINGLE_TOP |
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad process.
It makes it possible to call between DSOs without having to link them together, and without having to link to the top process module which houses the KIWAY(s). More importantly it makes it possible to send custom wxEvents between DSOs and from the top process module down into the DSOs. The latter capability is thought useful for driving the lower DSOs from a python test rig or for demo (automation) purposes.
Most all calls are via virtual functions, which means C++ vtables are used to hold function pointers and eliminate the need to link to specific object code libraries, speeding development and encouraging clearly defined interface design. Unlike Microsoft COM, which is a multi-vendor design supporting DLL's built at various points in time, the KIWAY alchemy is single project, with all components being built at the same time. So one should expect solid compatibility between all KiCad components, as long at they are compiled at the same time.
There is one KIWAY in the launching portion of the process for each open KiCad project. Each project has its own KIWAY. Available to each KIWAY is an actual PROJECT data structure. If you have a KIWAY, you can get to the PROJECT using KIWAY::Prj().
In summary, a KIWAY facilitates communicating between DSOs, where the topic of the communication is project specific. Here a "project" means a BOARD and a SCHEMATIC and a NETLIST, (anything relating to production of a single BOARD and added to class PROJECT.)
enum KIWAY::FACE_T |
KIWAY::KIWAY | ( | int | aCtlBits, |
wxFrame * | aTop = nullptr |
||
) |
Definition at line 57 of file kiway.cpp.
References KIWAY_PLAYER_COUNT, m_playerFrameId, and SetTop().
|
virtual |
Call CommonSettingsChanged() on all KIWAY_PLAYERs.
Use after changing suite-wide options such as panning, autosave interval, etc.
Definition at line 617 of file kiway.cpp.
References EDA_BASE_FRAME::CommonSettingsChanged(), GetPlayerFrame(), KFCTL_CPP_PROJECT_SUITE, KIWAY_PLAYER_COUNT, m_ctl, and m_top.
Referenced by COMMON_CONTROL::ConfigurePaths(), PCB::IFACE::CreateKiWindow(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), EDA_BASE_FRAME::ShowPreferences(), and SCH_EDIT_FRAME::ShowSchematicSetupDialog().
|
private |
Get the [path &] name of the DSO holding the requested FACE_T.
Definition at line 110 of file kiway.cpp.
References FACE_BMP2CMP, FACE_CVPCB, FACE_GERBVIEW, FACE_PCB, FACE_PCB_CALCULATOR, FACE_PL_EDITOR, FACE_PYTHON, FACE_SCH, PGM_BASE::GetExecutablePath(), KFCTL_CPP_PROJECT_SUITE, KFCTL_STANDALONE, m_ctl, name, path, and Pgm().
Referenced by KiFACE().
|
virtual |
Send aPayload to aDestination from aSource.
The recipient receives this in its KIWAY_PLAYER::KiwayMailIn() function and can efficiently switch() based on aCommand in there.
Definition at line 527 of file kiway.cpp.
References ProcessEvent().
Referenced by PROJECT_TREE_ITEM::Activate(), SYMBOL_EDIT_FRAME::AddLibraryFile(), SYMBOL_EDIT_FRAME::DdAddLibrary(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::FetchNetlistFromSchematic(), IMPORT_PROJ_HELPER::ImportIndividualFile(), InvokeEditDesignBlockLibTable(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), SCH_BASE_FRAME::OnSymChangeDebounceTimer(), SCH_EDIT_FRAME::OnUpdatePCB(), BACK_ANNOTATE::PushNewLinksToPCB(), CVPCB_MAINFRAME::SaveFootprintAssociation(), CVPCB_MAINFRAME::SendComponentSelectionToSch(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), PCB_EDIT_FRAME::SendCrossProbeItem(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SendSelectItemsToPcb(), PCB_EDIT_FRAME::SendSelectItemsToSch(), SCH_EDIT_FRAME::SetCrossProbeConnection(), KICAD_MANAGER_CONTROL::ShowPluginManager(), DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow(), and BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB().
|
virtual |
Append all registered actions to the given list.
Definition at line 536 of file kiway.cpp.
References ACTION_MANAGER::GetActionList().
Referenced by DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), and EDA_BASE_FRAME::ShowPreferences().
wxWindow * KIWAY::GetBlockingDialog | ( | ) |
Gets the window pointer to the blocking dialog (to send it signals)
Definition at line 669 of file kiway.cpp.
References m_blockingDialog.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SIMULATOR_CONTROL::ExportPlotToSchematic(), PGM_SINGLE_TOP::MacOpenFile(), SIMULATOR_CONTROL::Probe(), EE_INSPECTION_TOOL::RunSimulation(), CVPCB_CONTROL::ShowFootprintViewer(), showFrame(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), and SIMULATOR_CONTROL::Tune().
|
private |
Definition at line 388 of file kiway.cpp.
References m_playerFrameId.
Referenced by CommonSettingsChanged(), Player(), PlayerClose(), ProjectChanged(), and SetLanguage().
|
inline |
Definition at line 426 of file kiway.h.
Referenced by COMMON_CONTROL::ShowProjectManager().
Return the KIFACE* given a FACE_T.
If it is not already loaded, the KIFACE is loaded and initialized with a call to KIFACE::OnKifaceStart().
Definition at line 202 of file kiway.cpp.
References _, KIPLATFORM::APP::AddDynamicLibrarySearchPath(), arrayDim(), dso_search_path(), PGM_BASE::HandleException(), kiface(), KIFACE_INSTANCE_NAME_AND_VERSION, KIFACE_VERSION, m_ctl, m_kiface, m_kiface_version, IFACE::OnKifaceStart(), Pgm(), THROW_IO_ERROR, and KIPLATFORM::ENV::VerifyFileSignature().
Referenced by COMMON_CONTROL::ConfigurePaths(), FOOTPRINT_PREVIEW_PANEL_BASE::Create(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), get_instance_from_id(), PCBNEW_JOBS_HANDLER::JobExportDrc(), EESCHEMA_JOBS_HANDLER::JobSchErc(), SAVE_AS_TRAVERSER::OnFile(), PROJECT::PcbFootprintLibs(), Player(), ProcessJob(), ProcessJobConfigDialog(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), KICAD_MANAGER_CONTROL::ShowPluginManager(), EDA_BASE_FRAME::ShowPreferences(), and DIALOG_ERC::testErc().
|
static |
A simple mapping function which returns the FACE_T which is known to implement aFrameType.
Definition at line 344 of file kiway.cpp.
References FACE_BMP2CMP, FACE_CVPCB, FACE_GERBVIEW, FACE_PCB, FACE_PCB_CALCULATOR, FACE_PL_EDITOR, FACE_PYTHON, FACE_SCH, FRAME_BM2CMP, FRAME_CALC, FRAME_CVPCB, FRAME_CVPCB_DISPLAY, FRAME_FOOTPRINT_CHOOSER, FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_VIEWER, FRAME_FOOTPRINT_WIZARD, FRAME_GERBER, FRAME_PCB_DISPLAY3D, FRAME_PCB_EDITOR, FRAME_PL_EDITOR, FRAME_PYTHON, FRAME_SCH, FRAME_SCH_SYMBOL_EDITOR, FRAME_SCH_VIEWER, FRAME_SIMULATOR, and FRAME_SYMBOL_CHOOSER.
Referenced by PGM_SINGLE_TOP::OnPgmInit(), LIBRARY_EDITOR_CONTROL::PinLibrary(), Player(), and LIBRARY_EDITOR_CONTROL::UnpinLibrary().
void KIWAY::OnKiCadExit | ( | ) |
Definition at line 725 of file kiway.cpp.
References KFCTL_CPP_PROJECT_SUITE, m_ctl, and m_top.
Referenced by PL_EDITOR_FRAME::OnExit(), PCB_CALCULATOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), SIMULATOR_FRAME::onExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), SYMBOL_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), and PCB_EDIT_FRAME::OnQuit().
void KIWAY::OnKiwayEnd | ( | ) |
Definition at line 740 of file kiway.cpp.
References m_kiface.
Referenced by PGM_SINGLE_TOP::OnPgmExit(), PGM_KICAD::OnPgmExit(), and PGM_TEST_FRAME::OnPgmExit().
|
virtual |
Return the KIWAY_PLAYER* given a FRAME_T.
If it is not already created, the required KIFACE is found and loaded and initialized if necessary, then the KIWAY_PLAYER window is created but not shown. Caller must Show() it. If it is already created, then the existing KIWAY_PLAYER* pointer is returned.
aFrameType | is from enum FRAME_T. |
doCreate | when true asks that the player be created if it is not already created, false means do not create and maybe return NULL. |
aParent | is a parent for modal KIWAY_PLAYER frames, otherwise NULL used only when doCreate = true and by KIWAY_PLAYER frames created in modal form |
IO_ERROR | if the *.kiface file could not be found, filled with text saying what. |
Definition at line 406 of file kiway.cpp.
References _, IFACE::CreateKiWindow(), GetPlayerFrame(), PGM_BASE::HandleException(), kiface(), KiFACE(), KifaceType(), KIWAY_PLAYER_COUNT, m_ctl, m_playerFrameId, and Pgm().
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_EDIT_FRAME::AskToSaveChanges(), SYMBOL_EDIT_FRAME::CanCloseSymbolFromSchematic(), SCH_EDIT_FRAME::canCloseWindow(), PCB_EDIT_FRAME::canCloseWindow(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), PCB::IFACE::CreateKiWindow(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), FIELDS_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), EESCHEMA_JOBS_HANDLER::EESCHEMA_JOBS_HANDLER(), PANEL_JOBS::EnsurePcbSchFramesOpen(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCBNEW_JOBS_HANDLER::getBoard(), EESCHEMA_JOBS_HANDLER::getSchematic(), IMPORT_PROJ_HELPER::ImportIndividualFile(), InvokeSchEditSymbolLibTable(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), KIGFX::WX_VIEW_CONTROLS::onMotion(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), PGM_SINGLE_TOP::OnPgmInit(), PGM_KICAD::OnPgmInit(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), PCB_FIELDS_GRID_TABLE::PCB_FIELDS_GRID_TABLE(), PCBNEW_JOBS_HANDLER::PCBNEW_JOBS_HANDLER(), ProcessEvent(), SCH_EDIT_TOOL::Properties(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), SCH_EDITOR_CONTROL::rescueProject(), PCB_EDIT_FRAME::RunEeschema(), EE_INSPECTION_TOOL::RunSimulation(), SYMBOL_EDIT_FRAME::saveCurrentSymbol(), SaveFileAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), FOOTPRINT_EDIT_FRAME::setupTools(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SIMULATOR_FRAME::SIMULATOR_FRAME(), PCB_EDIT_FRAME::TestStandalone(), DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow(), and BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB().
|
virtual |
Call the KIWAY_PLAYER::Close( bool force ) function on the window and if not vetoed, returns true, else false.
If window actually closes, then this KIWAY marks it as not opened internally.
Definition at line 470 of file kiway.cpp.
References GetPlayerFrame(), KIWAY_PLAYER_COUNT, m_playerFrameId, EDA_BASE_FRAME::NonUserClose(), and Pgm().
Referenced by SCH_EDIT_FRAME::canCloseWindow(), and PlayersClose().
void KIWAY::PlayerDidClose | ( | FRAME_T | aFrameType | ) |
Notifies a Kiway that a player has been closed.
Definition at line 521 of file kiway.cpp.
References m_playerFrameId.
Referenced by KIWAY_PLAYER::Destroy().
|
virtual |
Call the KIWAY_PLAYER::Close( bool force ) function on all the windows and if none are vetoed, returns true, else false.
If any window actually closes, then* this KIWAY marks it as not opened internally.
Definition at line 510 of file kiway.cpp.
References KIWAY_PLAYER_COUNT, and PlayerClose().
|
virtual |
Return the PROJECT associated with this KIWAY.
This is here as an accessor, so that there is freedom to put the actual PROJECT storage in a place decided by the implementation, and not known to the caller.
Definition at line 196 of file kiway.cpp.
References PGM_BASE::GetSettingsManager(), Pgm(), and SETTINGS_MANAGER::Prj().
Referenced by CVPCB_MAINFRAME::BuildLibrariesList(), SYMBOL_PREVIEW_WIDGET::DisplaySymbol(), PANEL_JOBS::EnsurePcbSchFramesOpen(), FOOTPRINT_LIST::GetInstance(), InvokeEditDesignBlockLibTable(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), Prj(), KIWAY_HOLDER::Prj(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), and PCB_BASE_FRAME::SelectLibrary().
|
override |
Definition at line 683 of file kiway.cpp.
References KIWAY_EXPRESS::Dest(), KIWAY_PLAYER::KiwayMailIn(), Player(), and EDA_BASE_FRAME::ProcessEvent().
Referenced by ExpressMail().
int KIWAY::ProcessJob | ( | KIWAY::FACE_T | aFace, |
JOB * | aJob | ||
) |
Definition at line 709 of file kiway.cpp.
References KIFACE::HandleJob(), kiface(), and KiFACE().
Referenced by CLI::FP_EXPORT_SVG_COMMAND::doPerform(), CLI::FP_UPGRADE_COMMAND::doPerform(), CLI::PCB_DRC_COMMAND::doPerform(), CLI::PCB_EXPORT_3D_COMMAND::doPerform(), CLI::PCB_EXPORT_DRILL_COMMAND::doPerform(), CLI::PCB_EXPORT_DXF_COMMAND::doPerform(), CLI::PCB_EXPORT_GENCAD_COMMAND::doPerform(), CLI::PCB_EXPORT_GERBER_COMMAND::doPerform(), CLI::PCB_EXPORT_GERBERS_COMMAND::doPerform(), CLI::PCB_EXPORT_IPC2581_COMMAND::doPerform(), CLI::PCB_EXPORT_ODB_COMMAND::doPerform(), CLI::PCB_EXPORT_PDF_COMMAND::doPerform(), CLI::PCB_EXPORT_POS_COMMAND::doPerform(), CLI::PCB_EXPORT_SVG_COMMAND::doPerform(), CLI::PCB_RENDER_COMMAND::doPerform(), CLI::SCH_ERC_COMMAND::doPerform(), CLI::SCH_EXPORT_BOM_COMMAND::doPerform(), CLI::SCH_EXPORT_NETLIST_COMMAND::doPerform(), CLI::SCH_EXPORT_PLOT_COMMAND::doPerform(), CLI::SCH_EXPORT_PYTHONBOM_COMMAND::doPerform(), CLI::SYM_EXPORT_SVG_COMMAND::doPerform(), CLI::SYM_UPGRADE_COMMAND::doPerform(), and JOBS_RUNNER::RunJobsForOutput().
bool KIWAY::ProcessJobConfigDialog | ( | KIWAY::FACE_T | aFace, |
JOB * | aJob, | ||
wxWindow * | aWindow | ||
) |
Definition at line 717 of file kiway.cpp.
References KIFACE::HandleJobConfig(), kiface(), and KiFACE().
Referenced by PANEL_JOBS::openJobOptionsForListItem().
|
virtual |
Calls ProjectChanged() on all KIWAY_PLAYERs.
Used after changing the project to ensure all players are updated correctly.
Definition at line 640 of file kiway.cpp.
References GetPlayerFrame(), KFCTL_CPP_PROJECT_SUITE, KIWAY_PLAYER_COUNT, m_ctl, m_top, and EDA_BASE_FRAME::ProjectChanged().
Referenced by SETTINGS_MANAGER::LoadProject(), and SETTINGS_MANAGER::UnloadProject().
Definition at line 448 of file kiway.h.
Referenced by PGM_SINGLE_TOP::OnPgmInit().
void KIWAY::SetBlockingDialog | ( | wxWindow * | aWin | ) |
Definition at line 674 of file kiway.cpp.
References m_blockingDialog.
Referenced by DIALOG_SHIM::DIALOG_SHIM(), and DIALOG_SHIM::~DIALOG_SHIM().
|
inline |
Overwrites previously set ctl bits, only for use in kicad.cpp to flip between standalone and manager mode before we actually load anything.
Definition at line 417 of file kiway.h.
Referenced by PGM_KICAD::OnPgmInit().
|
virtual |
Change the language and then calls ShowChangedLanguage() on all #KIWAY_PLAYERs.
Definition at line 543 of file kiway.cpp.
References _, DisplayErrorMessage(), GetPlayerFrame(), KFCTL_CPP_PROJECT_SUITE, KIWAY_PLAYER_COUNT, LanguagesList, m_ctl, LANGUAGE_DESCR::m_KI_Lang_Identifier, LANGUAGE_DESCR::m_Lang_Label, m_top, Pgm(), EDA_BASE_FRAME::ProcessEvent(), PGM_BASE::SetLanguage(), PGM_BASE::SetLanguageIdentifier(), and EDA_BASE_FRAME::ShowChangedLanguage().
Referenced by KIWAY_PLAYER::language_change(), and KICAD_MANAGER_FRAME::language_change().
void KIWAY::SetTop | ( | wxFrame * | aTop | ) |
Tell this KIWAY about the top most frame in the program and optionally allows it to play the role of one of the KIWAY_PLAYERs if launched from single_top.cpp.
aTop | is the top most wxFrame in the entire program. |
Definition at line 88 of file kiway.cpp.
References m_top.
Referenced by KIWAY(), PGM_SINGLE_TOP::OnPgmInit(), and PGM_KICAD::OnPgmInit().
|
friend |
|
private |
Definition at line 472 of file kiway.h.
Referenced by GetBlockingDialog(), and SetBlockingDialog().
|
private |
Definition at line 468 of file kiway.h.
Referenced by CommonSettingsChanged(), dso_search_path(), KiFACE(), OnKiCadExit(), Player(), ProjectChanged(), and SetLanguage().
|
staticprivate |
Definition at line 465 of file kiway.h.
Referenced by KiFACE(), and OnKiwayEnd().
|
staticprivate |
|
private |
Definition at line 480 of file kiway.h.
Referenced by GetPlayerFrame(), KIWAY(), Player(), PlayerClose(), and PlayerDidClose().
|
private |
Definition at line 470 of file kiway.h.
Referenced by CommonSettingsChanged(), OnKiCadExit(), ProjectChanged(), SetLanguage(), and SetTop().