KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_export_odbpp.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 The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#pragma once
21
25
26class PCB_EDIT_FRAME;
27
29{
30public:
32 DIALOG_EXPORT_ODBPP( JOB_EXPORT_PCB_ODB* aJob, PCB_EDIT_FRAME* aEditFrame, wxWindow* aParent );
33 ~DIALOG_EXPORT_ODBPP() override;
34
35private:
36 void onBrowseClicked( wxCommandEvent& event ) override;
37 void onFormatChoice( wxCommandEvent& event ) override;
38 void onOKClick( wxCommandEvent& event ) override;
39
43 void refreshLayerRows();
46 void setupControls();
47 void populateJob( JOB_EXPORT_PCB_ODB& aJob ) const;
48
49 bool TransferDataToWindow() override;
50 bool TransferDataFromWindow() override;
51
52private:
55 std::vector<ODB_LAYER_OVERRIDE> m_layerOverrides;
56 std::vector<ODB_MATRIX_PREVIEW_ROW> m_previewRows;
57 bool m_autoVariantSuffix = false;
58};
DIALOG_EXPORT_ODBPP_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Export ODB++"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
bool TransferDataFromWindow() override
std::vector< ODB_MATRIX_PREVIEW_ROW > m_previewRows
void onFormatChoice(wxCommandEvent &event) override
std::vector< ODB_LAYER_OVERRIDE > m_layerOverrides
bool TransferDataToWindow() override
void populateJob(JOB_EXPORT_PCB_ODB &aJob) const
void onBrowseClicked(wxCommandEvent &event) override
JOB_EXPORT_PCB_ODB * m_job
DIALOG_EXPORT_ODBPP(PCB_EDIT_FRAME *aParent)
PCB_EDIT_FRAME * m_parent
void harvestLayerOverrides()
Fold the grid's edits for the rows on screen into the layer overrides.
void onOKClick(wxCommandEvent &event) override
The main frame for Pcbnew.