17DIALOG_EXPORT_ODBPP_BASE::DIALOG_EXPORT_ODBPP_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
19 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
21 wxBoxSizer* bMainSizer;
22 bMainSizer =
new wxBoxSizer( wxVERTICAL );
24 bSizerTop =
new wxBoxSizer( wxHORIZONTAL );
26 m_lblBrdFile =
new wxStaticText(
this, wxID_ANY,
_(
"File:"), wxDefaultPosition, wxDefaultSize, 0 );
30 m_outputFileName =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
40 bMainSizer->Add(
bSizerTop, 0, wxEXPAND|wxALL, 10 );
42 wxBoxSizer* bSizerMiddle;
43 bSizerMiddle =
new wxBoxSizer( wxHORIZONTAL );
45 wxBoxSizer* bSizerLeftCol;
46 bSizerLeftCol =
new wxBoxSizer( wxVERTICAL );
48 m_fileFormatLabel =
new wxStaticText(
this, wxID_ANY,
_(
"File Format"), wxDefaultPosition, wxDefaultSize, 0 );
52 m_staticline1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
55 wxGridBagSizer* gbSizer1;
56 gbSizer1 =
new wxGridBagSizer( 5, 5 );
57 gbSizer1->SetFlexibleDirection( wxBOTH );
58 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
60 m_lblUnits =
new wxStaticText(
this, wxID_ANY,
_(
"Units:"), wxDefaultPosition, wxDefaultSize, 0 );
62 gbSizer1->Add(
m_lblUnits, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
64 wxString m_choiceUnitsChoices[] = {
_(
"Millimeters"),
_(
"Inches") };
65 int m_choiceUnitsNChoices =
sizeof( m_choiceUnitsChoices ) /
sizeof( wxString );
66 m_choiceUnits =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitsNChoices, m_choiceUnitsChoices, 0 );
68 gbSizer1->Add(
m_choiceUnits, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 10 );
70 m_lblPrecision =
new wxStaticText(
this, wxID_ANY,
_(
"Precision:"), wxDefaultPosition, wxDefaultSize, 0 );
72 m_lblPrecision->SetToolTip(
_(
"The number of values following the decimal separator") );
74 gbSizer1->Add(
m_lblPrecision, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 15 );
76 m_precision =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 3, 16, 6 );
77 m_precision->SetToolTip(
_(
"The number of values following the decimal separator") );
79 gbSizer1->Add(
m_precision, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 10 );
81 m_lblVersion =
new wxStaticText(
this, wxID_ANY,
_(
"Version:"), wxDefaultPosition, wxDefaultSize, 0 );
83 gbSizer1->Add(
m_lblVersion, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
85 wxString m_versionChoiceChoices[] = {
_(
"8.1") };
86 int m_versionChoiceNChoices =
sizeof( m_versionChoiceChoices ) /
sizeof( wxString );
87 m_versionChoice =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_versionChoiceNChoices, m_versionChoiceChoices, 0 );
89 gbSizer1->Add(
m_versionChoice, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 10 );
91 m_refillZones =
new wxCheckBox(
this, wxID_ANY,
_(
"Refill zones before export"), wxDefaultPosition, wxDefaultSize, 0 );
93 m_refillZones->SetToolTip(
_(
"Refill zones before generating ODB++") );
95 gbSizer1->Add(
m_refillZones, wxGBPosition( 6, 0 ), wxGBSpan( 1, 2 ), wxTOP, 5 );
97 m_lblCompress =
new wxStaticText(
this, wxID_ANY,
_(
"Compression format:"), wxDefaultPosition, wxDefaultSize, 0 );
99 m_lblCompress->SetToolTip(
_(
"Select the format to compress the output ODB++ files") );
101 gbSizer1->Add(
m_lblCompress, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
103 wxString m_choiceCompressChoices[] = {
_(
"None"),
_(
"ZIP"),
_(
"TGZ") };
104 int m_choiceCompressNChoices =
sizeof( m_choiceCompressChoices ) /
sizeof( wxString );
105 m_choiceCompress =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), m_choiceCompressNChoices, m_choiceCompressChoices, 0 );
107 gbSizer1->Add(
m_choiceCompress, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
109 m_lblProductName =
new wxStaticText(
this, wxID_ANY,
_(
"Product name:"), wxDefaultPosition, wxDefaultSize, 0 );
111 gbSizer1->Add(
m_lblProductName, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
113 m_productName =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
116 gbSizer1->Add(
m_productName, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
118 m_lblOrigin =
new wxStaticText(
this, wxID_ANY,
_(
"Origin:"), wxDefaultPosition, wxDefaultSize, 0 );
120 gbSizer1->Add(
m_lblOrigin, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
122 wxString m_choiceOriginChoices[] = {
_(
"Absolute coordinates"),
_(
"Drill/place file origin"),
_(
"Grid origin") };
123 int m_choiceOriginNChoices =
sizeof( m_choiceOriginChoices ) /
sizeof( wxString );
124 m_choiceOrigin =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceOriginNChoices, m_choiceOriginChoices, 0 );
126 gbSizer1->Add(
m_choiceOrigin, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 10 );
129 gbSizer1->AddGrowableCol( 1 );
131 bSizerLeftCol->Add( gbSizer1, 1, wxEXPAND|wxTOP|wxRIGHT, 5 );
134 bSizerMiddle->Add( bSizerLeftCol, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 );
137 bSizerMiddle->Add( 10, 0, 0, wxEXPAND, 5 );
140 bSizerMiddle->Add(
m_contentPanel, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 );
143 bMainSizer->Add( bSizerMiddle, 0, wxEXPAND|wxBOTTOM, 5 );
145 m_layersLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Layers"), wxDefaultPosition, wxDefaultSize, 0 );
147 bMainSizer->Add(
m_layersLabel, 0, wxTOP|wxLEFT|wxRIGHT, 10 );
149 m_layersLine =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
150 bMainSizer->Add(
m_layersLine, 0, wxEXPAND|wxLEFT|wxRIGHT, 10 );
152 m_layers =
new WX_GRID(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
158 m_layers->EnableDragGridSize(
false );
168 m_layers->EnableDragColMove(
false );
169 m_layers->EnableDragColSize(
true );
170 m_layers->SetColLabelValue( 0, wxEmptyString );
171 m_layers->SetColLabelValue( 1,
_(
"KiCad Layer") );
172 m_layers->SetColLabelValue( 2,
_(
"ODB++ Name") );
173 m_layers->SetColLabelValue( 3,
_(
"Type") );
174 m_layers->SetColLabelValue( 4,
_(
"Context") );
175 m_layers->SetColLabelValue( 5,
_(
"Span / Reference") );
177 m_layers->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
180 m_layers->EnableDragRowSize(
false );
182 m_layers->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
187 m_layers->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
188 m_layers->SetMinSize( wxSize( 900,300 ) );
190 bMainSizer->Add(
m_layers, 1, wxEXPAND|wxLEFT|wxRIGHT, 10 );
207 this->SetSizer( bMainSizer );
209 bMainSizer->Fit(
this );
211 this->Centre( wxBOTH );