KiCad PCB EDA Suite
dialog_spice_model_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version May 6 2016)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO "NOT" EDIT THIS FILE!
7 
9 
11 
12 DIALOG_SPICE_MODEL_BASE::DIALOG_SPICE_MODEL_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
13 {
14  this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
15 
16  wxBoxSizer* bSizer1;
17  bSizer1 = new wxBoxSizer( wxVERTICAL );
18 
19  m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
20  m_passive = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
21  wxBoxSizer* bSizer41;
22  bSizer41 = new wxBoxSizer( wxVERTICAL );
23 
24  wxFlexGridSizer* fgSizer1;
25  fgSizer1 = new wxFlexGridSizer( 0, 3, 0, 0 );
26  fgSizer1->AddGrowableCol( 1 );
27  fgSizer1->SetFlexibleDirection( wxBOTH );
28  fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
29 
30  m_staticText2 = new wxStaticText( m_passive, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 );
31  m_staticText2->Wrap( -1 );
32  fgSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
33 
34  m_pasType = new wxComboBox( m_passive, wxID_ANY, _("Resistor"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
35  m_pasType->Append( _("Resistor") );
36  m_pasType->Append( _("Capacitor") );
37  m_pasType->Append( _("Inductor") );
38  m_pasType->SetSelection( 0 );
39  fgSizer1->Add( m_pasType, 0, wxALL|wxEXPAND, 5 );
40 
41  m_staticText62 = new wxStaticText( m_passive, wxID_ANY, _("Passive type"), wxDefaultPosition, wxDefaultSize, 0 );
42  m_staticText62->Wrap( -1 );
43  fgSizer1->Add( m_staticText62, 0, wxALL, 5 );
44 
45  m_staticText3 = new wxStaticText( m_passive, wxID_ANY, _("Value"), wxDefaultPosition, wxDefaultSize, 0 );
46  m_staticText3->Wrap( -1 );
47  fgSizer1->Add( m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
48 
49  m_pasValue = new wxTextCtrl( m_passive, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
50  m_pasValue->SetMinSize( wxSize( 200,-1 ) );
51 
52  fgSizer1->Add( m_pasValue, 0, wxALL|wxEXPAND, 5 );
53 
54  m_staticText63 = new wxStaticText( m_passive, wxID_ANY, _("Spice value in simulation"), wxDefaultPosition, wxDefaultSize, 0 );
55  m_staticText63->Wrap( -1 );
56  fgSizer1->Add( m_staticText63, 0, wxALL, 5 );
57 
58 
59  bSizer41->Add( fgSizer1, 0, wxEXPAND|wxALL, 5 );
60 
61  m_staticline1 = new wxStaticLine( m_passive, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
62  bSizer41->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
63 
64  wxBoxSizer* bSizer5;
65  bSizer5 = new wxBoxSizer( wxVERTICAL );
66 
67  m_staticText32 = new wxStaticText( m_passive, wxID_ANY, _("In Spice values,the decimal separator is the point.\nValues can use Spice unit symbols."), wxDefaultPosition, wxDefaultSize, 0 );
68  m_staticText32->Wrap( -1 );
69  bSizer5->Add( m_staticText32, 0, wxALL, 5 );
70 
71  m_staticText321 = new wxStaticText( m_passive, wxID_ANY, _("Spice unit symbols in values (case insensitive):"), wxDefaultPosition, wxDefaultSize, 0 );
72  m_staticText321->Wrap( -1 );
73  bSizer5->Add( m_staticText321, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
74 
75  wxFlexGridSizer* fgSizerUnitSymbols;
76  fgSizerUnitSymbols = new wxFlexGridSizer( 0, 3, 0, 0 );
77  fgSizerUnitSymbols->AddGrowableCol( 1 );
78  fgSizerUnitSymbols->SetFlexibleDirection( wxBOTH );
79  fgSizerUnitSymbols->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
80 
81  m_staticText341 = new wxStaticText( m_passive, wxID_ANY, _("f"), wxDefaultPosition, wxDefaultSize, 0 );
82  m_staticText341->Wrap( -1 );
83  fgSizerUnitSymbols->Add( m_staticText341, 0, wxALL, 5 );
84 
85  m_staticText351 = new wxStaticText( m_passive, wxID_ANY, _("fempto"), wxDefaultPosition, wxDefaultSize, 0 );
86  m_staticText351->Wrap( -1 );
87  fgSizerUnitSymbols->Add( m_staticText351, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
88 
89  m_staticText36 = new wxStaticText( m_passive, wxID_ANY, _("1e-15"), wxDefaultPosition, wxDefaultSize, 0 );
90  m_staticText36->Wrap( -1 );
91  fgSizerUnitSymbols->Add( m_staticText36, 0, wxALL, 5 );
92 
93  m_staticText37 = new wxStaticText( m_passive, wxID_ANY, _("p"), wxDefaultPosition, wxDefaultSize, 0 );
94  m_staticText37->Wrap( -1 );
95  fgSizerUnitSymbols->Add( m_staticText37, 0, wxALL, 5 );
96 
97  m_staticText38 = new wxStaticText( m_passive, wxID_ANY, _("pico"), wxDefaultPosition, wxDefaultSize, 0 );
98  m_staticText38->Wrap( -1 );
99  fgSizerUnitSymbols->Add( m_staticText38, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
100 
101  m_staticText39 = new wxStaticText( m_passive, wxID_ANY, _("1e-12"), wxDefaultPosition, wxDefaultSize, 0 );
102  m_staticText39->Wrap( -1 );
103  fgSizerUnitSymbols->Add( m_staticText39, 0, wxALL, 5 );
104 
105  m_staticText40 = new wxStaticText( m_passive, wxID_ANY, _("n"), wxDefaultPosition, wxDefaultSize, 0 );
106  m_staticText40->Wrap( -1 );
107  fgSizerUnitSymbols->Add( m_staticText40, 0, wxALL, 5 );
108 
109  m_staticText41 = new wxStaticText( m_passive, wxID_ANY, _("nano"), wxDefaultPosition, wxDefaultSize, 0 );
110  m_staticText41->Wrap( -1 );
111  fgSizerUnitSymbols->Add( m_staticText41, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
112 
113  m_staticText42 = new wxStaticText( m_passive, wxID_ANY, _("1e-9"), wxDefaultPosition, wxDefaultSize, 0 );
114  m_staticText42->Wrap( -1 );
115  fgSizerUnitSymbols->Add( m_staticText42, 0, wxALL, 5 );
116 
117  m_staticText43 = new wxStaticText( m_passive, wxID_ANY, _("u"), wxDefaultPosition, wxDefaultSize, 0 );
118  m_staticText43->Wrap( -1 );
119  fgSizerUnitSymbols->Add( m_staticText43, 0, wxALL, 5 );
120 
121  m_staticText44 = new wxStaticText( m_passive, wxID_ANY, _("micro"), wxDefaultPosition, wxDefaultSize, 0 );
122  m_staticText44->Wrap( -1 );
123  fgSizerUnitSymbols->Add( m_staticText44, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
124 
125  m_staticText46 = new wxStaticText( m_passive, wxID_ANY, _("1e-6"), wxDefaultPosition, wxDefaultSize, 0 );
126  m_staticText46->Wrap( -1 );
127  fgSizerUnitSymbols->Add( m_staticText46, 0, wxALL, 5 );
128 
129  m_staticText47 = new wxStaticText( m_passive, wxID_ANY, _("m"), wxDefaultPosition, wxDefaultSize, 0 );
130  m_staticText47->Wrap( -1 );
131  fgSizerUnitSymbols->Add( m_staticText47, 0, wxALL, 5 );
132 
133  m_staticText48 = new wxStaticText( m_passive, wxID_ANY, _("milli"), wxDefaultPosition, wxDefaultSize, 0 );
134  m_staticText48->Wrap( -1 );
135  fgSizerUnitSymbols->Add( m_staticText48, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
136 
137  m_staticText45 = new wxStaticText( m_passive, wxID_ANY, _("1e-3"), wxDefaultPosition, wxDefaultSize, 0 );
138  m_staticText45->Wrap( -1 );
139  fgSizerUnitSymbols->Add( m_staticText45, 0, wxALL, 5 );
140 
141  m_staticText49 = new wxStaticText( m_passive, wxID_ANY, _("k"), wxDefaultPosition, wxDefaultSize, 0 );
142  m_staticText49->Wrap( -1 );
143  fgSizerUnitSymbols->Add( m_staticText49, 0, wxALL, 5 );
144 
145  m_staticText50 = new wxStaticText( m_passive, wxID_ANY, _("kilo"), wxDefaultPosition, wxDefaultSize, 0 );
146  m_staticText50->Wrap( -1 );
147  fgSizerUnitSymbols->Add( m_staticText50, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
148 
149  m_staticText51 = new wxStaticText( m_passive, wxID_ANY, _("1e3"), wxDefaultPosition, wxDefaultSize, 0 );
150  m_staticText51->Wrap( -1 );
151  fgSizerUnitSymbols->Add( m_staticText51, 0, wxALL, 5 );
152 
153  m_staticText52 = new wxStaticText( m_passive, wxID_ANY, _("meg"), wxDefaultPosition, wxDefaultSize, 0 );
154  m_staticText52->Wrap( -1 );
155  fgSizerUnitSymbols->Add( m_staticText52, 0, wxALL, 5 );
156 
157  m_staticText53 = new wxStaticText( m_passive, wxID_ANY, _("mega"), wxDefaultPosition, wxDefaultSize, 0 );
158  m_staticText53->Wrap( -1 );
159  fgSizerUnitSymbols->Add( m_staticText53, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
160 
161  m_staticText54 = new wxStaticText( m_passive, wxID_ANY, _("1e6"), wxDefaultPosition, wxDefaultSize, 0 );
162  m_staticText54->Wrap( -1 );
163  fgSizerUnitSymbols->Add( m_staticText54, 0, wxALL, 5 );
164 
165  m_staticText55 = new wxStaticText( m_passive, wxID_ANY, _("g"), wxDefaultPosition, wxDefaultSize, 0 );
166  m_staticText55->Wrap( -1 );
167  fgSizerUnitSymbols->Add( m_staticText55, 0, wxALL, 5 );
168 
169  m_staticText56 = new wxStaticText( m_passive, wxID_ANY, _("giga"), wxDefaultPosition, wxDefaultSize, 0 );
170  m_staticText56->Wrap( -1 );
171  fgSizerUnitSymbols->Add( m_staticText56, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
172 
173  m_staticText57 = new wxStaticText( m_passive, wxID_ANY, _("1e9"), wxDefaultPosition, wxDefaultSize, 0 );
174  m_staticText57->Wrap( -1 );
175  fgSizerUnitSymbols->Add( m_staticText57, 0, wxALL, 5 );
176 
177  m_staticText58 = new wxStaticText( m_passive, wxID_ANY, _("t"), wxDefaultPosition, wxDefaultSize, 0 );
178  m_staticText58->Wrap( -1 );
179  fgSizerUnitSymbols->Add( m_staticText58, 0, wxALL, 5 );
180 
181  m_staticText59 = new wxStaticText( m_passive, wxID_ANY, _("tera"), wxDefaultPosition, wxDefaultSize, 0 );
182  m_staticText59->Wrap( -1 );
183  fgSizerUnitSymbols->Add( m_staticText59, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
184 
185  m_staticText60 = new wxStaticText( m_passive, wxID_ANY, _("1e12"), wxDefaultPosition, wxDefaultSize, 0 );
186  m_staticText60->Wrap( -1 );
187  fgSizerUnitSymbols->Add( m_staticText60, 0, wxALL, 5 );
188 
189 
190  bSizer5->Add( fgSizerUnitSymbols, 1, wxEXPAND, 5 );
191 
192 
193  bSizer41->Add( bSizer5, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
194 
195 
196  m_passive->SetSizer( bSizer41 );
197  m_passive->Layout();
198  bSizer41->Fit( m_passive );
199  m_notebook->AddPage( m_passive, _("Passive"), true );
200  m_semiconductor = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
201  wxFlexGridSizer* fgSizer3;
202  fgSizer3 = new wxFlexGridSizer( 0, 3, 0, 0 );
203  fgSizer3->AddGrowableCol( 1 );
204  fgSizer3->SetFlexibleDirection( wxBOTH );
205  fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
206 
207  m_staticText4 = new wxStaticText( m_semiconductor, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 );
208  m_staticText4->Wrap( -1 );
209  fgSizer3->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
210 
211  m_semiType = new wxComboBox( m_semiconductor, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
212  m_semiType->Append( _("Diode") );
213  m_semiType->Append( _("Bipolar transistor (BJT)") );
214  m_semiType->Append( _("MOSFET") );
215  fgSizer3->Add( m_semiType, 0, wxALL|wxEXPAND, 5 );
216 
217 
218  fgSizer3->Add( 0, 0, 0, 0, 5 );
219 
220  m_staticText5 = new wxStaticText( m_semiconductor, wxID_ANY, _("Model"), wxDefaultPosition, wxDefaultSize, 0 );
221  m_staticText5->Wrap( -1 );
222  fgSizer3->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
223 
224  m_semiModel = new wxComboBox( m_semiconductor, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
225  fgSizer3->Add( m_semiModel, 0, wxALL|wxEXPAND, 5 );
226 
227 
228  fgSizer3->Add( 0, 0, 0, 0, 5 );
229 
230  m_staticText7 = new wxStaticText( m_semiconductor, wxID_ANY, _("Library"), wxDefaultPosition, wxDefaultSize, 0 );
231  m_staticText7->Wrap( -1 );
232  fgSizer3->Add( m_staticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
233 
234  m_semiLib = new wxTextCtrl( m_semiconductor, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
235  fgSizer3->Add( m_semiLib, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
236 
237  m_semiSelectLib = new wxButton( m_semiconductor, wxID_ANY, _("Select file..."), wxDefaultPosition, wxDefaultSize, 0 );
238  fgSizer3->Add( m_semiSelectLib, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
239 
240 
241  m_semiconductor->SetSizer( fgSizer3 );
242  m_semiconductor->Layout();
243  fgSizer3->Fit( m_semiconductor );
244  m_notebook->AddPage( m_semiconductor, _("Semiconductor"), false );
245  m_ic = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
246  wxFlexGridSizer* fgSizer4;
247  fgSizer4 = new wxFlexGridSizer( 0, 3, 0, 0 );
248  fgSizer4->AddGrowableCol( 1 );
249  fgSizer4->SetFlexibleDirection( wxBOTH );
250  fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
251 
252  m_staticText8 = new wxStaticText( m_ic, wxID_ANY, _("Model"), wxDefaultPosition, wxDefaultSize, 0 );
253  m_staticText8->Wrap( -1 );
254  fgSizer4->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
255 
256  m_icModel = new wxComboBox( m_ic, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
257  m_icModel->SetMinSize( wxSize( 200,-1 ) );
258 
259  fgSizer4->Add( m_icModel, 0, wxALL|wxEXPAND, 5 );
260 
261 
262  fgSizer4->Add( 0, 0, 0, 0, 5 );
263 
264  m_staticText9 = new wxStaticText( m_ic, wxID_ANY, _("Library"), wxDefaultPosition, wxDefaultSize, 0 );
265  m_staticText9->Wrap( -1 );
266  fgSizer4->Add( m_staticText9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
267 
268  m_icLib = new wxTextCtrl( m_ic, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
269  fgSizer4->Add( m_icLib, 0, wxALL|wxEXPAND, 5 );
270 
271  m_icSelectLib = new wxButton( m_ic, wxID_ANY, _("Select file..."), wxDefaultPosition, wxDefaultSize, 0 );
272  fgSizer4->Add( m_icSelectLib, 0, wxALL, 5 );
273 
274 
275  m_ic->SetSizer( fgSizer4 );
276  m_ic->Layout();
277  fgSizer4->Fit( m_ic );
278  m_notebook->AddPage( m_ic, _("Integrated circuit"), false );
279  m_power = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
280  m_power->SetMinSize( wxSize( 650,-1 ) );
281 
282  wxBoxSizer* bSizer4;
283  bSizer4 = new wxBoxSizer( wxVERTICAL );
284 
285  wxStaticBoxSizer* sbSizer1;
286  sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_power, wxID_ANY, _("DC/AC analysis") ), wxVERTICAL );
287 
288  wxFlexGridSizer* fgSizer6;
289  fgSizer6 = new wxFlexGridSizer( 0, 4, 0, 0 );
290  fgSizer6->AddGrowableCol( 1 );
291  fgSizer6->AddGrowableCol( 3 );
292  fgSizer6->SetFlexibleDirection( wxBOTH );
293  fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
294 
295  m_staticText10 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("DC [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
296  m_staticText10->Wrap( -1 );
297  fgSizer6->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
298 
299  m_genDc = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
300  m_genDc->SetMinSize( wxSize( 60,-1 ) );
301 
302  fgSizer6->Add( m_genDc, 0, wxALL|wxEXPAND, 5 );
303 
304 
305  fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
306 
307 
308  fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
309 
310  m_staticText11 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("AC magnitude [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
311  m_staticText11->Wrap( -1 );
312  fgSizer6->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
313 
314  m_genAcMag = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
315  m_genAcMag->SetMinSize( wxSize( 60,-1 ) );
316 
317  fgSizer6->Add( m_genAcMag, 0, wxALL|wxEXPAND, 5 );
318 
319  m_staticText12 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("AC phase [rad]"), wxDefaultPosition, wxDefaultSize, 0 );
320  m_staticText12->Wrap( -1 );
321  fgSizer6->Add( m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
322 
323  m_genAcPhase = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
324  m_genAcPhase->SetMinSize( wxSize( 60,-1 ) );
325 
326  fgSizer6->Add( m_genAcPhase, 0, wxALL|wxEXPAND, 5 );
327 
328 
329  sbSizer1->Add( fgSizer6, 1, wxEXPAND, 5 );
330 
331 
332  bSizer4->Add( sbSizer1, 0, wxALL|wxEXPAND, 5 );
333 
334  wxStaticBoxSizer* sbSizer3;
335  sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_power, wxID_ANY, _("Transient analysis") ), wxVERTICAL );
336 
337  m_powerNotebook = new wxNotebook( sbSizer3->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
338  m_pwrPulse = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
339  wxFlexGridSizer* fgSizer7;
340  fgSizer7 = new wxFlexGridSizer( 0, 2, 0, 0 );
341  fgSizer7->AddGrowableCol( 1 );
342  fgSizer7->SetFlexibleDirection( wxBOTH );
343  fgSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
344 
345  m_staticText13 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Initial value [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
346  m_staticText13->Wrap( -1 );
347  fgSizer7->Add( m_staticText13, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
348 
349  m_pulseInit = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
350  m_pulseInit->SetMinSize( wxSize( 100,-1 ) );
351 
352  fgSizer7->Add( m_pulseInit, 0, wxALL|wxEXPAND, 5 );
353 
354  m_staticText14 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Pulsed value [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
355  m_staticText14->Wrap( -1 );
356  fgSizer7->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
357 
358  m_pulseNominal = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
359  fgSizer7->Add( m_pulseNominal, 0, wxALL|wxEXPAND, 5 );
360 
361  m_staticText15 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Delay time [s]"), wxDefaultPosition, wxDefaultSize, 0 );
362  m_staticText15->Wrap( -1 );
363  fgSizer7->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
364 
365  m_pulseDelay = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
366  fgSizer7->Add( m_pulseDelay, 0, wxALL|wxEXPAND, 5 );
367 
368  m_staticText16 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Rise time [s]"), wxDefaultPosition, wxDefaultSize, 0 );
369  m_staticText16->Wrap( -1 );
370  fgSizer7->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
371 
372  m_pulseRise = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
373  fgSizer7->Add( m_pulseRise, 0, wxALL|wxEXPAND, 5 );
374 
375  m_staticText17 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Fall time [s]"), wxDefaultPosition, wxDefaultSize, 0 );
376  m_staticText17->Wrap( -1 );
377  fgSizer7->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
378 
379  m_pulseFall = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
380  fgSizer7->Add( m_pulseFall, 0, wxALL|wxEXPAND, 5 );
381 
382  m_staticText18 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Pulse width [s]"), wxDefaultPosition, wxDefaultSize, 0 );
383  m_staticText18->Wrap( -1 );
384  fgSizer7->Add( m_staticText18, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
385 
386  m_pulseWidth = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
387  fgSizer7->Add( m_pulseWidth, 0, wxALL|wxEXPAND, 5 );
388 
389  m_staticText20 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Period [s]"), wxDefaultPosition, wxDefaultSize, 0 );
390  m_staticText20->Wrap( -1 );
391  fgSizer7->Add( m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
392 
393  m_pulsePeriod = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
394  fgSizer7->Add( m_pulsePeriod, 0, wxALL|wxEXPAND, 5 );
395 
396 
397  m_pwrPulse->SetSizer( fgSizer7 );
398  m_pwrPulse->Layout();
399  fgSizer7->Fit( m_pwrPulse );
400  m_powerNotebook->AddPage( m_pwrPulse, _("Pulse"), true );
401  m_pwrSin = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
402  wxFlexGridSizer* fgSizer8;
403  fgSizer8 = new wxFlexGridSizer( 0, 2, 0, 0 );
404  fgSizer8->AddGrowableCol( 1 );
405  fgSizer8->SetFlexibleDirection( wxBOTH );
406  fgSizer8->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
407 
408  m_staticText21 = new wxStaticText( m_pwrSin, wxID_ANY, _("DC offset [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
409  m_staticText21->Wrap( -1 );
410  fgSizer8->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
411 
412  m_sinOffset = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
413  m_sinOffset->SetMinSize( wxSize( 100,-1 ) );
414 
415  fgSizer8->Add( m_sinOffset, 0, wxALL|wxEXPAND, 5 );
416 
417  m_staticText22 = new wxStaticText( m_pwrSin, wxID_ANY, _("Amplitude [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
418  m_staticText22->Wrap( -1 );
419  fgSizer8->Add( m_staticText22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
420 
421  m_sinAmplitude = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
422  fgSizer8->Add( m_sinAmplitude, 0, wxALL|wxEXPAND, 5 );
423 
424  m_staticText23 = new wxStaticText( m_pwrSin, wxID_ANY, _("Frequency [Hz]"), wxDefaultPosition, wxDefaultSize, 0 );
425  m_staticText23->Wrap( -1 );
426  fgSizer8->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
427 
428  m_sinFreq = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
429  fgSizer8->Add( m_sinFreq, 0, wxALL|wxEXPAND, 5 );
430 
431  m_staticText24 = new wxStaticText( m_pwrSin, wxID_ANY, _("Delay [s]"), wxDefaultPosition, wxDefaultSize, 0 );
432  m_staticText24->Wrap( -1 );
433  fgSizer8->Add( m_staticText24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
434 
435  m_sinDelay = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
436  fgSizer8->Add( m_sinDelay, 0, wxALL|wxEXPAND, 5 );
437 
438  m_staticText25 = new wxStaticText( m_pwrSin, wxID_ANY, _("Damping factor [1/s]"), wxDefaultPosition, wxDefaultSize, 0 );
439  m_staticText25->Wrap( -1 );
440  fgSizer8->Add( m_staticText25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
441 
442  m_sinDampFactor = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
443  fgSizer8->Add( m_sinDampFactor, 0, wxALL|wxEXPAND, 5 );
444 
445 
446  m_pwrSin->SetSizer( fgSizer8 );
447  m_pwrSin->Layout();
448  fgSizer8->Fit( m_pwrSin );
449  m_powerNotebook->AddPage( m_pwrSin, _("Sinusoidal"), false );
450  m_pwrExp = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
451  wxFlexGridSizer* fgSizer9;
452  fgSizer9 = new wxFlexGridSizer( 0, 2, 0, 0 );
453  fgSizer9->AddGrowableCol( 1 );
454  fgSizer9->SetFlexibleDirection( wxBOTH );
455  fgSizer9->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
456 
457  m_staticText26 = new wxStaticText( m_pwrExp, wxID_ANY, _("Initial value [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
458  m_staticText26->Wrap( -1 );
459  fgSizer9->Add( m_staticText26, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
460 
461  m_expInit = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
462  m_expInit->SetMinSize( wxSize( 100,-1 ) );
463 
464  fgSizer9->Add( m_expInit, 0, wxALL|wxEXPAND, 5 );
465 
466  m_staticText27 = new wxStaticText( m_pwrExp, wxID_ANY, _("Pulsed value [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
467  m_staticText27->Wrap( -1 );
468  fgSizer9->Add( m_staticText27, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
469 
470  m_expPulsed = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
471  fgSizer9->Add( m_expPulsed, 0, wxALL|wxEXPAND, 5 );
472 
473  m_staticText28 = new wxStaticText( m_pwrExp, wxID_ANY, _("Rise delay time [s]"), wxDefaultPosition, wxDefaultSize, 0 );
474  m_staticText28->Wrap( -1 );
475  fgSizer9->Add( m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
476 
477  m_expRiseDelay = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
478  fgSizer9->Add( m_expRiseDelay, 0, wxALL|wxEXPAND, 5 );
479 
480  m_staticText29 = new wxStaticText( m_pwrExp, wxID_ANY, _("Rise time constant [s]"), wxDefaultPosition, wxDefaultSize, 0 );
481  m_staticText29->Wrap( -1 );
482  fgSizer9->Add( m_staticText29, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
483 
484  m_expRiseConst = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
485  fgSizer9->Add( m_expRiseConst, 0, wxALL|wxEXPAND, 5 );
486 
487  m_staticText30 = new wxStaticText( m_pwrExp, wxID_ANY, _("Fall delay time [s]"), wxDefaultPosition, wxDefaultSize, 0 );
488  m_staticText30->Wrap( -1 );
489  fgSizer9->Add( m_staticText30, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
490 
491  m_expFallDelay = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
492  fgSizer9->Add( m_expFallDelay, 0, wxALL|wxEXPAND, 5 );
493 
494  m_staticText31 = new wxStaticText( m_pwrExp, wxID_ANY, _("Fall time constant [s]"), wxDefaultPosition, wxDefaultSize, 0 );
495  m_staticText31->Wrap( -1 );
496  fgSizer9->Add( m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
497 
498  m_expFallConst = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
499  fgSizer9->Add( m_expFallConst, 0, wxALL|wxEXPAND, 5 );
500 
501 
502  m_pwrExp->SetSizer( fgSizer9 );
503  m_pwrExp->Layout();
504  fgSizer9->Fit( m_pwrExp );
505  m_powerNotebook->AddPage( m_pwrExp, _("Exponential"), false );
506  m_pwrPwl = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
507  m_pwrPwl->SetToolTip( _("Piece-wise linear") );
508 
509  wxFlexGridSizer* fgSizer15;
510  fgSizer15 = new wxFlexGridSizer( 0, 2, 0, 0 );
511  fgSizer15->AddGrowableCol( 0 );
512  fgSizer15->AddGrowableRow( 1 );
513  fgSizer15->SetFlexibleDirection( wxBOTH );
514  fgSizer15->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
515 
516  wxFlexGridSizer* fgSizer10;
517  fgSizer10 = new wxFlexGridSizer( 0, 2, 0, 0 );
518  fgSizer10->AddGrowableCol( 1 );
519  fgSizer10->SetFlexibleDirection( wxBOTH );
520  fgSizer10->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
521 
522  m_staticText34 = new wxStaticText( m_pwrPwl, wxID_ANY, _("Time [s]"), wxDefaultPosition, wxDefaultSize, 0 );
523  m_staticText34->Wrap( -1 );
524  fgSizer10->Add( m_staticText34, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
525 
526  m_pwlTime = new wxTextCtrl( m_pwrPwl, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
527  m_pwlTime->SetMinSize( wxSize( 100,-1 ) );
528 
529  fgSizer10->Add( m_pwlTime, 0, wxALL|wxEXPAND, 5 );
530 
531  m_staticText35 = new wxStaticText( m_pwrPwl, wxID_ANY, _("Value [V/A]"), wxDefaultPosition, wxDefaultSize, 0 );
532  m_staticText35->Wrap( -1 );
533  fgSizer10->Add( m_staticText35, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
534 
535  m_pwlValue = new wxTextCtrl( m_pwrPwl, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
536  fgSizer10->Add( m_pwlValue, 0, wxALL|wxEXPAND, 5 );
537 
538 
539  fgSizer15->Add( fgSizer10, 1, wxEXPAND, 5 );
540 
541  m_pwlAddButton = new wxButton( m_pwrPwl, wxID_ANY, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
542  fgSizer15->Add( m_pwlAddButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
543 
544  m_pwlValList = new wxListCtrl( m_pwrPwl, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
545  m_pwlValList->SetMinSize( wxSize( 200,-1 ) );
546 
547  fgSizer15->Add( m_pwlValList, 0, wxALL|wxEXPAND, 5 );
548 
549  m_pwlRemoveBtn = new wxButton( m_pwrPwl, wxID_ANY, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
550  fgSizer15->Add( m_pwlRemoveBtn, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
551 
552 
553  m_pwrPwl->SetSizer( fgSizer15 );
554  m_pwrPwl->Layout();
555  fgSizer15->Fit( m_pwrPwl );
556  m_powerNotebook->AddPage( m_pwrPwl, _("Piece-wise Linear"), false );
557  m_pwrFm = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
558  m_pwrFm->Hide();
559 
560  m_powerNotebook->AddPage( m_pwrFm, _("FM"), false );
561  m_pwrAm = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
562  m_pwrAm->Hide();
563 
564  m_powerNotebook->AddPage( m_pwrAm, _("AM"), false );
565  m_pwrTransNoise = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
566  m_pwrTransNoise->Hide();
567 
568  m_powerNotebook->AddPage( m_pwrTransNoise, _("Transient noise"), false );
569  m_pwrRandom = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
570  m_pwrRandom->Hide();
571 
572  m_powerNotebook->AddPage( m_pwrRandom, _("Random"), false );
573  m_pwrExtData = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
574  m_pwrExtData->Hide();
575 
576  m_powerNotebook->AddPage( m_pwrExtData, _("External data"), false );
577 
578  sbSizer3->Add( m_powerNotebook, 0, wxEXPAND | wxALL, 5 );
579 
580 
581  bSizer4->Add( sbSizer3, 0, wxALL|wxEXPAND, 5 );
582 
583  wxString m_pwrTypeChoices[] = { _("Voltage"), _("Current") };
584  int m_pwrTypeNChoices = sizeof( m_pwrTypeChoices ) / sizeof( wxString );
585  m_pwrType = new wxRadioBox( m_power, wxID_ANY, _("Source type"), wxDefaultPosition, wxDefaultSize, m_pwrTypeNChoices, m_pwrTypeChoices, 1, wxRA_SPECIFY_ROWS );
586  m_pwrType->SetSelection( 0 );
587  bSizer4->Add( m_pwrType, 0, wxALL|wxEXPAND, 5 );
588 
589 
590  m_power->SetSizer( bSizer4 );
591  m_power->Layout();
592  bSizer4->Fit( m_power );
593  m_notebook->AddPage( m_power, _("Source"), false );
594 
595  bSizer1->Add( m_notebook, 1, wxEXPAND | wxALL, 5 );
596 
597  m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
598  bSizer1->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
599 
600  m_disabled = new wxCheckBox( this, wxID_ANY, _("Disable component for simulation"), wxDefaultPosition, wxDefaultSize, 0 );
601  bSizer1->Add( m_disabled, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
602 
603  wxBoxSizer* bSizer2;
604  bSizer2 = new wxBoxSizer( wxHORIZONTAL );
605 
606  m_nodeSeqCheck = new wxCheckBox( this, wxID_ANY, _("Alternate node sequence:"), wxDefaultPosition, wxDefaultSize, 0 );
607  bSizer2->Add( m_nodeSeqCheck, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
608 
609  m_nodeSeqVal = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
610  m_nodeSeqVal->SetMinSize( wxSize( 200,-1 ) );
611 
612  bSizer2->Add( m_nodeSeqVal, 1, wxALL, 5 );
613 
614 
615  bSizer1->Add( bSizer2, 0, wxEXPAND, 5 );
616 
617  m_staticline3 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
618  bSizer1->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
619 
620  m_sdbSizer = new wxStdDialogButtonSizer();
621  m_sdbSizerOK = new wxButton( this, wxID_OK );
622  m_sdbSizer->AddButton( m_sdbSizerOK );
623  m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
624  m_sdbSizer->AddButton( m_sdbSizerCancel );
625  m_sdbSizer->Realize();
626 
627  bSizer1->Add( m_sdbSizer, 0, wxALL|wxEXPAND, 5 );
628 
629 
630  this->SetSizer( bSizer1 );
631  this->Layout();
632 
633  this->Centre( wxBOTH );
634 
635  // Connect Events
636  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SPICE_MODEL_BASE::onInitDlg ) );
637  m_semiSelectLib->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onSemiSelectLib ), NULL, this );
638  m_icSelectLib->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onSelectIcLib ), NULL, this );
639  m_pwlAddButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlAdd ), NULL, this );
640  m_pwlRemoveBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlRemove ), NULL, this );
641 }
642 
644 {
645  // Disconnect Events
646  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SPICE_MODEL_BASE::onInitDlg ) );
647  m_semiSelectLib->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onSemiSelectLib ), NULL, this );
648  m_icSelectLib->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onSelectIcLib ), NULL, this );
649  m_pwlAddButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlAdd ), NULL, this );
650  m_pwlRemoveBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlRemove ), NULL, this );
651 
652 }
Class DIALOG_SHIM may sit in the inheritance tree between wxDialog and any class written by wxFormBui...
Definition: dialog_shim.h:60
virtual void onSemiSelectLib(wxCommandEvent &event)
wxStdDialogButtonSizer * m_sdbSizer
virtual void onSelectIcLib(wxCommandEvent &event)
virtual void onInitDlg(wxInitDialogEvent &event)
DIALOG_SPICE_MODEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(640, 582), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
virtual void onPwlAdd(wxCommandEvent &event)
virtual void onPwlRemove(wxCommandEvent &event)