12DIALOG_TUNING_PATTERN_PROPERTIES_BASE::DIALOG_TUNING_PATTERN_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( wxSize( -1,-1 ), wxDefaultSize );
 
   16    wxBoxSizer* bMainSizer;
 
   17    bMainSizer = 
new wxBoxSizer( wxVERTICAL );
 
   19    wxBoxSizer* singleTrackSizer;
 
   20    singleTrackSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
   22    m_legend = 
new wxStaticBitmap( 
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
 
   23    singleTrackSizer->Add( 
m_legend, 0, wxEXPAND|wxRIGHT|wxLEFT, 15 );
 
   25    wxGridBagSizer* gbSizer1;
 
   26    gbSizer1 = 
new wxGridBagSizer( 4, 4 );
 
   27    gbSizer1->SetFlexibleDirection( wxBOTH );
 
   28    gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
   29    gbSizer1->SetEmptyCellSize( wxSize( 10,8 ) );
 
   32    bSizer3 = 
new wxBoxSizer( wxHORIZONTAL );
 
   34    m_radioBtnLength = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   38    m_targetLengthLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Target Length:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   43    gbSizer1->Add( bSizer3, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), 0, 5 );
 
   45    m_targetLengthCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   46    gbSizer1->Add( 
m_targetLengthCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
 
   48    m_targetLengthUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   50    gbSizer1->Add( 
m_targetLengthUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
   53    bSizer31 = 
new wxBoxSizer( wxHORIZONTAL );
 
   55    m_radioBtnDelay = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   58    m_targetDelayLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Target Delay:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   63    gbSizer1->Add( bSizer31, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), 0, 5 );
 
   65    m_targetDelayCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   66    gbSizer1->Add( 
m_targetDelayCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
 
   68    m_targetDelayUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   70    gbSizer1->Add( 
m_targetDelayUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
   72    m_overrideCustomRules = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Override custom rules"), wxDefaultPosition, wxDefaultSize, 0 );
 
   73    gbSizer1->Add( 
m_overrideCustomRules, wxGBPosition( 0, 4 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL, 5 );
 
   75    m_sourceInfo = 
new wxStaticText( 
this, wxID_ANY, 
_(
"(from 'rule name')"), wxDefaultPosition, wxDefaultSize, 0 );
 
   77    gbSizer1->Add( 
m_sourceInfo, wxGBPosition( 2, 1 ), wxGBSpan( 1, 6 ), wxALIGN_CENTER_VERTICAL, 5 );
 
   79    m_track_minALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Minimum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
   81    gbSizer1->Add( 
m_track_minALabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 1 );
 
   83    m_minACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   84    gbSizer1->Add( 
m_minACtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
 
   86    m_minAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   88    gbSizer1->Add( 
m_minAUnits, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
   90    m_maxALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Maximum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
   92    gbSizer1->Add( 
m_maxALabel, wxGBPosition( 5, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
   94    m_maxACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   95    gbSizer1->Add( 
m_maxACtrl, wxGBPosition( 5, 5 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
 
   97    m_maxAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   99    gbSizer1->Add( 
m_maxAUnits, wxGBPosition( 5, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
  101    m_spacingLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Spacing (s):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  103    gbSizer1->Add( 
m_spacingLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 1 );
 
  105    m_spacingCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  106    m_spacingCtrl->SetToolTip( 
_(
"Minimum spacing between adjacent tuning segments. The resulting spacing may be greater based on design rules.") );
 
  108    gbSizer1->Add( 
m_spacingCtrl, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
 
  110    m_spacingUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  112    gbSizer1->Add( 
m_spacingUnits, wxGBPosition( 6, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
  114    m_cornerLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Corner style:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  116    gbSizer1->Add( 
m_cornerLabel, wxGBPosition( 8, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 1 );
 
  118    wxString m_cornerCtrlChoices[] = { 
_(
"Chamfer"), 
_(
"Fillet") };
 
  119    int m_cornerCtrlNChoices = 
sizeof( m_cornerCtrlChoices ) / 
sizeof( wxString );
 
  120    m_cornerCtrl = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cornerCtrlNChoices, m_cornerCtrlChoices, 0 );
 
  122    gbSizer1->Add( 
m_cornerCtrl, wxGBPosition( 8, 1 ), wxGBSpan( 1, 2 ), wxEXPAND, 5 );
 
  124    m_rLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Radius (r):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  126    gbSizer1->Add( 
m_rLabel, wxGBPosition( 8, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
  128    m_rCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  129    gbSizer1->Add( 
m_rCtrl, wxGBPosition( 8, 5 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
 
  131    m_rUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"%"), wxDefaultPosition, wxDefaultSize, 0 );
 
  133    gbSizer1->Add( 
m_rUnits, wxGBPosition( 8, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
 
  135    m_singleSided = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Single-sided"), wxDefaultPosition, wxDefaultSize, 0 );
 
  136    gbSizer1->Add( 
m_singleSided, wxGBPosition( 9, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
 
  139    gbSizer1->AddGrowableCol( 1 );
 
  140    gbSizer1->AddGrowableCol( 5 );
 
  142    singleTrackSizer->Add( gbSizer1, 1, wxEXPAND, 5 );
 
  145    bMainSizer->Add( singleTrackSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
 
  157    this->SetSizer( bMainSizer );
 
  159    bMainSizer->Fit( 
this );