46#define URL_GET_INVOLVED wxS( "https://go.kicad.org/contribute/" )
47#define URL_DONATE wxS( "https://go.kicad.org/app-donate" )
48#define URL_DOCUMENTATION wxS( "https://go.kicad.org/docs/" )
53 wxS(
"https://gitlab.com/kicad/code/kicad/-/issues/new?issuable_template=bare&issue"
66 m_frame = getEditFrame<EDA_BASE_FRAME>();
158 if( aFrame->IsIconized() )
159 aFrame->Iconize(
false );
165 if( wxWindow::FindFocus() != aFrame )
171 blocking_win->Raise();
172 blocking_win->SetFocus();
183 wxCHECK_MSG(
editor !=
nullptr, 0, wxT(
"Cannot open/create the editor frame" ) );
203 wxMessageDialog(
m_frame,
_(
"Can not switch to project manager in stand-alone mode." ) );
217 +
Pgm().
GetLocale()->GetName().BeforeLast(
'_' ) + wxT(
"/" );
228 const wxChar* names[2] = {
229 wxT(
"getting_started_in_kicad" ),
230 wxT(
"Getting_Started_in_KiCad" )
235 for(
auto&
name : names )
239 if( !helpFile.IsEmpty() )
245 msg = wxString::Format(
_(
"Help file '%s' or\n'%s' could not be found.\n"
246 "Do you want to access the KiCad online help?" ),
247 names[0], names[1] );
248 wxMessageDialog dlg(
nullptr, msg,
_(
"File Not Found" ),
249 wxYES_NO | wxNO_DEFAULT | wxCANCEL );
251 if( dlg.ShowModal() != wxID_YES )
254 helpFile = baseUrl + names[0] + wxS(
"/" );
265 msg = wxString::Format(
_(
"Help file '%s' could not be found.\n"
266 "Do you want to access the KiCad online help?" ),
268 wxMessageDialog dlg(
nullptr, msg,
_(
"File Not Found" ),
269 wxYES_NO | wxNO_DEFAULT | wxCANCEL );
271 if( dlg.ShowModal() != wxID_YES )
274 helpFile = baseUrl + base_name + wxS(
"/" );
303 msg.Printf(
_(
"Could not launch the default browser.\n"
304 "For information on how to help the KiCad project, visit %s" ),
306 wxMessageBox( msg,
_(
"Get involved with KiCad" ), wxOK,
m_frame );
318 msg.Printf(
_(
"Could not launch the default browser.\n"
319 "To donate to the KiCad project, visit %s" ),
321 wxMessageBox( msg,
_(
"Donate to KiCad" ), wxOK,
m_frame );
342 wxLaunchDefaultBrowser( url_string );
void ShowAboutDialog(EDA_BASE_FRAME *aParent)
BASE_SCREEN class implementation.
wxString GetMajorMinorVersion()
Get only the major and minor version in a string major.minor.
wxString GetVersionInfoData(const wxString &aTitle, bool aHtml, bool aBrief)
Create a version info string for bug reports and the about dialog.
static TOOL_ACTION reportBug
static TOOL_ACTION showSymbolLibTable
static TOOL_ACTION showSymbolEditor
static TOOL_ACTION showSymbolBrowser
static TOOL_ACTION donate
static TOOL_ACTION listHotKeys
static TOOL_ACTION openPreferences
static TOOL_ACTION getInvolved
static TOOL_ACTION showFootprintLibTable
static TOOL_ACTION showDesignBlockLibTable
static TOOL_ACTION showFootprintEditor
static TOOL_ACTION configurePaths
static TOOL_ACTION showProjectManager
static TOOL_ACTION gettingStarted
static TOOL_ACTION showFootprintBrowser
int ConfigurePaths(const TOOL_EVENT &aEvent)
int ShowHelp(const TOOL_EVENT &aEvent)
EDA_BASE_FRAME * m_frame
< Pointer to the currently used edit frame.
int ShowLibraryTable(const TOOL_EVENT &aEvent)
int About(const TOOL_EVENT &aEvent)
int ListHotKeys(const TOOL_EVENT &aEvent)
static wxString m_bugReportUrl
URL to launch a new issue with pre-populated description.
int GetInvolved(const TOOL_EVENT &aEvent)
int ShowProjectManager(const TOOL_EVENT &aEvent)
int ReportBug(const TOOL_EVENT &aEvent)
Sets up handlers for various events.
int ShowPlayer(const TOOL_EVENT &aEvent)
int Donate(const TOOL_EVENT &aEvent)
void Reset(RESET_REASON aReason) override
Bring the tool to a known, initial state.
int OpenPreferences(const TOOL_EVENT &aEvent)
static wxString m_bugReportTemplate
Issue template to use for reporting bugs (this should not be translated)
void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
The base frame for deriving all KiCad main window classes.
virtual wxString help_name()
FRAME_T GetFrameType() const
const wxString & GetUntranslatedAboutTitle() const
void ShowPreferences(wxString aStartPage, wxString aStartParentPage)
Display the preferences and settings of all opened editors paged dialog, starting with a particular p...
std::string Escape(const std::string &aUrl)
Escapes a string for use as a URL.
PROJECT & Prj() const
Return a reference to the PROJECT associated with this KIWAY.
KIWAY & Kiway() const
Return a reference to the KIWAY that this object has an opportunity to participate in.
A wxFrame capable of the OpenProjectFiles function, meaning it can load a portion of a KiCad project.
virtual void CommonSettingsChanged(bool aEnvVarsChanged, bool aTextVarsChanged)
Call CommonSettingsChanged() on all KIWAY_PLAYERs.
virtual KIWAY_PLAYER * Player(FRAME_T aFrameType, bool doCreate=true, wxTopLevelWindow *aParent=nullptr)
Return the KIWAY_PLAYER* given a FRAME_T.
wxWindow * GetBlockingDialog()
Gets the window pointer to the blocking dialog (to send it signals)
virtual KIFACE * KiFACE(FACE_T aFaceId, bool doLoad=true)
Return the KIFACE* given a FACE_T.
virtual wxLocale * GetLocale()
bool WarnUserIfOperatingSystemUnsupported()
Checks if the operating system is explicitly unsupported and displays a disclaimer message box.
#define URL_DOCUMENTATION
void showFrame(EDA_BASE_FRAME *aFrame)
bool GetAssociatedDocument(wxWindow *aParent, const wxString &aDocName, PROJECT *aProject, SEARCH_STACK *aPaths, EMBEDDED_FILES *aFiles)
Open a document (file) with the suitable browser.
This file is part of the common library.
FRAME_T
The set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
@ DIALOG_PCB_LIBRARY_TABLE
@ DIALOG_SCH_LIBRARY_TABLE
@ DIALOG_DESIGN_BLOCK_LIBRARY_TABLE
void DisplayHotkeyList(EDA_BASE_FRAME *aParent)
Display the current hotkey list.
Common command IDs shared by more than one of the KiCad applications.
PGM_BASE & Pgm()
The global program "get" accessor.
wxString SearchHelpFileFullPath(const wxString &aBaseName)
Return the help file's full path.
wxWindow * CreateKiWindow(wxWindow *aParent, int aClassId, KIWAY *aKiway, int aCtlBits=0) override
Create a wxWindow for the current project.
Implement a participant in the KIWAY alchemy.
IFACE KIFACE_BASE kiface("pcb_test_frame", KIWAY::FACE_PCB)