12DIALOG_EXPORT_VRML_BASE::DIALOG_EXPORT_VRML_BASE( wxWindow* parent, wxWindowID 
id, 
const wxString& title, 
const wxPoint& pos, 
const wxSize& size, 
long style ) : 
DIALOG_SHIM( parent, id, title, pos, size, style )
 
   14    this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 
   17    bSizer1 = 
new wxBoxSizer( wxVERTICAL );
 
   19    wxBoxSizer* bUpperSizer;
 
   20    bUpperSizer = 
new wxBoxSizer( wxVERTICAL );
 
   22    m_staticText1 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"File name:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   24    bUpperSizer->Add( 
m_staticText1, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 
   26    m_filePicker = 
new wxFilePickerCtrl( 
this, wxID_ANY, wxEmptyString, 
_(
"Save VRML Board File"), 
_(
"*.wrl"), wxDefaultPosition, wxDefaultSize, wxFLP_SAVE|wxFLP_USE_TEXTCTRL );
 
   29    bUpperSizer->Add( 
m_filePicker, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
 
   31    m_staticText3 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Footprint 3D model path:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   33    bUpperSizer->Add( 
m_staticText3, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 
   35    m_SubdirNameCtrl = 
new wxTextCtrl( 
this, wxID_ANY, 
_(
"shapes3D"), wxDefaultPosition, wxDefaultSize, 0 );
 
   36    bUpperSizer->Add( 
m_SubdirNameCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   39    bSizer1->Add( bUpperSizer, 0, wxALL|wxEXPAND, 5 );
 
   41    wxBoxSizer* bSizerOptions;
 
   42    bSizerOptions = 
new wxBoxSizer( wxVERTICAL );
 
   44    m_cbUserDefinedOrigin = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"User defined origin"), wxDefaultPosition, wxDefaultSize, 0 );
 
   48    wxFlexGridSizer* fgSizerOptions;
 
   49    fgSizerOptions = 
new wxFlexGridSizer( 0, 3, 3, 0 );
 
   50    fgSizerOptions->AddGrowableCol( 1 );
 
   51    fgSizerOptions->SetFlexibleDirection( wxBOTH );
 
   52    fgSizerOptions->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
   54    m_xLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   56    fgSizerOptions->Add( 
m_xLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 
   58    m_VRML_Xref = 
new wxTextCtrl( 
this, wxID_ANY, 
_(
"0"), wxDefaultPosition, wxDefaultSize, 0 );
 
   67    fgSizerOptions->Add( 
m_VRML_Xref, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 
   69    m_xUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
   71    fgSizerOptions->Add( 
m_xUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
   73    m_yLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   75    fgSizerOptions->Add( 
m_yLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 
   77    m_VRML_Yref = 
new wxTextCtrl( 
this, wxID_ANY, 
_(
"0"), wxDefaultPosition, wxDefaultSize, 0 );
 
   86    fgSizerOptions->Add( 
m_VRML_Yref, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
 
   88    m_yUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
   90    fgSizerOptions->Add( 
m_yUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
   93    bSizerOptions->Add( fgSizerOptions, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
 
   96    bSizer7 = 
new wxBoxSizer( wxHORIZONTAL );
 
   98    m_unitsLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Units:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  100    bSizer7->Add( 
m_unitsLabel, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 
  102    wxString m_unitsChoiceChoices[] = { 
_(
"mm"), 
_(
"meter"), 
_(
"0.1 inch"), 
_(
"inch") };
 
  103    int m_unitsChoiceNChoices = 
sizeof( m_unitsChoiceChoices ) / 
sizeof( wxString );
 
  104    m_unitsChoice = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_unitsChoiceNChoices, m_unitsChoiceChoices, 0 );
 
  106    bSizer7->Add( 
m_unitsChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 
  109    bSizerOptions->Add( bSizer7, 0, wxEXPAND|wxTOP, 5 );
 
  112    bSizer1->Add( bSizerOptions, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 
  114    wxBoxSizer* bLowerSizer;
 
  115    bLowerSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
  118    bSizer4 = 
new wxBoxSizer( wxVERTICAL );
 
  120    m_cbRemoveDNP = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Ignore 'Do not populate' components"), wxDefaultPosition, wxDefaultSize, 0 );
 
  123    m_cbRemoveUnspecified = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Ignore 'Unspecified' components"), wxDefaultPosition, wxDefaultSize, 0 );
 
  126    m_cbCopyFiles = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Copy 3D model files to 3D model path"), wxDefaultPosition, wxDefaultSize, 0 );
 
  127    m_cbCopyFiles->SetToolTip( 
_(
"If checked: copy 3D models to the destination folder\nIf not checked: Embed 3D models in the VRML board file") );
 
  131    m_cbUseRelativePaths = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Use relative paths to model files in board VRML file"), wxDefaultPosition, wxDefaultSize, 0 );
 
  132    m_cbUseRelativePaths->SetToolTip( 
_(
"Use paths for model files in board VRML file relative to the VRML file") );
 
  137    bLowerSizer->Add( bSizer4, 2, wxEXPAND, 5 );
 
  140    bSizer1->Add( bLowerSizer, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
 
  143    bSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
 
  152    bSizer1->Add( 
m_sdbSizer, 0, wxEXPAND|wxALL, 5 );
 
  155    this->SetSizer( bSizer1 );
 
  157    bSizer1->Fit( 
this );