15DIALOG_EXPORT_STEP_BASE::DIALOG_EXPORT_STEP_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
17 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
21 bSizerTop =
new wxBoxSizer( wxHORIZONTAL );
23 m_txtBrdFile =
new wxStaticText(
this, wxID_ANY,
_(
"File:"), wxDefaultPosition, wxDefaultSize, 0 );
27 m_outputFileName =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
28 m_outputFileName->SetToolTip(
_(
"Enter a filename if you do not want to use default file names\nCan be used only when printing the current sheet") );
40 bSizer2 =
new wxBoxSizer( wxHORIZONTAL );
42 wxStaticBoxSizer* sbCoordinates;
43 sbCoordinates =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Coordinates") ), wxVERTICAL );
45 m_rbDrillAndPlotOrigin =
new wxRadioButton( sbCoordinates->GetStaticBox(), wxID_ANY,
_(
"Drill/place file origin"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
48 m_rbGridOrigin =
new wxRadioButton( sbCoordinates->GetStaticBox(), wxID_ANY,
_(
"Grid origin"), wxDefaultPosition, wxDefaultSize, 0 );
51 m_rbUserDefinedOrigin =
new wxRadioButton( sbCoordinates->GetStaticBox(), wxID_ANY,
_(
"User defined origin"), wxDefaultPosition, wxDefaultSize, 0 );
54 m_rbBoardCenterOrigin =
new wxRadioButton( sbCoordinates->GetStaticBox(), wxID_ANY,
_(
"Board center origin"), wxDefaultPosition, wxDefaultSize, 0 );
58 bSizer2->Add( sbCoordinates, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
60 wxStaticBoxSizer* sbUserDefinedOrigin;
61 sbUserDefinedOrigin =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"User Defined Origin") ), wxVERTICAL );
63 wxFlexGridSizer* fgSizer1;
64 fgSizer1 =
new wxFlexGridSizer( 0, 2, 5, 0 );
65 fgSizer1->SetFlexibleDirection( wxBOTH );
66 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
68 m_staticTextUnits =
new wxStaticText( sbUserDefinedOrigin->GetStaticBox(), wxID_ANY,
_(
"Units:"), wxDefaultPosition, wxDefaultSize, 0 );
72 wxString m_STEP_OrgUnitChoiceChoices[] = {
_(
"mm"),
_(
"inch") };
73 int m_STEP_OrgUnitChoiceNChoices =
sizeof( m_STEP_OrgUnitChoiceChoices ) /
sizeof( wxString );
74 m_STEP_OrgUnitChoice =
new wxChoice( sbUserDefinedOrigin->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_STEP_OrgUnitChoiceNChoices, m_STEP_OrgUnitChoiceChoices, 0 );
78 m_staticTextXpos =
new wxStaticText( sbUserDefinedOrigin->GetStaticBox(), wxID_ANY,
_(
"X position:"), wxDefaultPosition, wxDefaultSize, 0 );
82 m_STEP_Xorg =
new TEXT_CTRL_EVAL( sbUserDefinedOrigin->GetStaticBox(), wxID_ANY,
_(
"0"), wxDefaultPosition, wxDefaultSize, 0 );
91 fgSizer1->Add(
m_STEP_Xorg, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
93 m_staticTextYpos =
new wxStaticText( sbUserDefinedOrigin->GetStaticBox(), wxID_ANY,
_(
"Y position:"), wxDefaultPosition, wxDefaultSize, 0 );
97 m_STEP_Yorg =
new TEXT_CTRL_EVAL( sbUserDefinedOrigin->GetStaticBox(), wxID_ANY,
_(
"0"), wxDefaultPosition, wxDefaultSize, 0 );
106 fgSizer1->Add(
m_STEP_Yorg, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
109 sbUserDefinedOrigin->Add( fgSizer1, 1, wxEXPAND, 5 );
112 bSizer2->Add( sbUserDefinedOrigin, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
114 wxStaticBoxSizer* sbOtherOptions;
115 sbOtherOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Other Options") ), wxVERTICAL );
117 m_cbRemoveDNP =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Ignore 'Do not populate' components"), wxDefaultPosition, wxDefaultSize, 0 );
118 m_cbRemoveDNP->SetToolTip(
_(
"Do not show components marked 'Do not populate'") );
120 sbOtherOptions->Add(
m_cbRemoveDNP, 0, wxBOTTOM|wxRIGHT, 5 );
122 m_cbRemoveUnspecified =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Ignore 'Unspecified' components"), wxDefaultPosition, wxDefaultSize, 0 );
127 m_cbSubstModels =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Substitute similarly named models"), wxDefaultPosition, wxDefaultSize, 0 );
128 m_cbSubstModels->SetToolTip(
_(
"Replace VRML models with STEP models of the same name") );
132 m_cbOverwriteFile =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Overwrite old file"), wxDefaultPosition, wxDefaultSize, 0 );
135 m_staticline11_hidden =
new wxStaticLine( sbOtherOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
140 m_cbOptimizeStep =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Optimize STEP file"), wxDefaultPosition, wxDefaultSize, 0 );
141 m_cbOptimizeStep->SetToolTip(
_(
"Disables writing parametric curves. Optimizes file size and write/read times, but may reduce compatibility with other software.") );
145 m_cbExportCompound_hidden =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export as Compound shape"), wxDefaultPosition, wxDefaultSize, 0 );
147 m_cbExportCompound_hidden->SetToolTip(
_(
"Merges all shapes into a single Compound shape. Useful for external software that does de-duplication based on shape names.") );
151 m_staticline1 =
new wxStaticLine( sbOtherOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
152 sbOtherOptions->Add(
m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
154 m_cbExportBody =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export board body"), wxDefaultPosition, wxDefaultSize, 0 );
157 m_cbExportComponents =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export components"), wxDefaultPosition, wxDefaultSize, 0 );
160 m_cbExportTracks =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export tracks, pads and vias"), wxDefaultPosition, wxDefaultSize, 0 );
161 m_cbExportTracks->SetToolTip(
_(
"Export tracks, pads and vias on external copper layers.") );
165 m_cbExportZones =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export zones"), wxDefaultPosition, wxDefaultSize, 0 );
166 m_cbExportZones->SetToolTip(
_(
"Export zones on external copper layers.") );
170 m_cbExportInnerCopper =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export inner copper layers"), wxDefaultPosition, wxDefaultSize, 0 );
173 m_cbFuseShapes =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Fuse shapes (time consuming)"), wxDefaultPosition, wxDefaultSize, 0 );
174 m_cbFuseShapes->SetToolTip(
_(
"Combine intersecting geometry into one shape.") );
178 m_cbExportSilkscreen_hidden =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
184 m_cbExportSoldermask_hidden =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
190 m_cbExportSolderpaste_hidden =
new wxCheckBox( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Export solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
196 m_staticTextNetFilter =
new wxStaticText( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Net filter (supports wildcards):"), wxDefaultPosition, wxDefaultSize, 0 );
200 m_txtNetFilter =
new wxTextCtrl( sbOtherOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
201 m_txtNetFilter->SetToolTip(
_(
"Only copper items belonging to nets matching this filter will be exported.") );
205 m_staticTextTolerance =
new wxStaticText( sbOtherOptions->GetStaticBox(), wxID_ANY,
_(
"Board outline chaining tolerance:"), wxDefaultPosition, wxDefaultSize, 0 );
209 wxString m_choiceToleranceChoices[] = {
_(
"Tight (0.001 mm)"),
_(
"Standard (0.01 mm)"),
_(
"Loose (0.1 mm)") };
210 int m_choiceToleranceNChoices =
sizeof( m_choiceToleranceChoices ) /
sizeof( wxString );
211 m_choiceTolerance =
new wxChoice( sbOtherOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceToleranceNChoices, m_choiceToleranceChoices, 0 );
213 m_choiceTolerance->SetToolTip(
_(
"Tolerance sets the distance between two points that are considered joined when building the board outlines.") );
218 bSizer2->Add( sbOtherOptions, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 );
223 wxBoxSizer* bSizer81;
224 bSizer81 =
new wxBoxSizer( wxHORIZONTAL );
227 bSizerSTEPFile->Add( bSizer81, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 10 );
243 this->Centre( wxBOTH );
wxStdDialogButtonSizer * m_sdbSizer
virtual void onUpdateUnits(wxUpdateUIEvent &event)
wxCheckBox * m_cbExportTracks
wxCheckBox * m_cbSubstModels
TEXT_CTRL_EVAL * m_STEP_Xorg
wxCheckBox * m_cbExportCompound_hidden
TEXT_CTRL_EVAL * m_STEP_Yorg
wxRadioButton * m_rbGridOrigin
wxStaticText * m_txtBrdFile
wxStaticLine * m_staticline1
wxCheckBox * m_cbExportBody
wxCheckBox * m_cbRemoveUnspecified
wxCheckBox * m_cbOverwriteFile
wxStaticText * m_staticTextYpos
wxStaticLine * m_staticline11_hidden
wxStaticText * m_staticTextUnits
wxStaticText * m_staticTextNetFilter
wxCheckBox * m_cbRemoveDNP
virtual void onBrowseClicked(wxCommandEvent &event)
wxBoxSizer * bSizerSTEPFile
wxCheckBox * m_cbExportComponents
wxStaticText * m_staticTextTolerance
wxCheckBox * m_cbOptimizeStep
wxStaticText * m_staticTextXpos
wxCheckBox * m_cbFuseShapes
wxRadioButton * m_rbBoardCenterOrigin
wxTextCtrl * m_outputFileName
wxCheckBox * m_cbExportInnerCopper
wxChoice * m_choiceTolerance
wxChoice * m_STEP_OrgUnitChoice
virtual void onExportButton(wxCommandEvent &event)
wxTextCtrl * m_txtNetFilter
wxCheckBox * m_cbExportSilkscreen_hidden
wxCheckBox * m_cbExportZones
wxButton * m_sdbSizerCancel
virtual void onUpdateXPos(wxUpdateUIEvent &event)
virtual void onUpdateYPos(wxUpdateUIEvent &event)
DIALOG_EXPORT_STEP_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Export STEP / BREP / XAO / GLTF"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxRadioButton * m_rbUserDefinedOrigin
wxCheckBox * m_cbExportSolderpaste_hidden
~DIALOG_EXPORT_STEP_BASE()
wxRadioButton * m_rbDrillAndPlotOrigin
wxCheckBox * m_cbExportSoldermask_hidden
STD_BITMAP_BUTTON * m_browseButton
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxTextCtrl wrapper to handle math expression evaluation.