KiCad PCB EDA Suite
panel_via_size_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO *NOT* EDIT THIS FILE!
7 
9 
10 #include "panel_via_size_base.h"
11 
13 
14 PANEL_VIA_SIZE_BASE::PANEL_VIA_SIZE_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : CALCULATOR_PANEL( parent, id, pos, size, style, name )
15 {
16  wxBoxSizer* bSizerViaSize;
17  bSizerViaSize = new wxBoxSizer( wxHORIZONTAL );
18 
19  wxBoxSizer* bSizerViaLeftColumn;
20  bSizerViaLeftColumn = new wxBoxSizer( wxVERTICAL );
21 
22  wxStaticBoxSizer* sbSizerVS_Inputs;
23  sbSizerVS_Inputs = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Parameters") ), wxVERTICAL );
24 
25  wxFlexGridSizer* fgSizerVS_Inputs;
26  fgSizerVS_Inputs = new wxFlexGridSizer( 0, 3, 4, 0 );
27  fgSizerVS_Inputs->AddGrowableCol( 1 );
28  fgSizerVS_Inputs->SetFlexibleDirection( wxBOTH );
29  fgSizerVS_Inputs->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
30 
31  m_staticTextHoleDia = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Finished hole diameter (D):"), wxDefaultPosition, wxDefaultSize, 0 );
32  m_staticTextHoleDia->Wrap( -1 );
33  m_staticTextHoleDia->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
34 
35  fgSizerVS_Inputs->Add( m_staticTextHoleDia, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
36 
37  m_textCtrlHoleDia = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
38  fgSizerVS_Inputs->Add( m_textCtrlHoleDia, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
39 
40  wxArrayString m_choiceHoleDiaChoices;
41  m_choiceHoleDia = new UNIT_SELECTOR_LEN( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceHoleDiaChoices, 0 );
42  m_choiceHoleDia->SetSelection( 0 );
43  fgSizerVS_Inputs->Add( m_choiceHoleDia, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
44 
45  m_staticTextPlatingThickness = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Plating thickness (T):"), wxDefaultPosition, wxDefaultSize, 0 );
46  m_staticTextPlatingThickness->Wrap( -1 );
47  fgSizerVS_Inputs->Add( m_staticTextPlatingThickness, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
48 
49  m_textCtrlPlatingThickness = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
50  fgSizerVS_Inputs->Add( m_textCtrlPlatingThickness, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
51 
52  wxArrayString m_choicePlatingThicknessChoices;
53  m_choicePlatingThickness = new UNIT_SELECTOR_LEN( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choicePlatingThicknessChoices, 0 );
54  m_choicePlatingThickness->SetSelection( 0 );
55  fgSizerVS_Inputs->Add( m_choicePlatingThickness, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
56 
57  m_staticTextViaLength = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Via length:"), wxDefaultPosition, wxDefaultSize, 0 );
58  m_staticTextViaLength->Wrap( -1 );
59  m_staticTextViaLength->SetToolTip( _("Via length is the board thickness for through hole vias") );
60 
61  fgSizerVS_Inputs->Add( m_staticTextViaLength, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
62 
63  m_textCtrlViaLength = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
64  fgSizerVS_Inputs->Add( m_textCtrlViaLength, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
65 
66  wxArrayString m_choiceViaLengthChoices;
67  m_choiceViaLength = new UNIT_SELECTOR_LEN( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceViaLengthChoices, 0 );
68  m_choiceViaLength->SetSelection( 0 );
69  fgSizerVS_Inputs->Add( m_choiceViaLength, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
70 
71  m_staticTextViaPadDia = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Via pad diameter:"), wxDefaultPosition, wxDefaultSize, 0 );
72  m_staticTextViaPadDia->Wrap( -1 );
73  m_staticTextViaPadDia->SetToolTip( _("Diameter of pad surrounding via (annular ring)") );
74 
75  fgSizerVS_Inputs->Add( m_staticTextViaPadDia, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
76 
77  m_textCtrlViaPadDia = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
78  fgSizerVS_Inputs->Add( m_textCtrlViaPadDia, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
79 
80  wxArrayString m_choiceViaPadDiaChoices;
81  m_choiceViaPadDia = new UNIT_SELECTOR_LEN( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceViaPadDiaChoices, 0 );
82  m_choiceViaPadDia->SetSelection( 0 );
83  fgSizerVS_Inputs->Add( m_choiceViaPadDia, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
84 
85  m_staticTextClearanceDia = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Clearance hole diameter:"), wxDefaultPosition, wxDefaultSize, 0 );
86  m_staticTextClearanceDia->Wrap( -1 );
87  m_staticTextClearanceDia->SetToolTip( _("Diameter of clearance hole in ground plane(s)") );
88 
89  fgSizerVS_Inputs->Add( m_staticTextClearanceDia, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
90 
91  m_textCtrlClearanceDia = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
92  fgSizerVS_Inputs->Add( m_textCtrlClearanceDia, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
93 
94  wxArrayString m_choiceClearanceDiaChoices;
95  m_choiceClearanceDia = new UNIT_SELECTOR_LEN( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceClearanceDiaChoices, 0 );
96  m_choiceClearanceDia->SetSelection( 0 );
97  fgSizerVS_Inputs->Add( m_choiceClearanceDia, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
98 
99  m_staticTextImpedance = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Z0:"), wxDefaultPosition, wxDefaultSize, 0 );
100  m_staticTextImpedance->Wrap( -1 );
101  m_staticTextImpedance->SetToolTip( _("Characteristic impedance of conductor") );
102 
103  fgSizerVS_Inputs->Add( m_staticTextImpedance, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
104 
105  m_textCtrlImpedance = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
106  fgSizerVS_Inputs->Add( m_textCtrlImpedance, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
107 
108  wxArrayString m_choiceImpedanceChoices;
109  m_choiceImpedance = new UNIT_SELECTOR_RESISTOR( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceImpedanceChoices, 0 );
110  m_choiceImpedance->SetSelection( 0 );
111  fgSizerVS_Inputs->Add( m_choiceImpedance, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
112 
113  m_staticAppliedCurrent = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Applied current:"), wxDefaultPosition, wxDefaultSize, 0 );
114  m_staticAppliedCurrent->Wrap( -1 );
115  fgSizerVS_Inputs->Add( m_staticAppliedCurrent, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
116 
117  m_textCtrlAppliedCurrent = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
118  fgSizerVS_Inputs->Add( m_textCtrlAppliedCurrent, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
119 
120  m_staticTextAppliedCurrentUnits = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("A"), wxDefaultPosition, wxDefaultSize, 0 );
122  fgSizerVS_Inputs->Add( m_staticTextAppliedCurrentUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
123 
124  m_staticTextResistivity = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Plating resistivity:"), wxDefaultPosition, wxDefaultSize, 0 );
125  m_staticTextResistivity->Wrap( -1 );
126  m_staticTextResistivity->SetToolTip( _("Specific resistance in ohms * meters") );
127 
128  fgSizerVS_Inputs->Add( m_staticTextResistivity, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
129 
130  wxBoxSizer* bSizerResistivity;
131  bSizerResistivity = new wxBoxSizer( wxHORIZONTAL );
132 
133  m_textCtrlPlatingResistivity = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
134  bSizerResistivity->Add( m_textCtrlPlatingResistivity, 1, wxEXPAND|wxLEFT, 5 );
135 
136  m_button_ResistivityVia = new wxButton( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("..."), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
137  bSizerResistivity->Add( m_button_ResistivityVia, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
138 
139 
140  fgSizerVS_Inputs->Add( bSizerResistivity, 1, wxEXPAND, 5 );
141 
142  m_viaResistivityUnits = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("ohm-meter"), wxDefaultPosition, wxDefaultSize, 0 );
143  m_viaResistivityUnits->Wrap( -1 );
144  fgSizerVS_Inputs->Add( m_viaResistivityUnits, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
145 
146  m_staticTextPermittivity = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Substrate relative permittivity:"), wxDefaultPosition, wxDefaultSize, 0 );
147  m_staticTextPermittivity->Wrap( -1 );
148  m_staticTextPermittivity->SetToolTip( _("Relative dielectric constant (epsilon r)") );
149 
150  fgSizerVS_Inputs->Add( m_staticTextPermittivity, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
151 
152  wxBoxSizer* bSizerPermittivity;
153  bSizerPermittivity = new wxBoxSizer( wxHORIZONTAL );
154 
155  m_textCtrlPlatingPermittivity = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
156  bSizerPermittivity->Add( m_textCtrlPlatingPermittivity, 1, wxEXPAND|wxLEFT, 5 );
157 
158  m_button_Permittivity = new wxButton( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("..."), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
159  bSizerPermittivity->Add( m_button_Permittivity, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
160 
161 
162  fgSizerVS_Inputs->Add( bSizerPermittivity, 1, wxEXPAND, 5 );
163 
164 
165  fgSizerVS_Inputs->Add( 0, 0, 1, wxEXPAND, 5 );
166 
167  m_staticTextTemperatureDiff = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Temperature rise:"), wxDefaultPosition, wxDefaultSize, 0 );
168  m_staticTextTemperatureDiff->Wrap( -1 );
169  m_staticTextTemperatureDiff->SetToolTip( _("Maximum acceptable rise in temperature") );
170 
171  fgSizerVS_Inputs->Add( m_staticTextTemperatureDiff, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
172 
173  m_textCtrlTemperatureDiff = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
174  fgSizerVS_Inputs->Add( m_textCtrlTemperatureDiff, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
175 
176  m_viaTempUnits = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("deg C"), wxDefaultPosition, wxDefaultSize, 0 );
177  m_viaTempUnits->Wrap( -1 );
178  fgSizerVS_Inputs->Add( m_viaTempUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
179 
180  m_staticTextRiseTime = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("Pulse rise time:"), wxDefaultPosition, wxDefaultSize, 0 );
181  m_staticTextRiseTime->Wrap( -1 );
182  m_staticTextRiseTime->SetToolTip( _("Pulse rise time to calculate reactance") );
183 
184  fgSizerVS_Inputs->Add( m_staticTextRiseTime, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
185 
186  m_textCtrlRiseTime = new wxTextCtrl( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
187  fgSizerVS_Inputs->Add( m_textCtrlRiseTime, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
188 
189  m_staticTextRiseTimeUnits = new wxStaticText( sbSizerVS_Inputs->GetStaticBox(), wxID_ANY, _("ns"), wxDefaultPosition, wxDefaultSize, 0 );
190  m_staticTextRiseTimeUnits->Wrap( -1 );
191  m_staticTextRiseTimeUnits->SetToolTip( _("nanoseconds") );
192 
193  fgSizerVS_Inputs->Add( m_staticTextRiseTimeUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
194 
195 
196  sbSizerVS_Inputs->Add( fgSizerVS_Inputs, 0, wxEXPAND, 5 );
197 
198 
199  bSizerViaLeftColumn->Add( sbSizerVS_Inputs, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
200 
201  m_staticTextWarning = new wxStaticText( this, wxID_ANY, _("Warning:\nVia pad diameter >= Clearance hole diameter.\nSome parameters cannot be calculated for a via inside a copper zone."), wxDefaultPosition, wxDefaultSize, 0 );
202  m_staticTextWarning->Wrap( -1 );
203  m_staticTextWarning->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
204 
205  bSizerViaLeftColumn->Add( m_staticTextWarning, 0, wxALL|wxEXPAND, 10 );
206 
207 
208  bSizerViaSize->Add( bSizerViaLeftColumn, 1, wxEXPAND, 5 );
209 
210  wxBoxSizer* bSizerRight;
211  bSizerRight = new wxBoxSizer( wxVERTICAL );
212 
213  bSizerRight->SetMinSize( wxSize( -1,460 ) );
214  wxStaticBoxSizer* sbSizerVS_Result;
215  sbSizerVS_Result = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Results") ), wxVERTICAL );
216 
217  wxFlexGridSizer* fgSizerTW_Results11;
218  fgSizerTW_Results11 = new wxFlexGridSizer( 0, 3, 3, 0 );
219  fgSizerTW_Results11->AddGrowableCol( 1 );
220  fgSizerTW_Results11->AddGrowableCol( 2 );
221  fgSizerTW_Results11->SetFlexibleDirection( wxBOTH );
222  fgSizerTW_Results11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
223 
224  m_staticTextArea11 = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Resistance:"), wxDefaultPosition, wxDefaultSize, 0 );
225  m_staticTextArea11->Wrap( -1 );
226  fgSizerTW_Results11->Add( m_staticTextArea11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
227 
228  m_ViaResistance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
229  m_ViaResistance->Wrap( -1 );
230  fgSizerTW_Results11->Add( m_ViaResistance, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
231 
232  m_viaResUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("ohm"), wxDefaultPosition, wxDefaultSize, 0 );
233  m_viaResUnits->Wrap( -1 );
234  fgSizerTW_Results11->Add( m_viaResUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
235 
236  m_staticText65111 = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Voltage drop:"), wxDefaultPosition, wxDefaultSize, 0 );
237  m_staticText65111->Wrap( -1 );
238  fgSizerTW_Results11->Add( m_staticText65111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
239 
240  m_ViaVoltageDrop = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
241  m_ViaVoltageDrop->Wrap( -1 );
242  fgSizerTW_Results11->Add( m_ViaVoltageDrop, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
243 
244  m_staticText8411 = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("V"), wxDefaultPosition, wxDefaultSize, 0 );
245  m_staticText8411->Wrap( -1 );
246  fgSizerTW_Results11->Add( m_staticText8411, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
247 
248  m_staticText66111 = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Power loss:"), wxDefaultPosition, wxDefaultSize, 0 );
249  m_staticText66111->Wrap( -1 );
250  fgSizerTW_Results11->Add( m_staticText66111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
251 
252  m_ViaPowerLoss = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
253  m_ViaPowerLoss->Wrap( -1 );
254  fgSizerTW_Results11->Add( m_ViaPowerLoss, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
255 
256  m_staticText8311 = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("W"), wxDefaultPosition, wxDefaultSize, 0 );
257  m_staticText8311->Wrap( -1 );
258  fgSizerTW_Results11->Add( m_staticText8311, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
259 
260  m_staticText79211 = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Thermal resistance:"), wxDefaultPosition, wxDefaultSize, 0 );
261  m_staticText79211->Wrap( -1 );
262  m_staticText79211->SetToolTip( _("Using thermal conductivity value 401 Watts/(meter-Kelvin)") );
263 
264  fgSizerTW_Results11->Add( m_staticText79211, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
265 
266  m_ViaThermalResistance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
267  m_ViaThermalResistance->Wrap( -1 );
268  fgSizerTW_Results11->Add( m_ViaThermalResistance, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
269 
270  m_viaThermalResUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("deg C/W"), wxDefaultPosition, wxDefaultSize, 0 );
271  m_viaThermalResUnits->Wrap( -1 );
272  fgSizerTW_Results11->Add( m_viaThermalResUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
273 
274  m_staticTextAmpacity = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Estimated ampacity:"), wxDefaultPosition, wxDefaultSize, 0 );
275  m_staticTextAmpacity->Wrap( -1 );
276  m_staticTextAmpacity->SetToolTip( _("Based on temperature rise") );
277 
278  fgSizerTW_Results11->Add( m_staticTextAmpacity, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
279 
280  m_ViaAmpacity = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
281  m_ViaAmpacity->Wrap( -1 );
282  fgSizerTW_Results11->Add( m_ViaAmpacity, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
283 
284  m_staticTextAmpacityUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("A"), wxDefaultPosition, wxDefaultSize, 0 );
285  m_staticTextAmpacityUnits->Wrap( -1 );
286  fgSizerTW_Results11->Add( m_staticTextAmpacityUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
287 
288  m_staticTextCapacitance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Capacitance:"), wxDefaultPosition, wxDefaultSize, 0 );
289  m_staticTextCapacitance->Wrap( -1 );
290  fgSizerTW_Results11->Add( m_staticTextCapacitance, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
291 
292  m_ViaCapacitance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
293  m_ViaCapacitance->Wrap( -1 );
294  fgSizerTW_Results11->Add( m_ViaCapacitance, 0, wxRIGHT|wxLEFT, 5 );
295 
296  m_staticTextCapacitanceUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("pF"), wxDefaultPosition, wxDefaultSize, 0 );
297  m_staticTextCapacitanceUnits->Wrap( -1 );
298  m_staticTextCapacitanceUnits->SetToolTip( _("pico-Farad") );
299 
300  fgSizerTW_Results11->Add( m_staticTextCapacitanceUnits, 0, wxRIGHT, 5 );
301 
302  m_staticTextRiseTimeOutput = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Rise time degradation:"), wxDefaultPosition, wxDefaultSize, 0 );
303  m_staticTextRiseTimeOutput->Wrap( -1 );
304  m_staticTextRiseTimeOutput->SetToolTip( _("Rise time degradation for given Z0 and calculated capacitance") );
305 
306  fgSizerTW_Results11->Add( m_staticTextRiseTimeOutput, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
307 
308  m_RiseTimeOutput = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
309  m_RiseTimeOutput->Wrap( -1 );
310  fgSizerTW_Results11->Add( m_RiseTimeOutput, 0, wxRIGHT|wxLEFT, 5 );
311 
312  m_staticTextRiseTimeOutputUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("ps"), wxDefaultPosition, wxDefaultSize, 0 );
314  m_staticTextRiseTimeOutputUnits->SetToolTip( _("picoseconds") );
315 
316  fgSizerTW_Results11->Add( m_staticTextRiseTimeOutputUnits, 0, wxRIGHT, 5 );
317 
318  m_staticTextInductance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Inductance:"), wxDefaultPosition, wxDefaultSize, 0 );
319  m_staticTextInductance->Wrap( -1 );
320  fgSizerTW_Results11->Add( m_staticTextInductance, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
321 
322  m_Inductance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
323  m_Inductance->Wrap( -1 );
324  fgSizerTW_Results11->Add( m_Inductance, 0, wxRIGHT|wxLEFT, 5 );
325 
326  m_staticTextInductanceUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("nH"), wxDefaultPosition, wxDefaultSize, 0 );
327  m_staticTextInductanceUnits->Wrap( -1 );
328  m_staticTextInductanceUnits->SetToolTip( _("nano-Henry") );
329 
330  fgSizerTW_Results11->Add( m_staticTextInductanceUnits, 0, wxRIGHT, 5 );
331 
332  m_staticTextReactance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("Reactance:"), wxDefaultPosition, wxDefaultSize, 0 );
333  m_staticTextReactance->Wrap( -1 );
334  m_staticTextReactance->SetToolTip( _("Inductive reactance for given rise time and calculated inductance") );
335 
336  fgSizerTW_Results11->Add( m_staticTextReactance, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
337 
338  m_Reactance = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
339  m_Reactance->Wrap( -1 );
340  fgSizerTW_Results11->Add( m_Reactance, 0, wxRIGHT|wxLEFT, 5 );
341 
342  m_viaReactanceUnits = new wxStaticText( sbSizerVS_Result->GetStaticBox(), wxID_ANY, _("ohm"), wxDefaultPosition, wxDefaultSize, 0 );
343  m_viaReactanceUnits->Wrap( -1 );
344  fgSizerTW_Results11->Add( m_viaReactanceUnits, 0, wxRIGHT, 5 );
345 
346 
347  sbSizerVS_Result->Add( fgSizerTW_Results11, 0, wxEXPAND, 5 );
348 
349 
350  bSizerRight->Add( sbSizerVS_Result, 0, wxEXPAND|wxALL, 5 );
351 
352  m_viaBitmap = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
353  m_viaBitmap->SetToolTip( _("Top view of via") );
354 
355  bSizerRight->Add( m_viaBitmap, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 10 );
356 
357 
358  bSizerRight->Add( 0, 0, 1, 0, 5 );
359 
360  m_buttonViaReset = new wxButton( this, wxID_ANY, _("Reset to Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
361  bSizerRight->Add( m_buttonViaReset, 0, wxALIGN_RIGHT|wxALL, 5 );
362 
363 
364  bSizerViaSize->Add( bSizerRight, 0, wxEXPAND, 5 );
365 
366 
367  this->SetSizer( bSizerViaSize );
368  this->Layout();
369 
370  // Connect Events
371  m_textCtrlHoleDia->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
372  m_choiceHoleDia->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
373  m_textCtrlPlatingThickness->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
374  m_choicePlatingThickness->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
375  m_textCtrlViaLength->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
376  m_choiceViaLength->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
377  m_textCtrlViaPadDia->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
378  m_choiceViaPadDia->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
379  m_textCtrlClearanceDia->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
380  m_choiceClearanceDia->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
381  m_textCtrlImpedance->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
382  m_choiceImpedance->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
383  m_textCtrlAppliedCurrent->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
384  m_textCtrlPlatingResistivity->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
385  m_button_ResistivityVia->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaRho_Button ), NULL, this );
386  m_textCtrlPlatingPermittivity->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
387  m_button_Permittivity->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaEpsilonR_Button ), NULL, this );
388  m_textCtrlTemperatureDiff->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
389  m_textCtrlRiseTime->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
390  m_staticTextWarning->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( PANEL_VIA_SIZE_BASE::onUpdateViaCalcErrorText ), NULL, this );
391  m_buttonViaReset->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaResetButtonClick ), NULL, this );
392 }
393 
395 {
396  // Disconnect Events
397  m_textCtrlHoleDia->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
398  m_choiceHoleDia->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
399  m_textCtrlPlatingThickness->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
400  m_choicePlatingThickness->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
401  m_textCtrlViaLength->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
402  m_choiceViaLength->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
403  m_textCtrlViaPadDia->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
404  m_choiceViaPadDia->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
405  m_textCtrlClearanceDia->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
406  m_choiceClearanceDia->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
407  m_textCtrlImpedance->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
408  m_choiceImpedance->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
409  m_textCtrlAppliedCurrent->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
410  m_textCtrlPlatingResistivity->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
411  m_button_ResistivityVia->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaRho_Button ), NULL, this );
412  m_textCtrlPlatingPermittivity->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
413  m_button_Permittivity->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaEpsilonR_Button ), NULL, this );
414  m_textCtrlTemperatureDiff->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
415  m_textCtrlRiseTime->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaCalculate ), NULL, this );
416  m_staticTextWarning->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( PANEL_VIA_SIZE_BASE::onUpdateViaCalcErrorText ), NULL, this );
417  m_buttonViaReset->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_VIA_SIZE_BASE::OnViaResetButtonClick ), NULL, this );
418 
419 }
wxStaticText * m_ViaResistance
wxStaticText * m_staticText66111
virtual void onUpdateViaCalcErrorText(wxUpdateUIEvent &event)
wxStaticText * m_ViaCapacitance
wxStaticText * m_staticText8311
virtual void OnViaCalculate(wxCommandEvent &event)
wxTextCtrl * m_textCtrlRiseTime
wxStaticText * m_staticTextCapacitanceUnits
wxStaticText * m_RiseTimeOutput
wxTextCtrl * m_textCtrlTemperatureDiff
wxStaticText * m_staticTextAmpacity
wxTextCtrl * m_textCtrlPlatingPermittivity
virtual void OnViaEpsilonR_Button(wxCommandEvent &event)
wxStaticText * m_staticTextRiseTimeOutputUnits
wxStaticText * m_staticTextReactance
virtual void OnViaRho_Button(wxCommandEvent &event)
wxTextCtrl * m_textCtrlViaPadDia
wxTextCtrl * m_textCtrlHoleDia
UNIT_SELECTOR_LEN * m_choiceViaLength
wxStaticText * m_staticTextTemperatureDiff
wxStaticText * m_staticTextCapacitance
wxStaticText * m_staticText79211
wxStaticText * m_staticTextClearanceDia
wxTextCtrl * m_textCtrlPlatingResistivity
wxStaticText * m_staticTextHoleDia
UNIT_SELECTOR_LEN * m_choiceViaPadDia
wxStaticText * m_staticTextWarning
wxStaticText * m_staticTextImpedance
wxTextCtrl * m_textCtrlViaLength
wxStaticText * m_staticTextAmpacityUnits
wxStaticText * m_viaResUnits
PANEL_VIA_SIZE_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(554, 417), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxStaticText * m_staticTextViaLength
wxButton * m_button_ResistivityVia
wxStaticText * m_viaThermalResUnits
wxStaticText * m_viaTempUnits
wxStaticText * m_staticTextRiseTime
wxStaticText * m_staticText65111
wxTextCtrl * m_textCtrlImpedance
UNIT_SELECTOR_LEN * m_choiceHoleDia
wxStaticText * m_viaReactanceUnits
UNIT_SELECTOR_LEN * m_choicePlatingThickness
wxButton * m_button_Permittivity
#define _(s)
wxStaticText * m_ViaAmpacity
wxStaticText * m_Inductance
wxStaticText * m_staticTextInductanceUnits
wxStaticText * m_Reactance
wxStaticText * m_staticTextAppliedCurrentUnits
const char * name
Definition: DXF_plotter.cpp:56
virtual void OnViaResetButtonClick(wxCommandEvent &event)
UNIT_SELECTOR_RESISTOR * m_choiceImpedance
wxStaticText * m_staticTextInductance
wxStaticText * m_staticTextRiseTimeUnits
wxStaticText * m_staticTextPermittivity
wxStaticText * m_staticTextPlatingThickness
wxTextCtrl * m_textCtrlClearanceDia
wxTextCtrl * m_textCtrlPlatingThickness
wxStaticText * m_ViaPowerLoss
wxStaticText * m_staticTextViaPadDia
wxStaticText * m_viaResistivityUnits
wxStaticText * m_ViaVoltageDrop
wxStaticText * m_staticTextResistivity
wxTextCtrl * m_textCtrlAppliedCurrent
wxStaticText * m_staticTextArea11
wxStaticText * m_ViaThermalResistance
wxStaticBitmap * m_viaBitmap
UNIT_SELECTOR_LEN * m_choiceClearanceDia
wxStaticText * m_staticText8411
wxStaticText * m_staticAppliedCurrent
wxStaticText * m_staticTextRiseTimeOutput