KiCad PCB EDA Suite
invoke_pcb_dialog.h
Go to the documentation of this file.
1 
5 /* This program source code file is part of KiCad, a free EDA CAD application.
6  *
7  * Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
8  * Copyright (C) 2013-2016 KiCad Developers, see change_log.txt for contributors.
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, you may find one here:
22  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
23  * or you may search the http://www.gnu.org website for the version 2 license,
24  * or you may write to the Free Software Foundation, Inc.,
25  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
26  */
27 
28 // This header is an insolation layer between top most frames and any number of
29 // DIALOG classes which can be called from a frame window.
30 // It is a place to put invocation functions for [modal] dialogs, with benefits:
31 //
32 // 1) The information about each dialog class is not exposed to the frame.
33 // So therefore the DIALOG class can often be kept out of a header file entirely.
34 //
35 // 2) The information about the calling frame is not necessarily exposed to
36 // to the called dialog class, at least not in here.
37 
38 // The actual InvokeDialog<class>() function is usually coded at the bottom of the
39 // DIALOG_<class>.cpp file.
40 
41 
42 #ifndef INVOKE_A_DIALOG_H_
43 #define INVOKE_A_DIALOG_H_
44 
45 
46 class wxTopLevelWindow;
47 class wxPoint;
48 class wxSize;
49 class wxString;
50 
51 class BOARD;
52 class MODULE;
53 
54 // Often this is not used in the prototypes, since wxFrame is good enough and would
55 // represent maximum information hiding.
56 class PCB_BASE_FRAME;
58 class FP_LIB_TABLE;
59 class BOARD;
60 class PCB_PLOT_PARAMS;
61 
62 
74 int InvokePcbLibTableEditor( wxTopLevelWindow* aCaller, FP_LIB_TABLE* aGlobal,
75  FP_LIB_TABLE* aProject );
76 
92 int InvokeFootprintWizard( wxTopLevelWindow* aCaller, FP_LIB_TABLE* aGlobal,
93  FP_LIB_TABLE* aProject );
94 
102 void Invoke3DShapeLibsDownloaderWizard( wxTopLevelWindow* aCaller );
103 
104 
115 void InvokePluginOptionsEditor( wxTopLevelWindow* aCaller, const wxString& aNickname,
116  const wxString& aPluginType, const wxString& aOptions, wxString* aResult );
117 
126 
135 bool InvokeDXFDialogModuleImport( PCB_BASE_FRAME* aCaller, MODULE* aModule );
136 
144 bool InvokeLayerSetup( wxTopLevelWindow* aCaller, BOARD* aBoard );
145 
154 bool InvokeSVGPrint( wxTopLevelWindow* aCaller, BOARD* aBoard, PCB_PLOT_PARAMS* aSettings );
155 
163 
164 #endif // INVOKE_A_DIALOG_H_
void Invoke3DShapeLibsDownloaderWizard(wxTopLevelWindow *aCaller)
Function Invoke3DShapeLibsDownloaderWizard Runs the downloader wizard for easy 3D shape libraries dow...
bool InvokeSVGPrint(wxTopLevelWindow *aCaller, BOARD *aBoard, PCB_PLOT_PARAMS *aSettings)
Function InvokeSVGPrint shows the SVG print dialog.
bool InvokeDXFDialogBoardImport(PCB_BASE_FRAME *aCaller)
Function InvokeDXFDialogBoardImport shows the modal DIALOG_DXF_IMPORT for importing a DXF file to a b...
bool InvokeLayerSetup(wxTopLevelWindow *aCaller, BOARD *aBoard)
Function InvokeLayerSetup shows the layer setup dialog.
bool InvokeDXFDialogModuleImport(PCB_BASE_FRAME *aCaller, MODULE *aModule)
Function InvokeDXFDialogModuleImport shows the modal DIALOG_DXF_IMPORT for importing a DXF file as fo...
Class PCB_PLOT_PARAMS handles plot parameters and options when plotting/printing a board...
Class BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:169
int InvokeFootprintWizard(wxTopLevelWindow *aCaller, FP_LIB_TABLE *aGlobal, FP_LIB_TABLE *aProject)
Function InvokeFootprintWizard Runs the footprint library wizard for easy library addition...
void InvokePluginOptionsEditor(wxTopLevelWindow *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 c...
class PCB_BASE_FRAME basic PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer...
bool InvokeFPEditorPrefsDlg(FOOTPRINT_EDIT_FRAME *aCaller)
Function InvokeSVGPrint shows the SVG print dialog.
int InvokePcbLibTableEditor(wxTopLevelWindow *aCaller, FP_LIB_TABLE *aGlobal, FP_LIB_TABLE *aProject)
Function InvokePcbLibTableEditor shows the modal DIALOG_FP_LIB_TABLE for purposes of editing two lib ...