You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

996 lines
49 KiB

  1. ///////////////////////////////////////////////////////////////////////////
  2. // C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5)
  3. // http://www.wxformbuilder.org/
  4. //
  5. // PLEASE DO *NOT* EDIT THIS FILE!
  6. ///////////////////////////////////////////////////////////////////////////
  7. #include "dialog_spice_model_base.h"
  8. ///////////////////////////////////////////////////////////////////////////
  9. 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 )
  10. {
  11. this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
  12. wxBoxSizer* bSizer1;
  13. bSizer1 = new wxBoxSizer( wxVERTICAL );
  14. m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
  15. m_passive = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  16. wxBoxSizer* bSizer41;
  17. bSizer41 = new wxBoxSizer( wxVERTICAL );
  18. wxFlexGridSizer* fgSizer1;
  19. fgSizer1 = new wxFlexGridSizer( 0, 3, 0, 0 );
  20. fgSizer1->AddGrowableCol( 1 );
  21. fgSizer1->SetFlexibleDirection( wxBOTH );
  22. fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  23. m_staticTextPtype = new wxStaticText( m_passive, wxID_ANY, _("Type:"), wxDefaultPosition, wxDefaultSize, 0 );
  24. m_staticTextPtype->Wrap( -1 );
  25. fgSizer1->Add( m_staticTextPtype, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  26. m_pasType = new wxComboBox( m_passive, wxID_ANY, _("Resistor"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
  27. m_pasType->Append( _("Resistor") );
  28. m_pasType->Append( _("Capacitor") );
  29. m_pasType->Append( _("Inductor") );
  30. m_pasType->SetSelection( 0 );
  31. fgSizer1->Add( m_pasType, 0, wxALL|wxEXPAND, 5 );
  32. m_staticText62 = new wxStaticText( m_passive, wxID_ANY, _("Passive type"), wxDefaultPosition, wxDefaultSize, 0 );
  33. m_staticText62->Wrap( -1 );
  34. fgSizer1->Add( m_staticText62, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  35. m_staticTextPvalue = new wxStaticText( m_passive, wxID_ANY, _("Value:"), wxDefaultPosition, wxDefaultSize, 0 );
  36. m_staticTextPvalue->Wrap( -1 );
  37. fgSizer1->Add( m_staticTextPvalue, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  38. m_pasValue = new wxTextCtrl( m_passive, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  39. m_pasValue->SetMinSize( wxSize( 200,-1 ) );
  40. fgSizer1->Add( m_pasValue, 0, wxALL|wxEXPAND, 5 );
  41. m_staticTextSpVal = new wxStaticText( m_passive, wxID_ANY, _("Spice value in simulation"), wxDefaultPosition, wxDefaultSize, 0 );
  42. m_staticTextSpVal->Wrap( -1 );
  43. fgSizer1->Add( m_staticTextSpVal, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  44. bSizer41->Add( fgSizer1, 0, wxEXPAND|wxALL, 5 );
  45. m_staticline1 = new wxStaticLine( m_passive, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  46. bSizer41->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
  47. wxBoxSizer* bSizerUnits;
  48. bSizerUnits = new wxBoxSizer( wxVERTICAL );
  49. 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 );
  50. m_staticText32->Wrap( -1 );
  51. bSizerUnits->Add( m_staticText32, 0, wxALL, 5 );
  52. m_staticText321 = new wxStaticText( m_passive, wxID_ANY, _("Spice unit symbols in values (case insensitive):"), wxDefaultPosition, wxDefaultSize, 0 );
  53. m_staticText321->Wrap( -1 );
  54. bSizerUnits->Add( m_staticText321, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
  55. wxFlexGridSizer* fgSizerUnitSymbols;
  56. fgSizerUnitSymbols = new wxFlexGridSizer( 0, 3, 0, 0 );
  57. fgSizerUnitSymbols->AddGrowableCol( 1 );
  58. fgSizerUnitSymbols->SetFlexibleDirection( wxBOTH );
  59. fgSizerUnitSymbols->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  60. m_staticTextF1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  61. m_staticTextF1->Wrap( -1 );
  62. fgSizerUnitSymbols->Add( m_staticTextF1, 0, wxALL, 5 );
  63. m_staticTextF2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  64. m_staticTextF2->Wrap( -1 );
  65. fgSizerUnitSymbols->Add( m_staticTextF2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  66. m_staticTextF3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  67. m_staticTextF3->Wrap( -1 );
  68. fgSizerUnitSymbols->Add( m_staticTextF3, 0, wxALL, 5 );
  69. m_staticTextP1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  70. m_staticTextP1->Wrap( -1 );
  71. fgSizerUnitSymbols->Add( m_staticTextP1, 0, wxALL, 5 );
  72. m_staticTextP2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  73. m_staticTextP2->Wrap( -1 );
  74. fgSizerUnitSymbols->Add( m_staticTextP2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  75. m_staticTextP3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  76. m_staticTextP3->Wrap( -1 );
  77. fgSizerUnitSymbols->Add( m_staticTextP3, 0, wxALL, 5 );
  78. m_staticTextN1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  79. m_staticTextN1->Wrap( -1 );
  80. fgSizerUnitSymbols->Add( m_staticTextN1, 0, wxALL, 5 );
  81. m_staticTextN2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  82. m_staticTextN2->Wrap( -1 );
  83. fgSizerUnitSymbols->Add( m_staticTextN2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  84. m_staticTextN3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  85. m_staticTextN3->Wrap( -1 );
  86. fgSizerUnitSymbols->Add( m_staticTextN3, 0, wxALL, 5 );
  87. m_staticTextU1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  88. m_staticTextU1->Wrap( -1 );
  89. fgSizerUnitSymbols->Add( m_staticTextU1, 0, wxALL, 5 );
  90. m_staticTextU2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  91. m_staticTextU2->Wrap( -1 );
  92. fgSizerUnitSymbols->Add( m_staticTextU2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  93. m_staticTextU3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  94. m_staticTextU3->Wrap( -1 );
  95. fgSizerUnitSymbols->Add( m_staticTextU3, 0, wxALL, 5 );
  96. m_staticTextM1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  97. m_staticTextM1->Wrap( -1 );
  98. fgSizerUnitSymbols->Add( m_staticTextM1, 0, wxALL, 5 );
  99. m_staticTextM2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  100. m_staticTextM2->Wrap( -1 );
  101. fgSizerUnitSymbols->Add( m_staticTextM2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  102. m_staticTextM3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  103. m_staticTextM3->Wrap( -1 );
  104. fgSizerUnitSymbols->Add( m_staticTextM3, 0, wxALL, 5 );
  105. m_staticTextK1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  106. m_staticTextK1->Wrap( -1 );
  107. fgSizerUnitSymbols->Add( m_staticTextK1, 0, wxALL, 5 );
  108. m_staticTextK2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  109. m_staticTextK2->Wrap( -1 );
  110. fgSizerUnitSymbols->Add( m_staticTextK2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  111. m_staticTextK3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  112. m_staticTextK3->Wrap( -1 );
  113. fgSizerUnitSymbols->Add( m_staticTextK3, 0, wxALL, 5 );
  114. m_staticTextMeg1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  115. m_staticTextMeg1->Wrap( -1 );
  116. fgSizerUnitSymbols->Add( m_staticTextMeg1, 0, wxALL, 5 );
  117. m_staticTextMeg2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  118. m_staticTextMeg2->Wrap( -1 );
  119. fgSizerUnitSymbols->Add( m_staticTextMeg2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  120. m_staticTextMeg3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  121. m_staticTextMeg3->Wrap( -1 );
  122. fgSizerUnitSymbols->Add( m_staticTextMeg3, 0, wxALL, 5 );
  123. m_staticTextG1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  124. m_staticTextG1->Wrap( -1 );
  125. fgSizerUnitSymbols->Add( m_staticTextG1, 0, wxALL, 5 );
  126. m_staticTextG2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  127. m_staticTextG2->Wrap( -1 );
  128. fgSizerUnitSymbols->Add( m_staticTextG2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  129. m_staticTextG3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  130. m_staticTextG3->Wrap( -1 );
  131. fgSizerUnitSymbols->Add( m_staticTextG3, 0, wxALL, 5 );
  132. m_staticTextT1 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  133. m_staticTextT1->Wrap( -1 );
  134. fgSizerUnitSymbols->Add( m_staticTextT1, 0, wxALL, 5 );
  135. m_staticTextT2 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  136. m_staticTextT2->Wrap( -1 );
  137. fgSizerUnitSymbols->Add( m_staticTextT2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  138. m_staticTextT3 = new wxStaticText( m_passive, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
  139. m_staticTextT3->Wrap( -1 );
  140. fgSizerUnitSymbols->Add( m_staticTextT3, 0, wxALL, 5 );
  141. bSizerUnits->Add( fgSizerUnitSymbols, 1, wxEXPAND, 5 );
  142. bSizer41->Add( bSizerUnits, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
  143. m_passive->SetSizer( bSizer41 );
  144. m_passive->Layout();
  145. bSizer41->Fit( m_passive );
  146. m_notebook->AddPage( m_passive, _("Passive"), true );
  147. m_model = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  148. wxBoxSizer* bSizer6;
  149. bSizer6 = new wxBoxSizer( wxVERTICAL );
  150. wxFlexGridSizer* fgSizer3;
  151. fgSizer3 = new wxFlexGridSizer( 0, 2, 0, 0 );
  152. fgSizer3->AddGrowableCol( 1 );
  153. fgSizer3->SetFlexibleDirection( wxBOTH );
  154. fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  155. m_staticText7 = new wxStaticText( m_model, wxID_ANY, _("Library:"), wxDefaultPosition, wxDefaultSize, 0 );
  156. m_staticText7->Wrap( -1 );
  157. fgSizer3->Add( m_staticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  158. wxBoxSizer* bSizer7;
  159. bSizer7 = new wxBoxSizer( wxHORIZONTAL );
  160. m_modelLibrary = new wxTextCtrl( m_model, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  161. bSizer7->Add( m_modelLibrary, 1, wxALL|wxEXPAND, 5 );
  162. m_selectLibrary = new wxButton( m_model, wxID_ANY, _("Select file..."), wxDefaultPosition, wxDefaultSize, 0 );
  163. bSizer7->Add( m_selectLibrary, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  164. fgSizer3->Add( bSizer7, 1, wxBOTTOM|wxEXPAND, 5 );
  165. m_staticText5 = new wxStaticText( m_model, wxID_ANY, _("Model:"), wxDefaultPosition, wxDefaultSize, 0 );
  166. m_staticText5->Wrap( -1 );
  167. fgSizer3->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  168. m_modelName = new wxComboBox( m_model, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_SORT );
  169. fgSizer3->Add( m_modelName, 0, wxALL|wxEXPAND, 5 );
  170. m_staticText4 = new wxStaticText( m_model, wxID_ANY, _("Type:"), wxDefaultPosition, wxDefaultSize, 0 );
  171. m_staticText4->Wrap( -1 );
  172. fgSizer3->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  173. m_modelType = new wxComboBox( m_model, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
  174. fgSizer3->Add( m_modelType, 0, wxALL|wxEXPAND, 5 );
  175. m_staticTextNote = new wxStaticText( m_model, wxID_ANY, _("Note:"), wxDefaultPosition, wxDefaultSize, 0 );
  176. m_staticTextNote->Wrap( -1 );
  177. fgSizer3->Add( m_staticTextNote, 0, wxALL, 5 );
  178. m_stInfoNote = new wxStaticText( m_model, wxID_ANY, _("note"), wxDefaultPosition, wxDefaultSize, 0 );
  179. m_stInfoNote->Wrap( -1 );
  180. fgSizer3->Add( m_stInfoNote, 0, wxALL, 5 );
  181. bSizer6->Add( fgSizer3, 0, wxEXPAND, 5 );
  182. m_libraryContents = new wxStyledTextCtrl( m_model, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, wxEmptyString );
  183. m_libraryContents->SetUseTabs( false );
  184. m_libraryContents->SetTabWidth( 4 );
  185. m_libraryContents->SetIndent( 4 );
  186. m_libraryContents->SetTabIndents( true );
  187. m_libraryContents->SetBackSpaceUnIndents( true );
  188. m_libraryContents->SetViewEOL( false );
  189. m_libraryContents->SetViewWhiteSpace( false );
  190. m_libraryContents->SetMarginWidth( 2, 0 );
  191. m_libraryContents->SetIndentationGuides( false );
  192. m_libraryContents->SetReadOnly( false );
  193. m_libraryContents->SetMarginWidth( 1, 0 );
  194. m_libraryContents->SetMarginType( 0, wxSTC_MARGIN_NUMBER );
  195. m_libraryContents->SetMarginWidth( 0, m_libraryContents->TextWidth( wxSTC_STYLE_LINENUMBER, wxT("_99999") ) );
  196. {
  197. wxFont font = wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString );
  198. m_libraryContents->StyleSetFont( wxSTC_STYLE_DEFAULT, font );
  199. }
  200. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS );
  201. m_libraryContents->MarkerSetBackground( wxSTC_MARKNUM_FOLDER, wxColour( wxT("BLACK") ) );
  202. m_libraryContents->MarkerSetForeground( wxSTC_MARKNUM_FOLDER, wxColour( wxT("WHITE") ) );
  203. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_BOXMINUS );
  204. m_libraryContents->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT("BLACK") ) );
  205. m_libraryContents->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT("WHITE") ) );
  206. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDERSUB, wxSTC_MARK_EMPTY );
  207. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDEREND, wxSTC_MARK_BOXPLUS );
  208. m_libraryContents->MarkerSetBackground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT("BLACK") ) );
  209. m_libraryContents->MarkerSetForeground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT("WHITE") ) );
  210. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDEROPENMID, wxSTC_MARK_BOXMINUS );
  211. m_libraryContents->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT("BLACK") ) );
  212. m_libraryContents->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT("WHITE") ) );
  213. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_EMPTY );
  214. m_libraryContents->MarkerDefine( wxSTC_MARKNUM_FOLDERTAIL, wxSTC_MARK_EMPTY );
  215. m_libraryContents->SetSelBackground( true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
  216. m_libraryContents->SetSelForeground( true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHTTEXT ) );
  217. m_libraryContents->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
  218. bSizer6->Add( m_libraryContents, 1, wxEXPAND | wxALL, 5 );
  219. m_model->SetSizer( bSizer6 );
  220. m_model->Layout();
  221. bSizer6->Fit( m_model );
  222. m_notebook->AddPage( m_model, _("Model"), false );
  223. m_power = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  224. m_power->SetMinSize( wxSize( 650,-1 ) );
  225. wxBoxSizer* bSizer4;
  226. bSizer4 = new wxBoxSizer( wxVERTICAL );
  227. wxStaticBoxSizer* sbSizer1;
  228. sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_power, wxID_ANY, _("DC/AC Analysis") ), wxVERTICAL );
  229. wxFlexGridSizer* fgSizer6;
  230. fgSizer6 = new wxFlexGridSizer( 0, 6, 0, 0 );
  231. fgSizer6->AddGrowableCol( 1 );
  232. fgSizer6->AddGrowableCol( 3 );
  233. fgSizer6->SetFlexibleDirection( wxBOTH );
  234. fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  235. m_staticText10 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("DC:"), wxDefaultPosition, wxDefaultSize, 0 );
  236. m_staticText10->Wrap( -1 );
  237. fgSizer6->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  238. m_genDc = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  239. m_genDc->SetMinSize( wxSize( 60,-1 ) );
  240. fgSizer6->Add( m_genDc, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  241. m_staticText113 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  242. m_staticText113->Wrap( -1 );
  243. fgSizer6->Add( m_staticText113, 0, wxALIGN_CENTER_VERTICAL, 5 );
  244. fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
  245. fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
  246. fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
  247. m_staticText11 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("AC magnitude:"), wxDefaultPosition, wxDefaultSize, 0 );
  248. m_staticText11->Wrap( -1 );
  249. fgSizer6->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  250. m_genAcMag = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  251. m_genAcMag->SetMinSize( wxSize( 60,-1 ) );
  252. fgSizer6->Add( m_genAcMag, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  253. m_staticText111 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  254. m_staticText111->Wrap( -1 );
  255. fgSizer6->Add( m_staticText111, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  256. m_staticText12 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("AC phase:"), wxDefaultPosition, wxDefaultSize, 0 );
  257. m_staticText12->Wrap( -1 );
  258. fgSizer6->Add( m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  259. m_genAcPhase = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  260. m_genAcPhase->SetMinSize( wxSize( 60,-1 ) );
  261. fgSizer6->Add( m_genAcPhase, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
  262. m_staticText112 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("radians"), wxDefaultPosition, wxDefaultSize, 0 );
  263. m_staticText112->Wrap( -1 );
  264. fgSizer6->Add( m_staticText112, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  265. sbSizer1->Add( fgSizer6, 1, wxBOTTOM|wxEXPAND, 5 );
  266. bSizer4->Add( sbSizer1, 0, wxALL|wxEXPAND, 5 );
  267. wxStaticBoxSizer* sbSizer3;
  268. sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_power, wxID_ANY, _("Transient Analysis") ), wxVERTICAL );
  269. m_powerNotebook = new wxNotebook( sbSizer3->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
  270. m_pwrPulse = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  271. wxFlexGridSizer* fgSizer7;
  272. fgSizer7 = new wxFlexGridSizer( 0, 3, 0, 0 );
  273. fgSizer7->AddGrowableCol( 1 );
  274. fgSizer7->SetFlexibleDirection( wxBOTH );
  275. fgSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  276. m_staticText13 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Initial value:"), wxDefaultPosition, wxDefaultSize, 0 );
  277. m_staticText13->Wrap( -1 );
  278. fgSizer7->Add( m_staticText13, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  279. m_pulseInit = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  280. m_pulseInit->SetMinSize( wxSize( 100,-1 ) );
  281. fgSizer7->Add( m_pulseInit, 0, wxALL|wxEXPAND, 5 );
  282. m_staticText131 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  283. m_staticText131->Wrap( -1 );
  284. fgSizer7->Add( m_staticText131, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  285. m_staticText14 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Pulsed value:"), wxDefaultPosition, wxDefaultSize, 0 );
  286. m_staticText14->Wrap( -1 );
  287. fgSizer7->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  288. m_pulseNominal = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  289. fgSizer7->Add( m_pulseNominal, 0, wxALL|wxEXPAND, 5 );
  290. m_staticText132 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  291. m_staticText132->Wrap( -1 );
  292. fgSizer7->Add( m_staticText132, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  293. m_staticText15 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Delay time:"), wxDefaultPosition, wxDefaultSize, 0 );
  294. m_staticText15->Wrap( -1 );
  295. fgSizer7->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  296. m_pulseDelay = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  297. fgSizer7->Add( m_pulseDelay, 0, wxALL|wxEXPAND, 5 );
  298. m_staticText133 = new wxStaticText( m_pwrPulse, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  299. m_staticText133->Wrap( -1 );
  300. fgSizer7->Add( m_staticText133, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  301. m_staticText16 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Rise time:"), wxDefaultPosition, wxDefaultSize, 0 );
  302. m_staticText16->Wrap( -1 );
  303. fgSizer7->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  304. m_pulseRise = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  305. fgSizer7->Add( m_pulseRise, 0, wxALL|wxEXPAND, 5 );
  306. m_staticText134 = new wxStaticText( m_pwrPulse, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  307. m_staticText134->Wrap( -1 );
  308. fgSizer7->Add( m_staticText134, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  309. m_staticText17 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Fall time:"), wxDefaultPosition, wxDefaultSize, 0 );
  310. m_staticText17->Wrap( -1 );
  311. fgSizer7->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  312. m_pulseFall = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  313. fgSizer7->Add( m_pulseFall, 0, wxALL|wxEXPAND, 5 );
  314. m_staticText135 = new wxStaticText( m_pwrPulse, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  315. m_staticText135->Wrap( -1 );
  316. fgSizer7->Add( m_staticText135, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  317. m_staticText18 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Pulse width:"), wxDefaultPosition, wxDefaultSize, 0 );
  318. m_staticText18->Wrap( -1 );
  319. fgSizer7->Add( m_staticText18, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  320. m_pulseWidth = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  321. fgSizer7->Add( m_pulseWidth, 0, wxALL|wxEXPAND, 5 );
  322. m_staticText136 = new wxStaticText( m_pwrPulse, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  323. m_staticText136->Wrap( -1 );
  324. fgSizer7->Add( m_staticText136, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  325. m_staticText20 = new wxStaticText( m_pwrPulse, wxID_ANY, _("Period:"), wxDefaultPosition, wxDefaultSize, 0 );
  326. m_staticText20->Wrap( -1 );
  327. fgSizer7->Add( m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  328. m_pulsePeriod = new wxTextCtrl( m_pwrPulse, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  329. fgSizer7->Add( m_pulsePeriod, 0, wxALL|wxEXPAND, 5 );
  330. m_staticText137 = new wxStaticText( m_pwrPulse, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  331. m_staticText137->Wrap( -1 );
  332. fgSizer7->Add( m_staticText137, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  333. m_pwrPulse->SetSizer( fgSizer7 );
  334. m_pwrPulse->Layout();
  335. fgSizer7->Fit( m_pwrPulse );
  336. m_powerNotebook->AddPage( m_pwrPulse, _("Pulse"), true );
  337. m_pwrSin = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  338. wxFlexGridSizer* fgSizer8;
  339. fgSizer8 = new wxFlexGridSizer( 0, 3, 0, 0 );
  340. fgSizer8->AddGrowableCol( 1 );
  341. fgSizer8->SetFlexibleDirection( wxBOTH );
  342. fgSizer8->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  343. m_staticText21 = new wxStaticText( m_pwrSin, wxID_ANY, _("DC offset:"), wxDefaultPosition, wxDefaultSize, 0 );
  344. m_staticText21->Wrap( -1 );
  345. fgSizer8->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  346. m_sinOffset = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  347. m_sinOffset->SetMinSize( wxSize( 100,-1 ) );
  348. fgSizer8->Add( m_sinOffset, 0, wxALL|wxEXPAND, 5 );
  349. m_staticText211 = new wxStaticText( m_pwrSin, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  350. m_staticText211->Wrap( -1 );
  351. fgSizer8->Add( m_staticText211, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  352. m_staticText22 = new wxStaticText( m_pwrSin, wxID_ANY, _("Amplitude:"), wxDefaultPosition, wxDefaultSize, 0 );
  353. m_staticText22->Wrap( -1 );
  354. fgSizer8->Add( m_staticText22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  355. m_sinAmplitude = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  356. fgSizer8->Add( m_sinAmplitude, 0, wxALL|wxEXPAND, 5 );
  357. m_staticText212 = new wxStaticText( m_pwrSin, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  358. m_staticText212->Wrap( -1 );
  359. fgSizer8->Add( m_staticText212, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  360. m_staticText23 = new wxStaticText( m_pwrSin, wxID_ANY, _("Frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  361. m_staticText23->Wrap( -1 );
  362. fgSizer8->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  363. m_sinFreq = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  364. fgSizer8->Add( m_sinFreq, 0, wxALL|wxEXPAND, 5 );
  365. m_staticText213 = new wxStaticText( m_pwrSin, wxID_ANY, _("Hz"), wxDefaultPosition, wxDefaultSize, 0 );
  366. m_staticText213->Wrap( -1 );
  367. fgSizer8->Add( m_staticText213, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  368. m_staticText24 = new wxStaticText( m_pwrSin, wxID_ANY, _("Delay:"), wxDefaultPosition, wxDefaultSize, 0 );
  369. m_staticText24->Wrap( -1 );
  370. fgSizer8->Add( m_staticText24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  371. m_sinDelay = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  372. fgSizer8->Add( m_sinDelay, 0, wxALL|wxEXPAND, 5 );
  373. m_staticText214 = new wxStaticText( m_pwrSin, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  374. m_staticText214->Wrap( -1 );
  375. fgSizer8->Add( m_staticText214, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  376. m_staticText25 = new wxStaticText( m_pwrSin, wxID_ANY, _("Damping factor:"), wxDefaultPosition, wxDefaultSize, 0 );
  377. m_staticText25->Wrap( -1 );
  378. fgSizer8->Add( m_staticText25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  379. m_sinDampFactor = new wxTextCtrl( m_pwrSin, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  380. fgSizer8->Add( m_sinDampFactor, 0, wxALL|wxEXPAND, 5 );
  381. m_staticText215 = new wxStaticText( m_pwrSin, wxID_ANY, _("1/seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  382. m_staticText215->Wrap( -1 );
  383. fgSizer8->Add( m_staticText215, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  384. m_pwrSin->SetSizer( fgSizer8 );
  385. m_pwrSin->Layout();
  386. fgSizer8->Fit( m_pwrSin );
  387. m_powerNotebook->AddPage( m_pwrSin, _("Sinusoidal"), false );
  388. m_pwrExp = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  389. wxFlexGridSizer* fgSizer9;
  390. fgSizer9 = new wxFlexGridSizer( 0, 3, 0, 0 );
  391. fgSizer9->AddGrowableCol( 1 );
  392. fgSizer9->SetFlexibleDirection( wxBOTH );
  393. fgSizer9->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  394. m_staticText26 = new wxStaticText( m_pwrExp, wxID_ANY, _("Initial value:"), wxDefaultPosition, wxDefaultSize, 0 );
  395. m_staticText26->Wrap( -1 );
  396. fgSizer9->Add( m_staticText26, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  397. m_expInit = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  398. m_expInit->SetMinSize( wxSize( 100,-1 ) );
  399. fgSizer9->Add( m_expInit, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  400. m_staticText261 = new wxStaticText( m_pwrExp, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  401. m_staticText261->Wrap( -1 );
  402. fgSizer9->Add( m_staticText261, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  403. m_staticText27 = new wxStaticText( m_pwrExp, wxID_ANY, _("Pulsed value:"), wxDefaultPosition, wxDefaultSize, 0 );
  404. m_staticText27->Wrap( -1 );
  405. fgSizer9->Add( m_staticText27, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  406. m_expPulsed = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  407. fgSizer9->Add( m_expPulsed, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  408. m_staticText262 = new wxStaticText( m_pwrExp, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  409. m_staticText262->Wrap( -1 );
  410. fgSizer9->Add( m_staticText262, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  411. m_staticText28 = new wxStaticText( m_pwrExp, wxID_ANY, _("Rise delay time:"), wxDefaultPosition, wxDefaultSize, 0 );
  412. m_staticText28->Wrap( -1 );
  413. fgSizer9->Add( m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  414. m_expRiseDelay = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  415. fgSizer9->Add( m_expRiseDelay, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  416. m_staticText263 = new wxStaticText( m_pwrExp, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  417. m_staticText263->Wrap( -1 );
  418. fgSizer9->Add( m_staticText263, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  419. m_staticText29 = new wxStaticText( m_pwrExp, wxID_ANY, _("Rise time constant:"), wxDefaultPosition, wxDefaultSize, 0 );
  420. m_staticText29->Wrap( -1 );
  421. fgSizer9->Add( m_staticText29, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  422. m_expRiseConst = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  423. fgSizer9->Add( m_expRiseConst, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  424. m_staticText264 = new wxStaticText( m_pwrExp, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  425. m_staticText264->Wrap( -1 );
  426. fgSizer9->Add( m_staticText264, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  427. m_staticText30 = new wxStaticText( m_pwrExp, wxID_ANY, _("Fall delay time:"), wxDefaultPosition, wxDefaultSize, 0 );
  428. m_staticText30->Wrap( -1 );
  429. fgSizer9->Add( m_staticText30, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  430. m_expFallDelay = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  431. fgSizer9->Add( m_expFallDelay, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  432. m_staticText265 = new wxStaticText( m_pwrExp, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  433. m_staticText265->Wrap( -1 );
  434. fgSizer9->Add( m_staticText265, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  435. m_staticText31 = new wxStaticText( m_pwrExp, wxID_ANY, _("Fall time constant:"), wxDefaultPosition, wxDefaultSize, 0 );
  436. m_staticText31->Wrap( -1 );
  437. fgSizer9->Add( m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  438. m_expFallConst = new wxTextCtrl( m_pwrExp, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  439. fgSizer9->Add( m_expFallConst, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  440. m_staticText266 = new wxStaticText( m_pwrExp, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  441. m_staticText266->Wrap( -1 );
  442. fgSizer9->Add( m_staticText266, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  443. m_pwrExp->SetSizer( fgSizer9 );
  444. m_pwrExp->Layout();
  445. fgSizer9->Fit( m_pwrExp );
  446. m_powerNotebook->AddPage( m_pwrExp, _("Exponential"), false );
  447. m_pwrPwl = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  448. m_pwrPwl->SetToolTip( _("Piece-wise linear") );
  449. wxFlexGridSizer* fgSizer15;
  450. fgSizer15 = new wxFlexGridSizer( 0, 2, 0, 0 );
  451. fgSizer15->AddGrowableCol( 0 );
  452. fgSizer15->AddGrowableRow( 1 );
  453. fgSizer15->SetFlexibleDirection( wxBOTH );
  454. fgSizer15->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
  455. wxFlexGridSizer* fgSizer10;
  456. fgSizer10 = new wxFlexGridSizer( 0, 3, 0, 0 );
  457. fgSizer10->AddGrowableCol( 1 );
  458. fgSizer10->SetFlexibleDirection( wxBOTH );
  459. fgSizer10->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  460. m_staticText34 = new wxStaticText( m_pwrPwl, wxID_ANY, _("Time:"), wxDefaultPosition, wxDefaultSize, 0 );
  461. m_staticText34->Wrap( -1 );
  462. fgSizer10->Add( m_staticText34, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  463. m_pwlTime = new wxTextCtrl( m_pwrPwl, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  464. m_pwlTime->SetMinSize( wxSize( 100,-1 ) );
  465. fgSizer10->Add( m_pwlTime, 0, wxALL|wxEXPAND, 5 );
  466. m_staticText342 = new wxStaticText( m_pwrPwl, wxID_ANY, _("second"), wxDefaultPosition, wxDefaultSize, 0 );
  467. m_staticText342->Wrap( -1 );
  468. fgSizer10->Add( m_staticText342, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  469. m_staticText35 = new wxStaticText( m_pwrPwl, wxID_ANY, _("Value:"), wxDefaultPosition, wxDefaultSize, 0 );
  470. m_staticText35->Wrap( -1 );
  471. fgSizer10->Add( m_staticText35, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  472. m_pwlValue = new wxTextCtrl( m_pwrPwl, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  473. fgSizer10->Add( m_pwlValue, 0, wxALL|wxEXPAND, 5 );
  474. m_staticText343 = new wxStaticText( m_pwrPwl, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  475. m_staticText343->Wrap( -1 );
  476. fgSizer10->Add( m_staticText343, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  477. fgSizer15->Add( fgSizer10, 1, wxEXPAND, 5 );
  478. m_pwlAddButton = new wxButton( m_pwrPwl, wxID_ANY, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
  479. fgSizer15->Add( m_pwlAddButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  480. m_pwlValList = new wxListCtrl( m_pwrPwl, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
  481. m_pwlValList->SetMinSize( wxSize( 200,-1 ) );
  482. fgSizer15->Add( m_pwlValList, 0, wxALL|wxEXPAND, 5 );
  483. m_pwlRemoveBtn = new wxButton( m_pwrPwl, wxID_ANY, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
  484. fgSizer15->Add( m_pwlRemoveBtn, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  485. m_pwrPwl->SetSizer( fgSizer15 );
  486. m_pwrPwl->Layout();
  487. fgSizer15->Fit( m_pwrPwl );
  488. m_powerNotebook->AddPage( m_pwrPwl, _("Piece-wise Linear"), false );
  489. m_pwrFm = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  490. wxFlexGridSizer* fgSizer11;
  491. fgSizer11 = new wxFlexGridSizer( 0, 3, 0, 0 );
  492. fgSizer11->AddGrowableCol( 1 );
  493. fgSizer11->SetFlexibleDirection( wxBOTH );
  494. fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  495. m_staticText138 = new wxStaticText( m_pwrFm, wxID_ANY, _("Offset:"), wxDefaultPosition, wxDefaultSize, 0 );
  496. m_staticText138->Wrap( -1 );
  497. fgSizer11->Add( m_staticText138, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  498. m_fmOffset = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  499. m_fmOffset->SetMinSize( wxSize( 100,-1 ) );
  500. fgSizer11->Add( m_fmOffset, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  501. m_staticText1311 = new wxStaticText( m_pwrFm, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  502. m_staticText1311->Wrap( -1 );
  503. fgSizer11->Add( m_staticText1311, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  504. m_staticText141 = new wxStaticText( m_pwrFm, wxID_ANY, _("Amplitude:"), wxDefaultPosition, wxDefaultSize, 0 );
  505. m_staticText141->Wrap( -1 );
  506. fgSizer11->Add( m_staticText141, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  507. m_fmAmplitude = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  508. fgSizer11->Add( m_fmAmplitude, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  509. m_staticText1321 = new wxStaticText( m_pwrFm, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  510. m_staticText1321->Wrap( -1 );
  511. fgSizer11->Add( m_staticText1321, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  512. m_staticText151 = new wxStaticText( m_pwrFm, wxID_ANY, _("Carrier frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  513. m_staticText151->Wrap( -1 );
  514. fgSizer11->Add( m_staticText151, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  515. m_fmFcarrier = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  516. fgSizer11->Add( m_fmFcarrier, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  517. m_staticText1331 = new wxStaticText( m_pwrFm, wxID_ANY, _("Hertz"), wxDefaultPosition, wxDefaultSize, 0 );
  518. m_staticText1331->Wrap( -1 );
  519. fgSizer11->Add( m_staticText1331, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  520. m_staticText161 = new wxStaticText( m_pwrFm, wxID_ANY, _("Modulation index:"), wxDefaultPosition, wxDefaultSize, 0 );
  521. m_staticText161->Wrap( -1 );
  522. fgSizer11->Add( m_staticText161, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  523. m_fmModIndex = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  524. fgSizer11->Add( m_fmModIndex, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  525. m_staticText1341 = new wxStaticText( m_pwrFm, wxID_ANY, _("-"), wxDefaultPosition, wxDefaultSize, 0 );
  526. m_staticText1341->Wrap( -1 );
  527. fgSizer11->Add( m_staticText1341, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  528. m_staticText171 = new wxStaticText( m_pwrFm, wxID_ANY, _("Signal frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  529. m_staticText171->Wrap( -1 );
  530. fgSizer11->Add( m_staticText171, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  531. m_fmFsignal = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  532. fgSizer11->Add( m_fmFsignal, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  533. m_staticText1351 = new wxStaticText( m_pwrFm, wxID_ANY, _("Hertz"), wxDefaultPosition, wxDefaultSize, 0 );
  534. m_staticText1351->Wrap( -1 );
  535. fgSizer11->Add( m_staticText1351, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  536. m_staticText181 = new wxStaticText( m_pwrFm, wxID_ANY, _("Carrier phase:"), wxDefaultPosition, wxDefaultSize, 0 );
  537. m_staticText181->Wrap( -1 );
  538. fgSizer11->Add( m_staticText181, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  539. m_fmPhaseC = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  540. fgSizer11->Add( m_fmPhaseC, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  541. m_staticText1361 = new wxStaticText( m_pwrFm, wxID_ANY, _("degrees"), wxDefaultPosition, wxDefaultSize, 0 );
  542. m_staticText1361->Wrap( -1 );
  543. fgSizer11->Add( m_staticText1361, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  544. m_staticText201 = new wxStaticText( m_pwrFm, wxID_ANY, _("Signal phase:"), wxDefaultPosition, wxDefaultSize, 0 );
  545. m_staticText201->Wrap( -1 );
  546. fgSizer11->Add( m_staticText201, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  547. m_fmPhaseS = new wxTextCtrl( m_pwrFm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  548. fgSizer11->Add( m_fmPhaseS, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  549. m_staticText1371 = new wxStaticText( m_pwrFm, wxID_ANY, _("degrees"), wxDefaultPosition, wxDefaultSize, 0 );
  550. m_staticText1371->Wrap( -1 );
  551. fgSizer11->Add( m_staticText1371, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  552. m_pwrFm->SetSizer( fgSizer11 );
  553. m_pwrFm->Layout();
  554. fgSizer11->Fit( m_pwrFm );
  555. m_powerNotebook->AddPage( m_pwrFm, _("FM"), false );
  556. m_pwrAm = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  557. wxFlexGridSizer* fgSizer12;
  558. fgSizer12 = new wxFlexGridSizer( 0, 3, 0, 0 );
  559. fgSizer12->AddGrowableCol( 1 );
  560. fgSizer12->SetFlexibleDirection( wxBOTH );
  561. fgSizer12->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  562. m_staticText1381 = new wxStaticText( m_pwrAm, wxID_ANY, _("Amplitude:"), wxDefaultPosition, wxDefaultSize, 0 );
  563. m_staticText1381->Wrap( -1 );
  564. fgSizer12->Add( m_staticText1381, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  565. m_amAmplitude = new wxTextCtrl( m_pwrAm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  566. m_amAmplitude->SetMinSize( wxSize( 100,-1 ) );
  567. fgSizer12->Add( m_amAmplitude, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  568. m_staticText13111 = new wxStaticText( m_pwrAm, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  569. m_staticText13111->Wrap( -1 );
  570. fgSizer12->Add( m_staticText13111, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  571. m_staticText1411 = new wxStaticText( m_pwrAm, wxID_ANY, _("Offset:"), wxDefaultPosition, wxDefaultSize, 0 );
  572. m_staticText1411->Wrap( -1 );
  573. fgSizer12->Add( m_staticText1411, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  574. m_amOffset = new wxTextCtrl( m_pwrAm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  575. fgSizer12->Add( m_amOffset, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  576. m_staticText13211 = new wxStaticText( m_pwrAm, wxID_ANY, _("Volts/Amps"), wxDefaultPosition, wxDefaultSize, 0 );
  577. m_staticText13211->Wrap( -1 );
  578. fgSizer12->Add( m_staticText13211, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  579. m_staticText1511 = new wxStaticText( m_pwrAm, wxID_ANY, _("Modulating frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  580. m_staticText1511->Wrap( -1 );
  581. fgSizer12->Add( m_staticText1511, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  582. m_amModulatingFreq = new wxTextCtrl( m_pwrAm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  583. fgSizer12->Add( m_amModulatingFreq, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  584. m_staticText13311 = new wxStaticText( m_pwrAm, wxID_ANY, _("Hertz"), wxDefaultPosition, wxDefaultSize, 0 );
  585. m_staticText13311->Wrap( -1 );
  586. fgSizer12->Add( m_staticText13311, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  587. m_staticText1611 = new wxStaticText( m_pwrAm, wxID_ANY, _("Carrier frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  588. m_staticText1611->Wrap( -1 );
  589. fgSizer12->Add( m_staticText1611, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  590. m_amCarrierFreq = new wxTextCtrl( m_pwrAm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  591. fgSizer12->Add( m_amCarrierFreq, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  592. m_staticText13411 = new wxStaticText( m_pwrAm, wxID_ANY, _("Hertz"), wxDefaultPosition, wxDefaultSize, 0 );
  593. m_staticText13411->Wrap( -1 );
  594. fgSizer12->Add( m_staticText13411, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  595. m_staticText1711 = new wxStaticText( m_pwrAm, wxID_ANY, _("Signal delay:"), wxDefaultPosition, wxDefaultSize, 0 );
  596. m_staticText1711->Wrap( -1 );
  597. fgSizer12->Add( m_staticText1711, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  598. m_amSignalDelay = new wxTextCtrl( m_pwrAm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  599. fgSizer12->Add( m_amSignalDelay, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  600. m_staticText13511 = new wxStaticText( m_pwrAm, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  601. m_staticText13511->Wrap( -1 );
  602. fgSizer12->Add( m_staticText13511, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  603. m_staticText1811 = new wxStaticText( m_pwrAm, wxID_ANY, _("Carrier phase:"), wxDefaultPosition, wxDefaultSize, 0 );
  604. m_staticText1811->Wrap( -1 );
  605. fgSizer12->Add( m_staticText1811, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  606. m_amPhase = new wxTextCtrl( m_pwrAm, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  607. fgSizer12->Add( m_amPhase, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  608. m_staticText13611 = new wxStaticText( m_pwrAm, wxID_ANY, _("degrees"), wxDefaultPosition, wxDefaultSize, 0 );
  609. m_staticText13611->Wrap( -1 );
  610. fgSizer12->Add( m_staticText13611, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  611. m_pwrAm->SetSizer( fgSizer12 );
  612. m_pwrAm->Layout();
  613. fgSizer12->Fit( m_pwrAm );
  614. m_powerNotebook->AddPage( m_pwrAm, _("AM"), false );
  615. m_pwrTransNoise = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  616. m_pwrTransNoise->Hide();
  617. m_powerNotebook->AddPage( m_pwrTransNoise, _("Transient noise"), false );
  618. m_pwrRandom = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  619. wxFlexGridSizer* fgSizer13;
  620. fgSizer13 = new wxFlexGridSizer( 0, 3, 0, 0 );
  621. fgSizer13->AddGrowableCol( 1 );
  622. fgSizer13->SetFlexibleDirection( wxBOTH );
  623. fgSizer13->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  624. m_staticText27111 = new wxStaticText( m_pwrRandom, wxID_ANY, _("Type:"), wxDefaultPosition, wxDefaultSize, 0 );
  625. m_staticText27111->Wrap( -1 );
  626. fgSizer13->Add( m_staticText27111, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  627. wxString m_rnTypeChoices[] = { _("Uniform"), _("Gaussian"), _("Exponential"), _("Poisson") };
  628. int m_rnTypeNChoices = sizeof( m_rnTypeChoices ) / sizeof( wxString );
  629. m_rnType = new wxChoice( m_pwrRandom, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_rnTypeNChoices, m_rnTypeChoices, 0 );
  630. m_rnType->SetSelection( 0 );
  631. fgSizer13->Add( m_rnType, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  632. fgSizer13->Add( 0, 0, 1, wxEXPAND, 5 );
  633. m_staticText26711 = new wxStaticText( m_pwrRandom, wxID_ANY, _("Individual value duration:"), wxDefaultPosition, wxDefaultSize, 0 );
  634. m_staticText26711->Wrap( -1 );
  635. fgSizer13->Add( m_staticText26711, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  636. m_rnTS = new wxTextCtrl( m_pwrRandom, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  637. fgSizer13->Add( m_rnTS, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  638. m_staticText262111 = new wxStaticText( m_pwrRandom, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  639. m_staticText262111->Wrap( -1 );
  640. fgSizer13->Add( m_staticText262111, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  641. m_staticText28111 = new wxStaticText( m_pwrRandom, wxID_ANY, _("Time delay:"), wxDefaultPosition, wxDefaultSize, 0 );
  642. m_staticText28111->Wrap( -1 );
  643. fgSizer13->Add( m_staticText28111, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  644. m_rnTD = new wxTextCtrl( m_pwrRandom, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  645. fgSizer13->Add( m_rnTD, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  646. m_staticText263111 = new wxStaticText( m_pwrRandom, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  647. m_staticText263111->Wrap( -1 );
  648. fgSizer13->Add( m_staticText263111, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  649. m_rnParam1Text = new wxStaticText( m_pwrRandom, wxID_ANY, _("Range:"), wxDefaultPosition, wxDefaultSize, 0 );
  650. m_rnParam1Text->Wrap( -1 );
  651. fgSizer13->Add( m_rnParam1Text, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  652. m_rnParam1 = new wxTextCtrl( m_pwrRandom, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  653. fgSizer13->Add( m_rnParam1, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  654. fgSizer13->Add( 0, 0, 1, wxEXPAND, 5 );
  655. m_rnParam2Text = new wxStaticText( m_pwrRandom, wxID_ANY, _("Offset:"), wxDefaultPosition, wxDefaultSize, 0 );
  656. m_rnParam2Text->Wrap( -1 );
  657. fgSizer13->Add( m_rnParam2Text, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
  658. m_rnParam2 = new wxTextCtrl( m_pwrRandom, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  659. fgSizer13->Add( m_rnParam2, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  660. fgSizer13->Add( 0, 0, 1, wxEXPAND, 5 );
  661. m_pwrRandom->SetSizer( fgSizer13 );
  662. m_pwrRandom->Layout();
  663. fgSizer13->Fit( m_pwrRandom );
  664. m_powerNotebook->AddPage( m_pwrRandom, _("Random"), false );
  665. m_pwrExtData = new wxPanel( m_powerNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  666. m_pwrExtData->Hide();
  667. m_powerNotebook->AddPage( m_pwrExtData, _("External data"), false );
  668. sbSizer3->Add( m_powerNotebook, 0, wxEXPAND | wxALL, 5 );
  669. bSizer4->Add( sbSizer3, 0, wxALL|wxEXPAND, 5 );
  670. wxString m_pwrTypeChoices[] = { _("Voltage"), _("Current") };
  671. int m_pwrTypeNChoices = sizeof( m_pwrTypeChoices ) / sizeof( wxString );
  672. m_pwrType = new wxRadioBox( m_power, wxID_ANY, _("Source Type"), wxDefaultPosition, wxDefaultSize, m_pwrTypeNChoices, m_pwrTypeChoices, 1, wxRA_SPECIFY_ROWS );
  673. m_pwrType->SetSelection( 1 );
  674. bSizer4->Add( m_pwrType, 0, wxALL|wxEXPAND, 5 );
  675. m_power->SetSizer( bSizer4 );
  676. m_power->Layout();
  677. bSizer4->Fit( m_power );
  678. m_notebook->AddPage( m_power, _("Source"), false );
  679. bSizer1->Add( m_notebook, 1, wxEXPAND | wxALL, 5 );
  680. m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  681. bSizer1->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
  682. m_disabled = new wxCheckBox( this, wxID_ANY, _("Disable symbol for simulation"), wxDefaultPosition, wxDefaultSize, 0 );
  683. bSizer1->Add( m_disabled, 0, wxALL, 5 );
  684. wxBoxSizer* bSizer2;
  685. bSizer2 = new wxBoxSizer( wxHORIZONTAL );
  686. m_nodeSeqCheck = new wxCheckBox( this, wxID_ANY, _("Alternate node sequence:"), wxDefaultPosition, wxDefaultSize, 0 );
  687. bSizer2->Add( m_nodeSeqCheck, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  688. m_nodeSeqVal = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  689. m_nodeSeqVal->SetMinSize( wxSize( 200,-1 ) );
  690. bSizer2->Add( m_nodeSeqVal, 1, wxALL, 5 );
  691. bSizer1->Add( bSizer2, 0, wxEXPAND, 5 );
  692. m_staticline3 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  693. bSizer1->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
  694. m_sdbSizer = new wxStdDialogButtonSizer();
  695. m_sdbSizerOK = new wxButton( this, wxID_OK );
  696. m_sdbSizer->AddButton( m_sdbSizerOK );
  697. m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
  698. m_sdbSizer->AddButton( m_sdbSizerCancel );
  699. m_sdbSizer->Realize();
  700. bSizer1->Add( m_sdbSizer, 0, wxALL|wxEXPAND, 5 );
  701. this->SetSizer( bSizer1 );
  702. this->Layout();
  703. bSizer1->Fit( this );
  704. this->Centre( wxBOTH );
  705. // Connect Events
  706. this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SPICE_MODEL_BASE::onInitDlg ) );
  707. m_selectLibrary->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onSelectLibrary ), NULL, this );
  708. m_modelName->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onModelSelected ), NULL, this );
  709. m_modelName->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onModelSelected ), NULL, this );
  710. m_modelType->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onTypeSelected ), NULL, this );
  711. m_pwlAddButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlAdd ), NULL, this );
  712. m_pwlRemoveBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlRemove ), NULL, this );
  713. m_rnType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onRandomSourceType ), NULL, this );
  714. }
  715. DIALOG_SPICE_MODEL_BASE::~DIALOG_SPICE_MODEL_BASE()
  716. {
  717. // Disconnect Events
  718. this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SPICE_MODEL_BASE::onInitDlg ) );
  719. m_selectLibrary->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onSelectLibrary ), NULL, this );
  720. m_modelName->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onModelSelected ), NULL, this );
  721. m_modelName->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onModelSelected ), NULL, this );
  722. m_modelType->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onTypeSelected ), NULL, this );
  723. m_pwlAddButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlAdd ), NULL, this );
  724. m_pwlRemoveBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onPwlRemove ), NULL, this );
  725. m_rnType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_SPICE_MODEL_BASE::onRandomSourceType ), NULL, this );
  726. }