KiCad PCB EDA Suite
Loading...
Searching...
No Matches
IFACE Struct Reference
Inheritance diagram for IFACE:
KIFACE_BASE KIFACE

Public Member Functions

 IFACE (const char *aName, KIWAY::FACE_T aType)
 
bool OnKifaceStart (PGM_BASE *aProgram, int aCtlBits, KIWAY *aKiway) override
 Typically start_common() is called from here.
 
void OnKifaceEnd () override
 Called just once just before the DSO is to be unloaded.
 
wxWindow * CreateKiWindow (wxWindow *aParent, int aClassId, KIWAY *aKiway, int aCtlBits=0) override
 Create a wxWindow for the current project.
 
void * IfaceOrAddress (int aDataId) override
 Return a pointer to the requested object.
 
virtual void Reset () override
 Reloads global state.
 
const wxString Name ()
 
APP_SETTINGS_BASEKifaceSettings () 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_STACKKifaceSearch ()
 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
 

Detailed Description

Definition at line 52 of file test_app_main.cpp.

Constructor & Destructor Documentation

◆ IFACE()

IFACE::IFACE ( const char *  aName,
KIWAY::FACE_T  aType 
)
inline

Definition at line 56 of file test_app_main.cpp.

Member Function Documentation

◆ CreateKiWindow()

wxWindow * IFACE::CreateKiWindow ( wxWindow *  aParent,
int  aClassId,
KIWAY aKIWAY,
int  aCtlBits = 0 
)
inlineoverridevirtual

Create a wxWindow for the current project.

The caller must cast the return value into the known type.

Parameters
aParentmay 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.
aClassIdidentifies which wxFrame or wxDialog to retrieve, using a value known to the implementing KIFACE.
aKIWAYtells the window which KIWAY (and PROJECT) it is a participant in.
aCtlBitsconsists of bit flags from the set of KFCTL_* #defines above.
Returns
the window created and if not NULL, should be cast into the known type using and old school cast. dynamic_cast is problematic since it needs typeinfo probably not contained in the caller's link image.

Implements KIFACE_BASE.

Definition at line 67 of file test_app_main.cpp.

Referenced by FOOTPRINT_PREVIEW_PANEL_BASE::Create(), KIWAY::Player(), and COMMON_CONTROL::ShowLibraryTable().

◆ end_common()

void KIFACE_BASE::end_common ( )
protectedinherited

◆ GetActions()

void KIFACE_BASE::GetActions ( std::vector< TOOL_ACTION * > &  aActions) const
inlineoverridevirtualinherited

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().

◆ GetHelpFileName()

const wxString & KIFACE_BASE::GetHelpFileName ( ) const
inlineinherited

Return just the basename portion of the current help file.

Definition at line 112 of file kiface_base.h.

References KIFACE_BASE::m_bm, and BIN_MOD::m_help_file.

Referenced by EDA_BASE_FRAME::help_name().

◆ HandleJob()

virtual int KIFACE::HandleJob ( JOB aJob)
inlinevirtualinherited

Reimplemented in SCH::IFACE, and PCB::IFACE.

Definition at line 244 of file kiway.h.

Referenced by KIWAY::ProcessJob().

◆ HandleJobConfig()

virtual bool KIFACE::HandleJobConfig ( JOB aJob,
wxWindow *  aParent 
)
inlinevirtualinherited

Reimplemented in SCH::IFACE, and PCB::IFACE.

Definition at line 249 of file kiway.h.

Referenced by KIWAY::ProcessJobConfigDialog().

◆ IfaceOrAddress()

void * IFACE::IfaceOrAddress ( int  aDataId)
inlineoverridevirtual

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.

Parameters
aDataIdidentifies which object you want the address of.
Returns
the requested object which must be cast into the know type.

Implements KIFACE_BASE.

Definition at line 84 of file test_app_main.cpp.

Referenced by get_instance_from_id(), SCRIPTING_TOOL::Init(), and PROJECT::PcbFootprintLibs().

◆ InitSettings()

◆ IsSingle()

◆ KifaceSearch()

SEARCH_STACK & KIFACE_BASE::KifaceSearch ( )
inlineinherited

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 KIFACE_BASE::m_bm, and BIN_MOD::m_search.

Referenced by CVPCB_MAINFRAME::buildEquivalenceList(), and EDA_BASE_FRAME::sys_search().

◆ KifaceSettings()

APP_SETTINGS_BASE * KIFACE_BASE::KifaceSettings ( ) const
inlineinherited

Definition at line 95 of file kiface_base.h.

References KIFACE_BASE::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().

◆ Name()

const wxString KIFACE_BASE::Name ( )
inlineinherited

Definition at line 90 of file kiface_base.h.

References KIFACE_BASE::m_bm, and BIN_MOD::m_name.

◆ OnKifaceEnd()

void IFACE::OnKifaceEnd ( )
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.

Reimplemented from KIFACE_BASE.

Definition at line 65 of file test_app_main.cpp.

◆ OnKifaceStart()

bool IFACE::OnKifaceStart ( PGM_BASE aProgram,
int  aCtlBits,
KIWAY aKiway 
)
inlineoverridevirtual

Typically start_common() is called from here.

Implements KIFACE_BASE.

Definition at line 60 of file test_app_main.cpp.

Referenced by KIWAY::KiFACE().

◆ Reset()

virtual void KIFACE_BASE::Reset ( )
inlineoverridevirtualinherited

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().

◆ SaveFileAs()

virtual void KIFACE::SaveFileAs ( const wxString &  srcProjectBasePath,
const wxString &  srcProjectName,
const wxString &  newProjectBasePath,
const wxString &  newProjectName,
const wxString &  srcFilePath,
wxString &  aErrors 
)
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().

◆ start_common()

◆ StartFlags()

int KIFACE_BASE::StartFlags ( ) const
inlineinherited

Return whatever was passed as aCtlBits to OnKifaceStart().

Definition at line 102 of file kiface_base.h.

References KIFACE_BASE::m_start_flags.

Member Data Documentation

◆ m_bm

◆ m_id

KIWAY::FACE_T KIFACE_BASE::m_id
privateinherited

Definition at line 128 of file kiface_base.h.

Referenced by KIFACE_BASE::start_common().

◆ m_start_flags


The documentation for this struct was generated from the following file: