KiCad PCB EDA Suite
invoke_pcb_dialog.h File Reference

Go to the source code of this file.

Functions

void InvokePcbLibTableEditor (KIWAY *aKiway, wxWindow *aCaller)
 Function InvokePcbLibTableEditor shows the modal DIALOG_FP_LIB_TABLE for purposes of editing the global and project library tables. More...
 
void Invoke3DShapeLibsDownloaderWizard (wxWindow *aCaller)
 Function Invoke3DShapeLibsDownloaderWizard Runs the downloader wizard for easy 3D shape libraries download from the official Kicad Github repository of *.3Dshape libraries. More...
 
void InvokePluginOptionsEditor (wxWindow *aCaller, const wxString &aNickname, const wxString &aPluginType, const wxString &aOptions, wxString *aResult)
 Function InvokePluginOptionsEditor calls DIALOG_FP_PLUGIN_OPTIONS dialog so that plugin options set can be edited. More...
 
bool InvokeExportSVG (PCB_EDIT_FRAME *aCaller, BOARD *aBoard)
 Function InvokeExportSVG shows the Export SVG dialog. More...
 

Function Documentation

◆ Invoke3DShapeLibsDownloaderWizard()

void Invoke3DShapeLibsDownloaderWizard ( wxWindow *  aCaller)

Function Invoke3DShapeLibsDownloaderWizard Runs the downloader wizard for easy 3D shape libraries download from the official Kicad Github repository of *.3Dshape libraries.

Parameters
aCalleris the wxWindow which is invoking the dialog.

Definition at line 58 of file wizard_3DShape_Libs_downloader.cpp.

59 {
60  WIZARD_3DSHAPE_LIBS_DOWNLOADER wizard( aCaller );
61  wizard.RunWizard( wizard.GetFirstPage() );
62 }

References WIZARD_3DSHAPE_LIBS_DOWNLOADER::GetFirstPage().

Referenced by PCB_EDIT_FRAME::On3DShapeLibWizard().

◆ InvokeExportSVG()

bool InvokeExportSVG ( PCB_EDIT_FRAME aCaller,
BOARD aBoard 
)

Function InvokeExportSVG shows the Export SVG dialog.

Parameters
aCalleris the PCB_EDIT_FRAME which is invoking the dialog.
aBoardis the currently edited board.
Returns
bool - true if user pressed OK (did not abort), else false.

Definition at line 350 of file dialog_export_svg.cpp.

351 {
352  DIALOG_EXPORT_SVG dlg( aCaller, aBoard );
353 
354  dlg.ShowModal();
355 
356  return true;
357 }

Referenced by PCB_EDIT_FRAME::ExportSVG().

◆ InvokePcbLibTableEditor()

void InvokePcbLibTableEditor ( KIWAY aKiway,
wxWindow *  aCaller 
)

Function InvokePcbLibTableEditor shows the modal DIALOG_FP_LIB_TABLE for purposes of editing the global and project library tables.

Parameters
aCalleris the wxWindow which is invoking the dialog.
Returns
true if either table changed.

Definition at line 1023 of file panel_fp_lib_table.cpp.

1024 {
1025  FP_LIB_TABLE* globalTable = &GFootprintTable;
1026  wxString globalTablePath = FP_LIB_TABLE::GetGlobalTableFileName();
1027  FP_LIB_TABLE* projectTable = aKiway->Prj().PcbFootprintLibs();
1028  wxString projectTablePath = aKiway->Prj().FootprintLibTblName();
1029  wxString msg;
1030 
1031  DIALOG_EDIT_LIBRARY_TABLES dlg( aCaller, _( "Footprint Libraries" ) );
1032  dlg.SetKiway( &dlg, aKiway );
1033 
1034  if( aKiway->Prj().IsNullProject() )
1035  projectTable = nullptr;
1036 
1037  dlg.InstallPanel( new PANEL_FP_LIB_TABLE( &dlg, globalTable, globalTablePath,
1038  projectTable, projectTablePath,
1039  aKiway->Prj().GetProjectPath() ) );
1040 
1041  if( dlg.ShowModal() == wxID_CANCEL )
1042  return;
1043 
1044  if( dlg.m_GlobalTableChanged )
1045  {
1046  try
1047  {
1048  globalTable->Save( globalTablePath );
1049  }
1050  catch( const IO_ERROR& ioe )
1051  {
1052  msg.Printf( _( "Error saving global library table:\n\n%s" ), ioe.What() );
1053  wxMessageBox( msg, _( "File Save Error" ), wxOK | wxICON_ERROR );
1054  }
1055  }
1056 
1057  if( projectTable && dlg.m_ProjectTableChanged )
1058  {
1059  try
1060  {
1061  projectTable->Save( projectTablePath );
1062  }
1063  catch( const IO_ERROR& ioe )
1064  {
1065  msg.Printf( _( "Error saving project-specific library table:\n\n%s" ), ioe.What() );
1066  wxMessageBox( msg, _( "File Save Error" ), wxOK | wxICON_ERROR );
1067  }
1068  }
1069 
1070  auto editor = (FOOTPRINT_EDIT_FRAME*) aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
1071 
1072  if( editor )
1073  editor->SyncLibraryTree( true );
1074 
1075  auto viewer = (FOOTPRINT_VIEWER_FRAME*) aKiway->Player( FRAME_FOOTPRINT_VIEWER, false );
1076 
1077  if( viewer )
1078  viewer->ReCreateLibraryList();
1079 }
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:172
FP_LIB_TABLE GFootprintTable
!!!!!!!!!!!!!! This code is obsolete because of the merge into pcbnew, don't bother with it.
Component library viewer main window.
VTBL_ENTRY const wxString GetProjectPath() const
Function GetProjectPath returns the full path of the project.
Definition: project.cpp:123
VTBL_ENTRY KIWAY_PLAYER * Player(FRAME_T aFrameType, bool doCreate=true, wxTopLevelWindow *aParent=NULL)
Function Player returns the KIWAY_PLAYER* given a FRAME_T.
Definition: kiway.cpp:342
virtual const wxString What() const
A composite of Problem() and Where()
Definition: exceptions.cpp:29
VTBL_ENTRY bool IsNullProject() const
Checks if this project is a null project (i.e.
Definition: project.cpp:135
VTBL_ENTRY FP_LIB_TABLE * PcbFootprintLibs(KIWAY &aKiway)
Return the table of footprint libraries.
Definition: project.cpp:291
#define _(s)
Definition: 3d_actions.cpp:33
void Save(const wxString &aFileName) const
Write this library table to aFileName in s-expression form.
Dialog to show and edit symbol library tables.
Struct IO_ERROR is a class used to hold an error message and may be used when throwing exceptions con...
Definition: ki_exception.h:76
VTBL_ENTRY const wxString FootprintLibTblName() const
Function FootprintLibTblName returns the path and filename of this project's fp-lib-table,...
Definition: project.cpp:147
static wxString GetGlobalTableFileName()
Function GetGlobalTableFileName.

References _, PROJECT::FootprintLibTblName(), FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_VIEWER, FP_LIB_TABLE::GetGlobalTableFileName(), PROJECT::GetProjectPath(), GFootprintTable, DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), PROJECT::IsNullProject(), DIALOG_EDIT_LIBRARY_TABLES::m_GlobalTableChanged, DIALOG_EDIT_LIBRARY_TABLES::m_ProjectTableChanged, PROJECT::PcbFootprintLibs(), KIWAY::Player(), KIWAY::Prj(), LIB_TABLE::Save(), KIWAY_HOLDER::SetKiway(), and IO_ERROR::What().

Referenced by PCB::IFACE::CreateWindow().

◆ InvokePluginOptionsEditor()

void InvokePluginOptionsEditor ( wxWindow *  aCaller,
const wxString &  aNickname,
const wxString &  aPluginType,
const wxString &  aOptions,
wxString *  aResult 
)

Function InvokePluginOptionsEditor calls DIALOG_FP_PLUGIN_OPTIONS dialog so that plugin options set can be edited.

Parameters
aCalleris the wxTopLevelWindow which is invoking the dialog.
aNicknameis the footprint library whose options are being edited.
aPluginTypeis something that will pass through IO_MGR::EnumFromStr().
aOptionsis the options string on calling into this function.
aResultis where to put the result of the editing.

Definition at line 292 of file dialog_fp_plugin_options.cpp.

295 {
296  DIALOG_FP_PLUGIN_OPTIONS dlg( aCaller, aNickname, aPluginType, aOptions, aResult );
297 
298  dlg.ShowModal();
299 }
DIALOG_FP_PLUGIN_OPTIONS is an options editor in the form of a two column name/value spreadsheet like...

Referenced by FP_GRID_TRICKS::optionsEditor().