43#include <wx/filename.h> 
   49class wxSingleInstanceChecker;
 
  147    KICAD_API_SERVER& GetApiServer() { 
return *m_api_server; }
 
  150    virtual void SetTextEditor( 
const wxString& aFileName );
 
  161    virtual const wxString& GetTextEditor( 
bool aCanShowFileChooser = 
true );
 
  170    virtual const wxString AskUserForPreferredEditor(
 
  171            const wxString& aDefaultEditor = wxEmptyString );
 
  177    virtual const wxString& GetExecutablePath() 
const;
 
  210    virtual bool SetLanguage( wxString& aErrMsg, 
bool first_time = 
false );
 
  220    bool SetDefaultLanguage( wxString& aErrMsg );
 
  229    virtual void SetLanguageIdentifier( 
int menu_id );
 
  239    virtual wxString GetLanguageTag();
 
  241    virtual void SetLanguagePath();
 
  246    virtual void ReadPdfBrowserInfos();
 
  251    virtual void WritePdfBrowserInfos();
 
  265    virtual bool SetLocalEnvVariable( 
const wxString& aName, 
const wxString& aValue );
 
  273    virtual void SetLocalEnvVariables();
 
  282    virtual wxApp&   App();
 
  301    bool InitPgm( 
bool aHeadless = 
false, 
bool aSkipPyInit = 
false, 
bool aIsUnitTest = 
false );
 
  333    void HandleAssert( 
const wxString& aFile, 
int aLine, 
const wxString& aFunc,
 
  334                       const wxString& aCond, 
const wxString& aMsg );
 
  360    void PreloadDesignBlockLibraries( 
KIWAY* aKiway );
 
  380#ifdef KICAD_USE_SENTRY 
  382    wxString sentryCreateUid();
 
  397    std::unique_ptr<API_PLUGIN_MANAGER> m_plugin_manager;
 
  398    std::unique_ptr<KICAD_API_SERVER> m_api_server;
 
  413#ifdef KICAD_USE_SENTRY 
  414    wxFileName      m_sentry_optin_fn;
 
  415    wxFileName      m_sentry_uid_fn;
 
  416    wxString        m_sentryUid;
 
 
Responsible for loading plugin definitions for API-based plugins (ones that do not run inside KiCad i...
 
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
 
Container for data for KiCad programs.
 
std::unique_ptr< NOTIFICATIONS_MANAGER > m_notifications_manager
 
std::unique_ptr< LIBRARY_MANAGER > m_library_manager
 
bool m_Printing
wxWidgets on MSW tends to crash if you spool up more than one print job at a time.
 
void setLanguageId(int aId)
Trap all changes in here, simplifies debugging.
 
virtual void MacOpenFile(const wxString &aFileName)=0
Specific to MacOSX (not used under Linux or Windows).
 
std::unique_ptr< SETTINGS_MANAGER > m_settings_manager
 
void loadCommonSettings()
Load internal settings from COMMON_SETTINGS.
 
virtual void SetPdfBrowserName(const wxString &aFileName)
 
wxSplashScreen * m_splash
 
std::unique_ptr< wxSingleInstanceChecker > & SingleInstance()
Allow access to the wxSingleInstanceChecker to test for other running KiCads.
 
virtual BACKGROUND_JOBS_MONITOR & GetBackgroundJobMonitor() const
 
bool InitPgm(bool aHeadless=false, bool aSkipPyInit=false, bool aIsUnitTest=false)
Initialize this program.
 
virtual const wxString & GetKicadEnvVariable() const
 
char ** m_argvUtf8
argv parameters converted to utf8 form because wxWidgets has opinions.
 
virtual bool UseSystemPdfBrowser() const
 
bool IsGUI()
Determine if the application is running with a GUI.
 
bool m_use_system_pdf_browser
 
std::future< void > m_libraryPreloadReturn
 
virtual NOTIFICATIONS_MANAGER & GetNotificationsManager() const
 
std::shared_ptr< BACKGROUND_JOB > m_libraryPreloadBackgroundJob
 
void BuildArgvUtf8()
Builds the UTF8 based argv variable.
 
virtual const wxString & GetPdfBrowserName() const
 
std::atomic_bool m_libraryPreloadAbort
 
BS::thread_pool< 0 > & GetThreadPool()
 
std::unique_ptr< wxSingleInstanceChecker > m_pgm_checker
Check if there is another copy of Kicad running at the same time.
 
virtual int GetSelectedLanguageIdentifier() const
 
wxString m_pdf_browser
Filename of the app selected for browsing PDFs.
 
std::vector< void * > m_ModalDialogs
 
wxString m_kicad_env
The KICAD system environment variable.
 
virtual void ForceSystemPdfBrowser(bool aFlg)
Force the use of system PDF browser, even if a preferred PDF browser is set.
 
GL_CONTEXT_MANAGER * GetGLContextManager()
 
std::atomic_bool m_libraryPreloadInProgress
 
std::unique_ptr< SCRIPTING > m_python_scripting
 
std::unique_ptr< BACKGROUND_JOBS_MONITOR > m_background_jobs_monitor
 
void HandleException(std::exception_ptr aPtr)
A exception handler to be used at the top level if exceptions bubble up that for.
 
void HandleAssert(const wxString &aFile, int aLine, const wxString &aFunc, const wxString &aCond, const wxString &aMsg)
A common assert handler to be used between single_top and kicad.
 
virtual wxLocale * GetLocale()
 
virtual SETTINGS_MANAGER & GetSettingsManager() const
 
virtual bool IsKicadEnvVariableDefined() const
 
virtual LIBRARY_MANAGER & GetLibraryManager() const
 
void SaveCommonSettings()
Save the program (process) settings subset which are stored .kicad_common.
 
bool m_PropertyGridInitialized
 
static const wxChar workingDirKey[]
 
KICAD_SINGLETON m_singleton
 
std::map< wxString, ENV_VAR_ITEM > ENV_VAR_MAP
 
LANGUAGE_DESCR LanguagesList[]
An array containing all the languages that KiCad supports.
 
KICOMMON_API PGM_BASE * PgmOrNull()
Return a reference that can be nullptr when running a shared lib from a script, not from a kicad app.
 
KICOMMON_API void SetPgm(PGM_BASE *pgm)
 
KICOMMON_API PGM_BASE & Pgm()
The global program "get" accessor.
 
A small class to handle the list of existing translations.
 
int m_KI_Lang_Identifier
KiCad identifier used in menu selection (See id.h)
 
bool m_DoNotTranslate
Set to true if the m_Lang_Label must not be translated.
 
wxString m_Lang_Label
Labels used in menus.
 
int m_WX_Lang_Identifier
wxWidgets locale identifier (See wxWidgets doc)