KiCad PCB EDA Suite
dialog_layers_select_to_pcb.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2011-2018 Jean-Pierre Charras jp.charras at wanadoo.fr
5  * Copyright (C) 1992-2018 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23  */
24 
29 #ifndef DIALOG_LAYERS_SELECT_TO_PCB_H_
30 #define DIALOG_LAYERS_SELECT_TO_PCB_H_
31 
33 
34 class GERBVIEW_FRAME;
35 
36 /*
37  * This dialog shows the gerber files loaded, and allows user to choose
38  * equivalence between gerber layers and pcb layers
39  */
41 {
42 private:
44  int m_gerberActiveLayersCount; // Number of initialized gerber layers
46  LAYER_NUM m_layersLookUpTable[GERBER_DRAWLAYERS_COUNT]; // Indexes Gerber layers to PCB file layers
47  // the last value in table is the number of copper layers
48  int m_buttonTable[int(GERBER_DRAWLAYERS_COUNT)+1]; // Indexes buttons to Gerber layers
49  wxStaticText* m_layersList[int(GERBER_DRAWLAYERS_COUNT)+1]; // Indexes text strings to buttons
50 
51 public: LAYERS_MAP_DIALOG( GERBVIEW_FRAME* parent );
53 
56 
57 private:
58  void initDialog();
60  void OnBrdLayersCountSelection( wxCommandEvent& event ) override;
61  void OnSelectLayer( wxCommandEvent& event );
62  void OnOkClick( wxCommandEvent& event ) override;
63 
64  void OnStoreSetup( wxCommandEvent& event ) override;
65  void OnGetSetup( wxCommandEvent& event ) override;
66  void OnResetClick( wxCommandEvent& event ) override;
67 
81  int findKnownGerbersLoaded( std::vector<int>& aGerber2KicadMapping );
82 
96  int findNumAltiumGerbersLoaded( std::vector<int>& aGerber2KicadMapping );
97 
111  int findNumKiCadGerbersLoaded( std::vector<int>& aGerber2KicadMapping );
112 
126  int findNumX2GerbersLoaded( std::vector<int>& aGerber2KicadMapping );
127 
128 
130 };
131 
132 #endif // DIALOG_LAYERS_SELECT_TO_PCB_H_
LAYERS_MAP_DIALOG(GERBVIEW_FRAME *parent)
void OnResetClick(wxCommandEvent &event) override
int m_buttonTable[int(GERBER_DRAWLAYERS_COUNT)+1]
void OnOkClick(wxCommandEvent &event) override
#define GERBER_DRAWLAYERS_COUNT
Class LAYERS_MAP_DIALOG_BASE.
wxStaticText * m_layersList[int(GERBER_DRAWLAYERS_COUNT)+1]
int findNumKiCadGerbersLoaded(std::vector< int > &aGerber2KicadMapping)
Finds number of loaded Gerbers using KiCad naming convention.
LAYER_NUM m_layersLookUpTable[GERBER_DRAWLAYERS_COUNT]
int LAYER_NUM
This can be replaced with int and removed.
int findNumAltiumGerbersLoaded(std::vector< int > &aGerber2KicadMapping)
Finds number of loaded Gerbers using Altium file extensions.
void OnBrdLayersCountSelection(wxCommandEvent &event) override
void OnGetSetup(wxCommandEvent &event) override
int findNumX2GerbersLoaded(std::vector< int > &aGerber2KicadMapping)
Finds number of loaded Gerbers using X2 File Functions to define layers.
int findKnownGerbersLoaded(std::vector< int > &aGerber2KicadMapping)
Finds number of loaded Gerbers where the matching KiCad layer can be identified.
void OnSelectLayer(wxCommandEvent &event)
void OnStoreSetup(wxCommandEvent &event) override