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-2018 KiCad Developers, see AUTHORS.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 wxWindow;
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;
57 class PCB_EDIT_FRAME;
59 class FP_LIB_TABLE;
60 class BOARD;
61 class PCB_PLOT_PARAMS;
62 class KIWAY;
63 
64 
73 void InvokePcbLibTableEditor( KIWAY* aKiway, wxWindow* aCaller );
74 
82 void Invoke3DShapeLibsDownloaderWizard( wxWindow* aCaller );
83 
84 
95 void InvokePluginOptionsEditor( wxWindow* aCaller, const wxString& aNickname,
96  const wxString& aPluginType, const wxString& aOptions, wxString* aResult );
97 
106 
115 bool InvokeDXFDialogModuleImport( PCB_BASE_FRAME* aCaller, MODULE* aModule );
116 
124 bool InvokeExportSVG( PCB_BASE_FRAME* aCaller, BOARD* aBoard );
125 
126 #endif // INVOKE_A_DIALOG_H_
bool InvokeExportSVG(PCB_BASE_FRAME *aCaller, BOARD *aBoard)
Function InvokeExportSVG shows the Export SVG dialog.
void InvokePcbLibTableEditor(KIWAY *aKiway, wxWindow *aCaller)
Function InvokePcbLibTableEditor shows the modal DIALOG_FP_LIB_TABLE for purposes of editing the glob...
bool InvokeDXFDialogBoardImport(PCB_BASE_FRAME *aCaller)
Function InvokeDXFDialogBoardImport shows the modal DIALOG_DXF_IMPORT for importing a DXF file to a b...
void Invoke3DShapeLibsDownloaderWizard(wxWindow *aCaller)
Function Invoke3DShapeLibsDownloaderWizard Runs the downloader wizard for easy 3D shape libraries dow...
Class KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within...
Definition: kiway.h:258
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:170
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 c...
Class PCB_EDIT_FRAME is the main frame for Pcbnew.
class PCB_BASE_FRAME basic PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer...