14DIALOG_EXPORT_IDF3_BASE::DIALOG_EXPORT_IDF3_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
16 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
18 wxBoxSizer* bSizerIDFFile;
19 bSizerIDFFile =
new wxBoxSizer( wxVERTICAL );
21 m_txtBrdFile =
new wxStaticText(
this, wxID_ANY,
_(
"File name:"), wxDefaultPosition, wxDefaultSize, 0 );
23 bSizerIDFFile->Add(
m_txtBrdFile, 0, wxTOP|wxRIGHT|wxLEFT, 10 );
25 m_filePickerIDF =
new wxFilePickerCtrl(
this, wxID_ANY, wxEmptyString,
_(
"Select an IDF export filename"),
_(
"*.emn"), wxDefaultPosition, wxSize( 450,-1 ), wxFLP_OVERWRITE_PROMPT|wxFLP_SAVE|wxFLP_USE_TEXTCTRL );
26 bSizerIDFFile->Add(
m_filePickerIDF, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 10 );
29 bSizer2 =
new wxBoxSizer( wxVERTICAL );
32 bSizer6 =
new wxBoxSizer( wxHORIZONTAL );
34 wxStaticBoxSizer* sbsGeneral;
35 sbsGeneral =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Board options") ), wxVERTICAL );
38 bSizer3 =
new wxBoxSizer( wxHORIZONTAL );
40 m_outputUnitsLabel =
new wxStaticText( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"Output units:"), wxDefaultPosition, wxDefaultSize, 0 );
44 wxString m_outputUnitsChoiceChoices[] = {
_(
"Millimeters"),
_(
"Mils") };
45 int m_outputUnitsChoiceNChoices =
sizeof( m_outputUnitsChoiceChoices ) /
sizeof( wxString );
46 m_outputUnitsChoice =
new wxChoice( sbsGeneral->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_outputUnitsChoiceNChoices, m_outputUnitsChoiceChoices, 0 );
51 sbsGeneral->Add( bSizer3, 0, wxEXPAND, 5 );
54 sbsGeneral->Add( 0, 20, 0, wxEXPAND, 5 );
57 bSizer5 =
new wxBoxSizer( wxVERTICAL );
59 m_staticText8 =
new wxStaticText( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"Coordinate Origin"), wxDefaultPosition, wxDefaultSize, 0 );
63 m_staticline1 =
new wxStaticLine( sbsGeneral->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
66 m_rbOriginBoardCenter =
new wxRadioButton( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"Board center origin"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
70 m_rbOriginDrill =
new wxRadioButton( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"Drill/place file origin"), wxDefaultPosition, wxDefaultSize, 0 );
73 m_rbOriginGrid =
new wxRadioButton( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"Grid origin"), wxDefaultPosition, wxDefaultSize, 0 );
76 m_rbOriginUser =
new wxRadioButton( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"User defined origin"), wxDefaultPosition, wxDefaultSize, 0 );
80 sbsGeneral->Add( bSizer5, 0, wxEXPAND, 5 );
82 wxGridBagSizer* gbSizer1;
83 gbSizer1 =
new wxGridBagSizer( 2, 3 );
84 gbSizer1->SetFlexibleDirection( wxBOTH );
85 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
87 m_xLabel =
new wxStaticText( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"X position:"), wxDefaultPosition, wxDefaultSize, 0 );
89 gbSizer1->Add(
m_xLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 23 );
100 gbSizer1->Add(
m_IDF_Xref, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
102 m_xUnits =
new wxStaticText( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
104 gbSizer1->Add(
m_xUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
106 m_yLabel =
new wxStaticText( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"Y position:"), wxDefaultPosition, wxDefaultSize, 0 );
108 gbSizer1->Add(
m_yLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 23 );
119 gbSizer1->Add(
m_IDF_Yref, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
121 m_yUnits =
new wxStaticText( sbsGeneral->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
123 gbSizer1->Add(
m_yUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
126 sbsGeneral->Add( gbSizer1, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
129 bSizer6->Add( sbsGeneral, 1, wxALL|wxEXPAND, 5 );
131 wxStaticBoxSizer* sbsComponents;
132 sbsComponents =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Component options") ), wxVERTICAL );
134 m_cbRemoveDNP =
new wxCheckBox( sbsComponents->GetStaticBox(), wxID_ANY,
_(
"Ignore 'Do not populate' components"), wxDefaultPosition, wxDefaultSize, 0 );
137 m_cbRemoveUnspecified =
new wxCheckBox( sbsComponents->GetStaticBox(), wxID_ANY,
_(
"Ignore 'Unspecified' components"), wxDefaultPosition, wxDefaultSize, 0 );
140 m_cbHeightFromModels =
new wxCheckBox( sbsComponents->GetStaticBox(), wxID_ANY,
_(
"Calculate component height from 3D models"), wxDefaultPosition, wxDefaultSize, 0 );
142 m_cbHeightFromModels->SetToolTip(
_(
"When enabled, any footprint with an explicit height not specified will be exported with the height from its tallest visible 3D model. When disabled, footprints without an explicit height will not be included in the IDF file.") );
146 wxBoxSizer* bSizer61;
147 bSizer61 =
new wxBoxSizer( wxHORIZONTAL );
149 m_stPartNumberField =
new wxStaticText( sbsComponents->GetStaticBox(), wxID_ANY,
_(
"Part number field:"), wxDefaultPosition, wxDefaultSize, 0 );
151 m_stPartNumberField->SetToolTip(
_(
"Which footprint field to export as the part number in the IDF library file") );
155 wxArrayString m_choicePartNumberFieldChoices;
156 m_choicePartNumberField =
new wxChoice( sbsComponents->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choicePartNumberFieldChoices, 0 );
158 m_choicePartNumberField->SetToolTip(
_(
"Which footprint field to export as the part number in the IDF library file") );
163 sbsComponents->Add( bSizer61, 0, wxEXPAND, 5 );
166 bSizer6->Add( sbsComponents, 1, wxALL|wxEXPAND, 5 );
169 bSizer2->Add( bSizer6, 0, wxALL|wxEXPAND, 5 );
171 wxStaticBoxSizer* sbSizer4;
172 sbSizer4 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Log") ), wxVERTICAL );
174 m_tcLog =
new wxTextCtrl( sbSizer4->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,80 ), wxTE_MULTILINE|wxTE_READONLY );
175 sbSizer4->Add(
m_tcLog, 1, wxEXPAND, 5 );
178 bSizer2->Add( sbSizer4, 1, wxALL|wxEXPAND, 5 );
181 bSizerIDFFile->Add( bSizer2, 1, wxEXPAND, 5 );
190 bSizerIDFFile->Add(
m_sdbSizer, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
193 this->SetSizer( bSizerIDFFile );
195 bSizerIDFFile->Fit(
this );
197 this->Centre( wxBOTH );