14PANEL_TRACK_WIDTH_BASE::PANEL_TRACK_WIDTH_BASE( wxWindow* parent, wxWindowID 
id, 
const wxPoint& pos, 
const wxSize& size, 
long style, 
const wxString& 
name ) : 
CALCULATOR_PANEL( parent, id, pos, size, style, 
name )
 
   16    wxBoxSizer* bSizerTrackWidth;
 
   17    bSizerTrackWidth = 
new wxBoxSizer( wxHORIZONTAL );
 
   19    wxBoxSizer* bSizeLeft;
 
   20    bSizeLeft = 
new wxBoxSizer( wxVERTICAL );
 
   22    wxStaticBoxSizer* sbSizerTW_Prms;
 
   23    sbSizerTW_Prms = 
new wxStaticBoxSizer( 
new wxStaticBox( 
this, wxID_ANY, 
_(
"Parameters") ), wxVERTICAL );
 
   25    wxFlexGridSizer* fgSizerTWprms;
 
   26    fgSizerTWprms = 
new wxFlexGridSizer( 4, 3, 0, 0 );
 
   27    fgSizerTWprms->AddGrowableCol( 1 );
 
   28    fgSizerTWprms->SetFlexibleDirection( wxBOTH );
 
   29    fgSizerTWprms->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
   31    m_staticTextCurrent = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"Current (I):"), wxDefaultPosition, wxDefaultSize, 0 );
 
   35    m_TrackCurrentValue = 
