12DIALOG_NONCOPPER_ZONES_PROPERTIES_BASE::DIALOG_NONCOPPER_ZONES_PROPERTIES_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 );
 
   16    wxBoxSizer* m_MainSizer;
 
   17    m_MainSizer = 
new wxBoxSizer( wxVERTICAL );
 
   19    wxBoxSizer* m_UpperSizer;
 
   20    m_UpperSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
   22    wxBoxSizer* bSizerLeft;
 
   23    bSizerLeft = 
new wxBoxSizer( wxVERTICAL );
 
   30    bSizerLeft->Add( 0, 2, 0, wxEXPAND, 5 );
 
   32    m_layers = 
new wxDataViewListCtrl( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_NO_HEADER|wxBORDER_SIMPLE );
 
   33    m_layers->SetMinSize( wxSize( 100,-1 ) );
 
   35    bSizerLeft->Add( 
m_layers, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   38    bSizerLeft->Add( 0, 5, 0, wxEXPAND, 5 );
 
   41    m_UpperSizer->Add( bSizerLeft, 1, wxEXPAND, 5 );
 
   43    wxBoxSizer* bSizerMiddle;
 
   44    bSizerMiddle = 
new wxBoxSizer( wxVERTICAL );
 
   46    wxStaticBoxSizer* sbShape;
 
   47    sbShape = 
new wxStaticBoxSizer( 
new wxStaticBox( 
this, wxID_ANY, 
_(
"Shape") ), wxVERTICAL );
 
   49    wxGridBagSizer* gbSizer1;
 
   50    gbSizer1 = 
new wxGridBagSizer( 0, 0 );
 
   51    gbSizer1->SetFlexibleDirection( wxBOTH );
 
   52    gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
   53    gbSizer1->SetEmptyCellSize( wxSize( -1,6 ) );
 
   55    m_cbLocked = 
new wxCheckBox( sbShape->GetStaticBox(), wxID_ANY, 
_(
"Locked"), wxDefaultPosition, wxDefaultSize, 0 );
 
   56    gbSizer1->Add( 
m_cbLocked, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
 
   58    m_staticTextStyle = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"Outline style:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   60    gbSizer1->Add( 
m_staticTextStyle, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 
   62    wxString m_OutlineDisplayCtrlChoices[] = { 
_(
"Line"), 
_(
"Hatched"), 
_(
"Fully hatched") };
 
   63    int m_OutlineDisplayCtrlNChoices = 
sizeof( m_OutlineDisplayCtrlChoices ) / 
sizeof( wxString );
 
   64    m_OutlineDisplayCtrl = 
new wxChoice( sbShape->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_OutlineDisplayCtrlNChoices, m_OutlineDisplayCtrlChoices, 0 );
 
   66    gbSizer1->Add( 
m_OutlineDisplayCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
   68    m_stBorderHatchPitchText = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"Outline hatch pitch:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   72    m_outlineHatchPitchCtrl = 
new wxTextCtrl( sbShape->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   73    gbSizer1->Add( 
m_outlineHatchPitchCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   75    m_outlineHatchUnits = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
   77    gbSizer1->Add( 
m_outlineHatchUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
   79    m_MinWidthLabel = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"Minimum width:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   81    gbSizer1->Add( 
m_MinWidthLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   83    m_MinWidthCtrl = 
new wxTextCtrl( sbShape->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   84    gbSizer1->Add( 
m_MinWidthCtrl, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 
   86    m_MinWidthUnits = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
   88    gbSizer1->Add( 
m_MinWidthUnits, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
   90    m_staticTextSmoothing = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"Corner smoothing:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   92    gbSizer1->Add( 
m_staticTextSmoothing, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
   94    wxString m_cornerSmoothingChoiceChoices[] = { 
_(
"None"), 
_(
"Chamfer"), 
_(
"Fillet") };
 
   95    int m_cornerSmoothingChoiceNChoices = 
sizeof( m_cornerSmoothingChoiceChoices ) / 
sizeof( wxString );
 
   96    m_cornerSmoothingChoice = 
new wxChoice( sbShape->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cornerSmoothingChoiceNChoices, m_cornerSmoothingChoiceChoices, 0 );
 
   98    gbSizer1->Add( 
m_cornerSmoothingChoice, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 
  100    m_cornerRadiusLabel = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"Chamfer distance:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  102    gbSizer1->Add( 
m_cornerRadiusLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  104    m_cornerRadiusCtrl = 
new wxTextCtrl( sbShape->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  105    gbSizer1->Add( 
m_cornerRadiusCtrl, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 
  107    m_cornerRadiusUnits = 
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
  109    gbSizer1->Add( 
m_cornerRadiusUnits, wxGBPosition( 6, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  112    gbSizer1->AddGrowableCol( 1 );
 
  114    sbShape->Add( gbSizer1, 0, wxEXPAND, 5 );
 
  117    bSizerMiddle->Add( sbShape, 0, wxEXPAND|wxBOTTOM, 5 );
 
  119    wxStaticBoxSizer* sbFill;
 
  120    sbFill = 
new wxStaticBoxSizer( 
new wxStaticBox( 
this, wxID_ANY, 
_(
"Fill") ), wxVERTICAL );
 
  122    wxFlexGridSizer* fgSizer1;
 
  123    fgSizer1 = 
new wxFlexGridSizer( 0, 3, 0, 0 );
 
  124    fgSizer1->AddGrowableCol( 1 );
 
  125    fgSizer1->SetFlexibleDirection( wxBOTH );
 
  126    fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  128    m_staticTextGridFillType = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"Fill type:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  132    wxString m_GridStyleCtrlChoices[] = { 
_(
"Solid fill"), 
_(
"Hatch pattern") };
 
  133    int m_GridStyleCtrlNChoices = 
sizeof( m_GridStyleCtrlChoices ) / 
sizeof( wxString );
 
  134    m_GridStyleCtrl = 
new wxChoice( sbFill->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_GridStyleCtrlNChoices, m_GridStyleCtrlChoices, 0 );
 
  136    fgSizer1->Add( 
m_GridStyleCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  139    fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
 
  141    m_hatchOrientLabel = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"Orientation:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  143    fgSizer1->Add( 
m_hatchOrientLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  145    m_hatchOrientCtrl = 
new wxTextCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  146    fgSizer1->Add( 
m_hatchOrientCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  148    m_hatchOrientUnits = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"degree"), wxDefaultPosition, wxDefaultSize, 0 );
 
  152    m_hatchWidthLabel = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"Hatch width:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  154    fgSizer1->Add( 
m_hatchWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  156    m_hatchWidthCtrl = 
new wxTextCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  157    fgSizer1->Add( 
m_hatchWidthCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  159    m_hatchWidthUnits = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
  161    fgSizer1->Add( 
m_hatchWidthUnits, 0, wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
  163    m_hatchGapLabel = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"Hatch gap:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  165    fgSizer1->Add( 
m_hatchGapLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  167    m_hatchGapCtrl = 
new wxTextCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  168    fgSizer1->Add( 
m_hatchGapCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  170    m_hatchGapUnits = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
 
  172    fgSizer1->Add( 
m_hatchGapUnits, 0, wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
  174    m_smoothLevelLabel = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"Smoothing effort:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  176    m_smoothLevelLabel->SetToolTip( 
_(
"Value of smoothing effort\n0 = no smoothing\n1 = chamfer\n2 = round corners\n3 = round corners (finer shape)") );
 
  178    fgSizer1->Add( 
m_smoothLevelLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  180    m_spinCtrlSmoothLevel = 
new wxSpinCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 3, 0 );
 
  181    fgSizer1->Add( 
m_spinCtrlSmoothLevel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  184    fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
 
  186    m_smoothValueLabel = 
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY, 
_(
"Smoothing amount:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  188    m_smoothValueLabel->SetToolTip( 
_(
"Ratio between smoothed corners size and the gap between lines\n0 = no smoothing\n1.0 = max radius/chamfer size (half gap value)") );
 
  192    m_spinCtrlSmoothValue = 
new wxSpinCtrlDouble( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1, 0.1, 0.1 );
 
  194    fgSizer1->Add( 
m_spinCtrlSmoothValue, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  197    sbFill->Add( fgSizer1, 0, wxEXPAND, 5 );
 
  200    bSizerMiddle->Add( sbFill, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
 
  203    m_UpperSizer->Add( bSizerMiddle, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
 
  206    m_MainSizer->Add( m_UpperSizer, 1, wxEXPAND|wxALL, 5 );
 
  218    this->SetSizer( m_MainSizer );
 
  220    m_MainSizer->Fit( 
this );
 
  222    this->Centre( wxBOTH );