14PANEL_SETUP_TUNING_PATTERNS_BASE::PANEL_SETUP_TUNING_PATTERNS_BASE( wxWindow* parent, wxWindowID 
id, 
const wxPoint& pos, 
const wxSize& size, 
long style, 
const wxString& 
name ) : wxPanel( parent, id, pos, size, style, 
name )
 
   16    wxBoxSizer* bMainSizer;
 
   17    bMainSizer = 
new wxBoxSizer( wxVERTICAL );
 
   19    m_singleTrackLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Default Properties for Single Track Tuning"), wxDefaultPosition, wxDefaultSize, 0 );
 
   23    m_staticline1 = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
   24    bMainSizer->Add( 
m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
   26    wxBoxSizer* singleTrackSizer;
 
   27    singleTrackSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
   29    m_singleTrackLegend = 
new wxStaticBitmap( 
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
 
   32    wxFlexGridSizer* fgSizer3;
 
   33    fgSizer3 = 
new wxFlexGridSizer( 0, 5, 5, 5 );
 
   34    fgSizer3->AddGrowableCol( 1 );
 
   35    fgSizer3->SetFlexibleDirection( wxBOTH );
 
   36    fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
   38    m_track_minALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Minimum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
   43    bSizer8 = 
new wxBoxSizer( wxHORIZONTAL );
 
   45    m_track_minACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   48    m_track_minAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   53    fgSizer3->Add( bSizer8, 1, wxEXPAND, 5 );
 
   55    m_track_maxALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Maximum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
   59    m_track_maxACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   62    m_track_maxAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   66    m_track_spacingLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Spacing (s):"), wxDefaultPosition, wxDefaultSize, 0 );
 
   71    bSizer9 = 
new wxBoxSizer( wxHORIZONTAL );
 
   73    m_track_spacingCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   74    m_track_spacingCtrl->SetToolTip( 
_(
"Minimum spacing between adjacent tuning segments. The resulting spacing may be greater based on design rules.") );
 
   78    m_track_spacingUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
   83    fgSizer3->Add( bSizer9, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
   86    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
   89    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
   92    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
   95    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
   98    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
  101    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
  104    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
  107    fgSizer3->Add( 0, 5, 1, wxEXPAND, 5 );
 
  109    m_track_cornerLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Corner style:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  113    wxString m_track_cornerCtrlChoices[] = { 
_(
"Chamfer"), 
_(
"Fillet") };
 
  114    int m_track_cornerCtrlNChoices = 
sizeof( m_track_cornerCtrlChoices ) / 
sizeof( wxString );
 
  115    m_track_cornerCtrl = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_track_cornerCtrlNChoices, m_track_cornerCtrlChoices, 0 );
 
  119    m_track_rLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Radius (r):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  121    fgSizer3->Add( 
m_track_rLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 15 );
 
  124    fgSizer3->Add( 
m_track_rCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  126    m_track_rUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"%"), wxDefaultPosition, wxDefaultSize, 0 );
 
  131    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
  133    m_track_singleSided = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Single-sided"), wxDefaultPosition, wxDefaultSize, 0 );
 
  137    fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
 
  140    singleTrackSizer->Add( fgSizer3, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  143    bMainSizer->Add( singleTrackSizer, 0, wxEXPAND|wxTOP|wxRIGHT, 5 );
 
  146    bMainSizer->Add( 0, 10, 0, wxEXPAND, 5 );
 
  148    m_diffPairsLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Default Properties for Differential Pairs"), wxDefaultPosition, wxDefaultSize, 0 );
 
  152    m_staticline11 = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  155    wxBoxSizer* diffPairSizer;
 
  156    diffPairSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
  158    m_diffPairLegend = 
new wxStaticBitmap( 
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
 
  161    wxFlexGridSizer* fgSizer32;
 
  162    fgSizer32 = 
new wxFlexGridSizer( 0, 5, 5, 5 );
 
  163    fgSizer32->AddGrowableCol( 1 );
 
  164    fgSizer32->SetFlexibleDirection( wxBOTH );
 
  165    fgSizer32->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  167    m_dp_minALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Minimum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  171    wxBoxSizer* bSizer81;
 
  172    bSizer81 = 
new wxBoxSizer( wxHORIZONTAL );
 
  174    m_dp_minACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  177    m_dp_minAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  179    bSizer81->Add( 
m_dp_minAUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
 
  182    fgSizer32->Add( bSizer81, 1, wxEXPAND, 5 );
 
  184    m_dp_maxALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Maximum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  186    fgSizer32->Add( 
m_dp_maxALabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 15 );
 
  188    m_dp_maxACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  189    fgSizer32->Add( 
m_dp_maxACtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  191    m_dp_maxAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  195    m_dp_spacingLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Spacing (s):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  199    wxBoxSizer* bSizer91;
 
  200    bSizer91 = 
new wxBoxSizer( wxHORIZONTAL );
 
  202    m_dp_spacingCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  203    m_dp_spacingCtrl->SetToolTip( 
_(
"Minimum spacing between adjacent tuning segments. The resulting spacing may be greater based on design rules.") );
 
  207    m_dp_spacingUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  212    fgSizer32->Add( bSizer91, 1, wxEXPAND, 5 );
 
  215    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  218    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  221    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  224    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  227    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  230    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  233    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  236    fgSizer32->Add( 0, 5, 1, wxEXPAND, 5 );
 
  238    m_dp_cornerLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Corner style:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  242    wxString m_dp_cornerCtrlChoices[] = { 
_(
"Chamfer"), 
_(
"Fillet") };
 
  243    int m_dp_cornerCtrlNChoices = 
sizeof( m_dp_cornerCtrlChoices ) / 
sizeof( wxString );
 
  244    m_dp_cornerCtrl = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_dp_cornerCtrlNChoices, m_dp_cornerCtrlChoices, 0 );
 
  246    fgSizer32->Add( 
m_dp_cornerCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  248    m_dp_rLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Radius (r):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  250    fgSizer32->Add( 
m_dp_rLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 15 );
 
  253    fgSizer32->Add( 
m_dp_rCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  255    m_dp_rUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"%"), wxDefaultPosition, wxDefaultSize, 0 );
 
  257    fgSizer32->Add( 
m_dp_rUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
 
  260    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  262    m_dp_singleSided = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Single-sided"), wxDefaultPosition, wxDefaultSize, 0 );
 
  266    fgSizer32->Add( 0, 0, 1, wxEXPAND, 5 );
 
  269    diffPairSizer->Add( fgSizer32, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  272    bMainSizer->Add( diffPairSizer, 0, wxEXPAND|wxTOP|wxRIGHT, 5 );
 
  275    bMainSizer->Add( 0, 10, 0, wxEXPAND, 5 );
 
  277    m_diffPairsLabel1 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Default Properties for Differential Pair Skews"), wxDefaultPosition, wxDefaultSize, 0 );
 
  281    m_staticline111 = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  284    wxBoxSizer* skewSizer;
 
  285    skewSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
  287    m_skewLegend = 
new wxStaticBitmap( 
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
 
  288    skewSizer->Add( 
m_skewLegend, 0, wxEXPAND|wxRIGHT|wxLEFT, 15 );
 
  290    wxFlexGridSizer* fgSizer31;
 
  291    fgSizer31 = 
new wxFlexGridSizer( 0, 5, 5, 5 );
 
  292    fgSizer31->AddGrowableCol( 1 );
 
  293    fgSizer31->SetFlexibleDirection( wxBOTH );
 
  294    fgSizer31->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  296    m_skew_minALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Minimum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  300    wxBoxSizer* bSizer82;
 
  301    bSizer82 = 
new wxBoxSizer( wxHORIZONTAL );
 
  303    m_skew_minACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  306    m_skew_minAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  311    fgSizer31->Add( bSizer82, 1, wxEXPAND, 5 );
 
  313    m_skew_maxALabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Maximum amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  317    m_skew_maxACtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  318    fgSizer31->Add( 
m_skew_maxACtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  320    m_skew_maxAUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  324    m_skew_spacingLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Spacing (s):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  328    wxBoxSizer* bSizer92;
 
  329    bSizer92 = 
new wxBoxSizer( wxHORIZONTAL );
 
  331    m_skew_spacingCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  332    m_skew_spacingCtrl->SetToolTip( 
_(
"Minimum spacing between adjacent tuning segments. The resulting spacing may be greater based on design rules.") );
 
  336    m_skew_spacingUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
 
  341    fgSizer31->Add( bSizer92, 1, wxEXPAND, 5 );
 
  344    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  347    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  350    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  353    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  356    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  359    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  362    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  365    fgSizer31->Add( 0, 5, 1, wxEXPAND, 5 );
 
  367    m_skew_cornerLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Corner style:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  371    wxString m_skew_cornerCtrlChoices[] = { 
_(
"Chamfer"), 
_(
"Fillet") };
 
  372    int m_skew_cornerCtrlNChoices = 
sizeof( m_skew_cornerCtrlChoices ) / 
sizeof( wxString );
 
  373    m_skew_cornerCtrl = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_skew_cornerCtrlNChoices, m_skew_cornerCtrlChoices, 0 );
 
  377    m_skew_rLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Radius (r):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  379    fgSizer31->Add( 
m_skew_rLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 15 );
 
  382    fgSizer31->Add( 
m_skew_rCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 
  384    m_skew_rUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"%"), wxDefaultPosition, wxDefaultSize, 0 );
 
  386    fgSizer31->Add( 
m_skew_rUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
 
  389    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  391    m_skew_singleSided = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Single-sided"), wxDefaultPosition, wxDefaultSize, 0 );
 
  395    fgSizer31->Add( 0, 0, 1, wxEXPAND, 5 );
 
  398    skewSizer->Add( fgSizer31, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  401    bMainSizer->Add( skewSizer, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
 
  404    this->SetSizer( bMainSizer );
 
  406    bMainSizer->Fit( 
this );