new wxTextCtrl( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   38    m_staticText62 = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"A"), wxDefaultPosition, wxDefaultSize, 0 );
 
   40    fgSizerTWprms->Add( 
m_staticText62, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
 
   42    m_staticText63 = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"Temperature rise:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   44    fgSizerTWprms->Add( 
m_staticText63, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
 
   46    m_TrackDeltaTValue = 
new wxTextCtrl( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   49    m_trackTempUnits = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"deg C"), wxDefaultPosition, wxDefaultSize, 0 );
 
   51    fgSizerTWprms->Add( 
m_trackTempUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
 
   53    m_staticText66 = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"Conductor length:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   56    fgSizerTWprms->Add( 
m_staticText66, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
 
   58    m_TrackLengthValue = 
new wxTextCtrl( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   61    wxArrayString m_TW_CuLength_choiceUnitChoices;
 
   66    m_staticText103 = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"Copper resistivity:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   70    m_TWResistivity = 
new wxTextCtrl( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
 
   75    m_resistivityUnits = 
new wxStaticText( sbSizerTW_Prms->GetStaticBox(), wxID_ANY, 
_(
"ohm-meter"), wxDefaultPosition, wxDefaultSize, 0 );
 
   80    sbSizerTW_Prms->Add( fgSizerTWprms, 0, wxALL|wxEXPAND, 5 );
 
   83    bSizeLeft->Add( sbSizerTW_Prms, 0, wxALL|wxEXPAND, 5 );
 
   89    bSizerTrackWidth->Add( bSizeLeft, 1, wxEXPAND|wxBOTTOM, 5 );
 
   91    wxBoxSizer* bSizeRight;
 
   92    bSizeRight = 
new wxBoxSizer( wxVERTICAL );
 
   94    wxStaticBoxSizer* sbSizerTW_Result;
 
   95    sbSizerTW_Result = 
new wxStaticBoxSizer( 
new wxStaticBox( 
this, wxID_ANY, 
_(
"External Layer Tracks") ), wxVERTICAL );
 
   97    wxFlexGridSizer* fgSizerTW_Results;
 
   98    fgSizerTW_Results = 
new wxFlexGridSizer( 0, 3, 0, 0 );
 
   99    fgSizerTW_Results->AddGrowableCol( 1 );
 
  100    fgSizerTW_Results->SetFlexibleDirection( wxBOTH );
 
  101    fgSizerTW_Results->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  103    m_staticTextExtWidth = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"Track width (W):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  107    m_ExtTrackWidthValue = 
new wxTextCtrl( sbSizerTW_Result->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  110    wxArrayString m_TW_ExtTrackWidth_choiceUnitChoices;
 
  115    m_staticText65 = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"Track thickness (H):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  117    fgSizerTW_Results->Add( 
m_staticText65, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  119    m_ExtTrackThicknessValue = 
new wxTextCtrl( sbSizerTW_Result->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  122    wxArrayString m_ExtTrackThicknessUnitChoices;
 
  127    m_staticline3 = 
new wxStaticLine( sbSizerTW_Result->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  128    fgSizerTW_Results->Add( 
m_staticline3, 0, wxEXPAND|wxBOTTOM, 5 );
 
  130    m_staticline4 = 
new wxStaticLine( sbSizerTW_Result->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  131    fgSizerTW_Results->Add( 
m_staticline4, 0, wxEXPAND|wxBOTTOM, 5 );
 
  133    m_staticline5 = 
new wxStaticLine( sbSizerTW_Result->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  134    fgSizerTW_Results->Add( 
m_staticline5, 0, wxEXPAND|wxBOTTOM, 5 );
 
  136    m_staticTextArea = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"Cross-section area:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  138    fgSizerTW_Results->Add( 
m_staticTextArea, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  140    m_ExtTrackAreaValue = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  142    fgSizerTW_Results->Add( 
m_ExtTrackAreaValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 5 );
 
  144    m_extTrackAreaUnitLabel = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"mm ^ 2"), wxDefaultPosition, wxDefaultSize, 0 );
 
  148    m_staticText651 = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"Resistance:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  150    fgSizerTW_Results->Add( 
m_staticText651, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  152    m_ExtTrackResistValue = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  154    fgSizerTW_Results->Add( 
m_ExtTrackResistValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  156    m_extTrackResUnits = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"ohm"), wxDefaultPosition, wxDefaultSize, 0 );
 
  158    fgSizerTW_Results->Add( 
m_extTrackResUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  160    m_staticText661 = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"Voltage drop:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  162    fgSizerTW_Results->Add( 
m_staticText661, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  164    m_ExtTrackVDropValue = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  166    fgSizerTW_Results->Add( 
m_ExtTrackVDropValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  168    m_staticText83 = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"V"), wxDefaultPosition, wxDefaultSize, 0 );
 
  170    fgSizerTW_Results->Add( 
m_staticText83, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  172    m_staticText79 = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"Power loss:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  174    fgSizerTW_Results->Add( 
m_staticText79, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  176    m_ExtTrackLossValue = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  178    fgSizerTW_Results->Add( 
m_ExtTrackLossValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
 
  180    m_staticText791 = 
new wxStaticText( sbSizerTW_Result->GetStaticBox(), wxID_ANY, 
_(
"W"), wxDefaultPosition, wxDefaultSize, 0 );
 
  182    fgSizerTW_Results->Add( 
m_staticText791, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  185    sbSizerTW_Result->Add( fgSizerTW_Results, 0, wxALL|wxEXPAND, 5 );
 
  188    bSizeRight->Add( sbSizerTW_Result, 1, wxEXPAND|wxALL, 5 );
 
  190    wxStaticBoxSizer* sbSizerTW_Result1;
 
  191    sbSizerTW_Result1 = 
new wxStaticBoxSizer( 
new wxStaticBox( 
this, wxID_ANY, 
_(
"Internal Layer Tracks") ), wxVERTICAL );
 
  193    wxFlexGridSizer* fgSizerTW_Results1;
 
  194    fgSizerTW_Results1 = 
new wxFlexGridSizer( 7, 3, 0, 0 );
 
  195    fgSizerTW_Results1->AddGrowableCol( 1 );
 
  196    fgSizerTW_Results1->SetFlexibleDirection( wxBOTH );
 
  197    fgSizerTW_Results1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  199    m_staticTextIntWidth = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"Track width (W):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  201    m_staticTextIntWidth->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, 
false, wxEmptyString ) );
 
  205    m_IntTrackWidthValue = 
new wxTextCtrl( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  208    wxArrayString m_TW_IntTrackWidth_choiceUnitChoices;
 
  213    m_staticText652 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"Track thickness (H):"), wxDefaultPosition, wxDefaultSize, 0 );
 
  215    fgSizerTW_Results1->Add( 
m_staticText652, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  217    m_IntTrackThicknessValue = 
new wxTextCtrl( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  220    wxArrayString m_IntTrackThicknessUnitChoices;
 
  225    m_staticline8 = 
new wxStaticLine( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  226    fgSizerTW_Results1->Add( 
m_staticline8, 0, wxEXPAND|wxBOTTOM, 5 );
 
  228    m_staticline9 = 
new wxStaticLine( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  229    fgSizerTW_Results1->Add( 
m_staticline9, 0, wxEXPAND|wxBOTTOM, 5 );
 
  231    m_staticline10 = 
new wxStaticLine( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  232    fgSizerTW_Results1->Add( 
m_staticline10, 0, wxEXPAND|wxBOTTOM, 5 );
 
  234    m_staticTextArea1 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"Cross-section area:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  236    fgSizerTW_Results1->Add( 
m_staticTextArea1, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxTOP, 5 );
 
  238    m_IntTrackAreaValue = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  240    fgSizerTW_Results1->Add( 
m_IntTrackAreaValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 5 );
 
  242    m_intTrackAreaUnitLabel = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"mm ^ 2"), wxDefaultPosition, wxDefaultSize, 0 );
 
  246    m_staticText6511 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"Resistance:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  248    fgSizerTW_Results1->Add( 
m_staticText6511, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  250    m_IntTrackResistValue = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  252    fgSizerTW_Results1->Add( 
m_IntTrackResistValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  254    m_intTrackResUnits = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"ohm"), wxDefaultPosition, wxDefaultSize, 0 );
 
  256    fgSizerTW_Results1->Add( 
m_intTrackResUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  258    m_staticText6611 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"Voltage drop:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  260    fgSizerTW_Results1->Add( 
m_staticText6611, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  262    m_IntTrackVDropValue = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  264    fgSizerTW_Results1->Add( 
m_IntTrackVDropValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  266    m_staticText831 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"V"), wxDefaultPosition, wxDefaultSize, 0 );
 
  268    fgSizerTW_Results1->Add( 
m_staticText831, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 
  270    m_staticText792 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"Power loss:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  272    fgSizerTW_Results1->Add( 
m_staticText792, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  274    m_IntTrackLossValue = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"dummy"), wxDefaultPosition, wxDefaultSize, 0 );
 
  276    fgSizerTW_Results1->Add( 
m_IntTrackLossValue, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
 
  278    m_staticText7911 = 
new wxStaticText( sbSizerTW_Result1->GetStaticBox(), wxID_ANY, 
_(
"W"), wxDefaultPosition, wxDefaultSize, 0 );
 
  280    fgSizerTW_Results1->Add( 
m_staticText7911, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  283    sbSizerTW_Result1->Add( fgSizerTW_Results1, 0, wxALL|wxEXPAND, 5 );
 
  286    bSizeRight->Add( sbSizerTW_Result1, 1, wxEXPAND|wxALL, 5 );
 
  288    m_buttonTrackWidthReset = 
new wxButton( 
this, wxID_ANY, 
_(
"Reset to Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
 
  292    bSizerTrackWidth->Add( bSizeRight, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
 
  295    this->SetSizer( bSizerTrackWidth );
 
  297    bSizerTrackWidth->Fit( 
this );