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.

500 lines
23 KiB

  1. ///////////////////////////////////////////////////////////////////////////
  2. // C++ code generated with wxFormBuilder (version Oct 26 2018)
  3. // http://www.wxformbuilder.org/
  4. //
  5. // PLEASE DO *NOT* EDIT THIS FILE!
  6. ///////////////////////////////////////////////////////////////////////////
  7. #include "dialog_sim_settings_base.h"
  8. ///////////////////////////////////////////////////////////////////////////
  9. DIALOG_SIM_SETTINGS_BASE::DIALOG_SIM_SETTINGS_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( wxDefaultSize, wxDefaultSize );
  12. wxBoxSizer* bSizer1;
  13. bSizer1 = new wxBoxSizer( wxVERTICAL );
  14. m_simPages = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
  15. m_pgAC = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  16. wxBoxSizer* bSizer3;
  17. bSizer3 = new wxBoxSizer( wxVERTICAL );
  18. bSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
  19. wxString m_acScaleChoices[] = { _("Decade"), _("Octave"), _("Linear") };
  20. int m_acScaleNChoices = sizeof( m_acScaleChoices ) / sizeof( wxString );
  21. m_acScale = new wxRadioBox( m_pgAC, wxID_ANY, _("Frequency scale"), wxDefaultPosition, wxDefaultSize, m_acScaleNChoices, m_acScaleChoices, 1, wxRA_SPECIFY_COLS );
  22. m_acScale->SetSelection( 0 );
  23. m_acScale->Hide();
  24. bSizer3->Add( m_acScale, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
  25. bSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
  26. wxFlexGridSizer* fgSizer1;
  27. fgSizer1 = new wxFlexGridSizer( 0, 3, 0, 0 );
  28. fgSizer1->SetFlexibleDirection( wxBOTH );
  29. fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  30. m_staticText1 = new wxStaticText( m_pgAC, wxID_ANY, _("Number of points:"), wxDefaultPosition, wxDefaultSize, 0 );
  31. m_staticText1->Wrap( -1 );
  32. fgSizer1->Add( m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  33. m_acPointsNumber = new wxTextCtrl( m_pgAC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  34. fgSizer1->Add( m_acPointsNumber, 0, wxALL|wxEXPAND, 5 );
  35. fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
  36. m_staticText2 = new wxStaticText( m_pgAC, wxID_ANY, _("Start frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  37. m_staticText2->Wrap( -1 );
  38. fgSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  39. m_acFreqStart = new wxTextCtrl( m_pgAC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  40. fgSizer1->Add( m_acFreqStart, 0, wxALL|wxEXPAND, 5 );
  41. m_staticText19 = new wxStaticText( m_pgAC, wxID_ANY, _("Hertz"), wxDefaultPosition, wxDefaultSize, 0 );
  42. m_staticText19->Wrap( -1 );
  43. fgSizer1->Add( m_staticText19, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  44. m_staticText3 = new wxStaticText( m_pgAC, wxID_ANY, _("Stop frequency:"), wxDefaultPosition, wxDefaultSize, 0 );
  45. m_staticText3->Wrap( -1 );
  46. fgSizer1->Add( m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  47. m_acFreqStop = new wxTextCtrl( m_pgAC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  48. fgSizer1->Add( m_acFreqStop, 0, wxALL|wxEXPAND, 5 );
  49. m_staticText110 = new wxStaticText( m_pgAC, wxID_ANY, _("Hertz"), wxDefaultPosition, wxDefaultSize, 0 );
  50. m_staticText110->Wrap( -1 );
  51. fgSizer1->Add( m_staticText110, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  52. bSizer3->Add( fgSizer1, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
  53. bSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
  54. m_pgAC->SetSizer( bSizer3 );
  55. m_pgAC->Layout();
  56. bSizer3->Fit( m_pgAC );
  57. m_simPages->AddPage( m_pgAC, _("AC"), false );
  58. m_pgDC = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  59. wxBoxSizer* bSizer82;
  60. bSizer82 = new wxBoxSizer( wxVERTICAL );
  61. bSizer82->Add( 0, 0, 1, wxEXPAND, 5 );
  62. wxGridBagSizer* gbSizer1;
  63. gbSizer1 = new wxGridBagSizer( 0, 0 );
  64. gbSizer1->SetFlexibleDirection( wxBOTH );
  65. gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  66. m_dcEnable2 = new wxCheckBox( m_pgDC, wxID_ANY, _("Source 2"), wxDefaultPosition, wxDefaultSize, 0 );
  67. m_dcEnable2->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
  68. gbSizer1->Add( m_dcEnable2, wxGBPosition( 0, 3 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  69. wxString m_dcSourceType1Choices[] = { _("V"), _("I"), _("R"), _("TEMP") };
  70. int m_dcSourceType1NChoices = sizeof( m_dcSourceType1Choices ) / sizeof( wxString );
  71. m_dcSourceType1 = new wxChoice( m_pgDC, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_dcSourceType1NChoices, m_dcSourceType1Choices, 0 );
  72. m_dcSourceType1->SetSelection( 0 );
  73. gbSizer1->Add( m_dcSourceType1, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  74. wxString m_dcSourceType2Choices[] = { _("V"), _("I"), _("R"), _("TEMP") };
  75. int m_dcSourceType2NChoices = sizeof( m_dcSourceType2Choices ) / sizeof( wxString );
  76. m_dcSourceType2 = new wxChoice( m_pgDC, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_dcSourceType2NChoices, m_dcSourceType2Choices, 0 );
  77. m_dcSourceType2->SetSelection( 0 );
  78. gbSizer1->Add( m_dcSourceType2, wxGBPosition( 1, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  79. m_staticText4 = new wxStaticText( m_pgDC, wxID_ANY, _("Source:"), wxDefaultPosition, wxDefaultSize, 0 );
  80. m_staticText4->Wrap( -1 );
  81. gbSizer1->Add( m_staticText4, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  82. m_staticText41 = new wxStaticText( m_pgDC, wxID_ANY, _("Sweep type:"), wxDefaultPosition, wxDefaultSize, 0 );
  83. m_staticText41->Wrap( -1 );
  84. gbSizer1->Add( m_staticText41, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
  85. m_staticText411 = new wxStaticText( m_pgDC, wxID_ANY, _("Source 1"), wxDefaultPosition, wxDefaultSize, 0 );
  86. m_staticText411->Wrap( -1 );
  87. m_staticText411->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
  88. gbSizer1->Add( m_staticText411, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
  89. wxArrayString m_dcSource1Choices;
  90. m_dcSource1 = new wxChoice( m_pgDC, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_dcSource1Choices, 0 );
  91. m_dcSource1->SetSelection( 0 );
  92. gbSizer1->Add( m_dcSource1, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  93. wxArrayString m_dcSource2Choices;
  94. m_dcSource2 = new wxChoice( m_pgDC, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_dcSource2Choices, 0 );
  95. m_dcSource2->SetSelection( 0 );
  96. gbSizer1->Add( m_dcSource2, wxGBPosition( 2, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
  97. m_staticText5 = new wxStaticText( m_pgDC, wxID_ANY, _("Starting value:"), wxDefaultPosition, wxDefaultSize, 0 );
  98. m_staticText5->Wrap( -1 );
  99. gbSizer1->Add( m_staticText5, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  100. m_dcStart1 = new wxTextCtrl( m_pgDC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  101. gbSizer1->Add( m_dcStart1, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  102. m_src1DCStartValUnit = new wxStaticText( m_pgDC, wxID_ANY, _("Volts"), wxDefaultPosition, wxDefaultSize, 0 );
  103. m_src1DCStartValUnit->Wrap( -1 );
  104. m_src1DCStartValUnit->SetMinSize( wxSize( 80,-1 ) );
  105. gbSizer1->Add( m_src1DCStartValUnit, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  106. m_dcStart2 = new wxTextCtrl( m_pgDC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  107. gbSizer1->Add( m_dcStart2, wxGBPosition( 3, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  108. m_src2DCStartValUnit = new wxStaticText( m_pgDC, wxID_ANY, _("Volts"), wxDefaultPosition, wxDefaultSize, 0 );
  109. m_src2DCStartValUnit->Wrap( -1 );
  110. gbSizer1->Add( m_src2DCStartValUnit, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  111. m_staticText6 = new wxStaticText( m_pgDC, wxID_ANY, _("Final value:"), wxDefaultPosition, wxDefaultSize, 0 );
  112. m_staticText6->Wrap( -1 );
  113. gbSizer1->Add( m_staticText6, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  114. m_dcStop1 = new wxTextCtrl( m_pgDC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  115. gbSizer1->Add( m_dcStop1, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  116. m_src1DCEndValUnit = new wxStaticText( m_pgDC, wxID_ANY, _("Volts"), wxDefaultPosition, wxDefaultSize, 0 );
  117. m_src1DCEndValUnit->Wrap( -1 );
  118. m_src1DCEndValUnit->SetMinSize( wxSize( 80,-1 ) );
  119. gbSizer1->Add( m_src1DCEndValUnit, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  120. m_dcStop2 = new wxTextCtrl( m_pgDC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  121. gbSizer1->Add( m_dcStop2, wxGBPosition( 4, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  122. m_src2DCEndValUnit = new wxStaticText( m_pgDC, wxID_ANY, _("Volts"), wxDefaultPosition, wxDefaultSize, 0 );
  123. m_src2DCEndValUnit->Wrap( -1 );
  124. gbSizer1->Add( m_src2DCEndValUnit, wxGBPosition( 4, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  125. m_staticText7 = new wxStaticText( m_pgDC, wxID_ANY, _("Increment step:"), wxDefaultPosition, wxDefaultSize, 0 );
  126. m_staticText7->Wrap( -1 );
  127. gbSizer1->Add( m_staticText7, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  128. m_dcIncr1 = new wxTextCtrl( m_pgDC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  129. gbSizer1->Add( m_dcIncr1, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  130. m_src1DCStepUnit = new wxStaticText( m_pgDC, wxID_ANY, _("Volts"), wxDefaultPosition, wxDefaultSize, 0 );
  131. m_src1DCStepUnit->Wrap( -1 );
  132. m_src1DCStepUnit->SetMinSize( wxSize( 80,-1 ) );
  133. gbSizer1->Add( m_src1DCStepUnit, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  134. m_dcIncr2 = new wxTextCtrl( m_pgDC, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  135. gbSizer1->Add( m_dcIncr2, wxGBPosition( 5, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  136. m_src2DCStepUnit = new wxStaticText( m_pgDC, wxID_ANY, _("Volts"), wxDefaultPosition, wxDefaultSize, 0 );
  137. m_src2DCStepUnit->Wrap( -1 );
  138. gbSizer1->Add( m_src2DCStepUnit, wxGBPosition( 5, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  139. m_swapDCSources = new wxButton( m_pgDC, wxID_ANY, _("Swap sources"), wxDefaultPosition, wxDefaultSize, 0 );
  140. gbSizer1->Add( m_swapDCSources, wxGBPosition( 6, 0 ), wxGBSpan( 1, 5 ), wxALL|wxEXPAND, 5 );
  141. bSizer82->Add( gbSizer1, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
  142. bSizer82->Add( 0, 0, 1, wxEXPAND, 5 );
  143. m_pgDC->SetSizer( bSizer82 );
  144. m_pgDC->Layout();
  145. bSizer82->Fit( m_pgDC );
  146. m_simPages->AddPage( m_pgDC, _("DC Transfer"), false );
  147. m_pgDistortion = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  148. m_simPages->AddPage( m_pgDistortion, _("Distortion"), false );
  149. m_pgNoise = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  150. m_pgNoise->Hide();
  151. wxBoxSizer* bSizer15;
  152. bSizer15 = new wxBoxSizer( wxVERTICAL );
  153. bSizer15->Add( 0, 0, 1, wxEXPAND, 5 );
  154. wxFlexGridSizer* fgSizer7;
  155. fgSizer7 = new wxFlexGridSizer( 0, 3, 0, 0 );
  156. fgSizer7->SetFlexibleDirection( wxBOTH );
  157. fgSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  158. m_staticText14 = new wxStaticText( m_pgNoise, wxID_ANY, _("Measured node"), wxDefaultPosition, wxDefaultSize, 0 );
  159. m_staticText14->Wrap( -1 );
  160. fgSizer7->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  161. m_noiseMeas = new wxComboBox( m_pgNoise, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
  162. fgSizer7->Add( m_noiseMeas, 0, wxALL, 5 );
  163. fgSizer7->Add( 0, 0, 1, wxEXPAND, 5 );
  164. m_staticText15 = new wxStaticText( m_pgNoise, wxID_ANY, _("Reference node"), wxDefaultPosition, wxDefaultSize, 0 );
  165. m_staticText15->Wrap( -1 );
  166. fgSizer7->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  167. m_noiseRef = new wxComboBox( m_pgNoise, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
  168. fgSizer7->Add( m_noiseRef, 0, wxALL, 5 );
  169. m_staticText23 = new wxStaticText( m_pgNoise, wxID_ANY, _("(optional; default GND)"), wxDefaultPosition, wxDefaultSize, 0 );
  170. m_staticText23->Wrap( -1 );
  171. fgSizer7->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  172. m_staticText16 = new wxStaticText( m_pgNoise, wxID_ANY, _("Noise source"), wxDefaultPosition, wxDefaultSize, 0 );
  173. m_staticText16->Wrap( -1 );
  174. fgSizer7->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  175. m_noiseSrc = new wxComboBox( m_pgNoise, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
  176. fgSizer7->Add( m_noiseSrc, 0, wxALL, 5 );
  177. fgSizer7->Add( 0, 0, 1, wxEXPAND, 5 );
  178. bSizer15->Add( fgSizer7, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
  179. bSizer15->Add( 0, 0, 1, wxEXPAND, 5 );
  180. wxString m_noiseScaleChoices[] = { _("Decade"), _("Octave"), _("Linear") };
  181. int m_noiseScaleNChoices = sizeof( m_noiseScaleChoices ) / sizeof( wxString );
  182. m_noiseScale = new wxRadioBox( m_pgNoise, wxID_ANY, _("Frequency scale"), wxDefaultPosition, wxDefaultSize, m_noiseScaleNChoices, m_noiseScaleChoices, 1, wxRA_SPECIFY_COLS );
  183. m_noiseScale->SetSelection( 0 );
  184. bSizer15->Add( m_noiseScale, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
  185. bSizer15->Add( 0, 0, 1, wxEXPAND, 5 );
  186. wxFlexGridSizer* fgSizer11;
  187. fgSizer11 = new wxFlexGridSizer( 0, 2, 0, 0 );
  188. fgSizer11->SetFlexibleDirection( wxBOTH );
  189. fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  190. m_staticText11 = new wxStaticText( m_pgNoise, wxID_ANY, _("Number of points"), wxDefaultPosition, wxDefaultSize, 0 );
  191. m_staticText11->Wrap( -1 );
  192. fgSizer11->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  193. m_noisePointsNumber = new wxTextCtrl( m_pgNoise, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  194. fgSizer11->Add( m_noisePointsNumber, 0, wxALL, 5 );
  195. m_staticText21 = new wxStaticText( m_pgNoise, wxID_ANY, _("Start frequency [Hz]"), wxDefaultPosition, wxDefaultSize, 0 );
  196. m_staticText21->Wrap( -1 );
  197. fgSizer11->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  198. m_noiseFreqStart = new wxTextCtrl( m_pgNoise, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  199. fgSizer11->Add( m_noiseFreqStart, 0, wxALL, 5 );
  200. m_staticText31 = new wxStaticText( m_pgNoise, wxID_ANY, _("Stop frequency [Hz]"), wxDefaultPosition, wxDefaultSize, 0 );
  201. m_staticText31->Wrap( -1 );
  202. fgSizer11->Add( m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  203. m_noiseFreqStop = new wxTextCtrl( m_pgNoise, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  204. fgSizer11->Add( m_noiseFreqStop, 0, wxALL, 5 );
  205. bSizer15->Add( fgSizer11, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
  206. bSizer15->Add( 0, 0, 1, wxEXPAND, 5 );
  207. m_pgNoise->SetSizer( bSizer15 );
  208. m_pgNoise->Layout();
  209. bSizer15->Fit( m_pgNoise );
  210. m_simPages->AddPage( m_pgNoise, _("Noise"), false );
  211. m_pgOP = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  212. wxBoxSizer* bSizer8;
  213. bSizer8 = new wxBoxSizer( wxVERTICAL );
  214. bSizer8->Add( 0, 0, 1, wxEXPAND, 5 );
  215. m_staticText13 = new wxStaticText( m_pgOP, wxID_ANY, _("This tab has no settings"), wxDefaultPosition, wxDefaultSize, 0 );
  216. m_staticText13->Wrap( -1 );
  217. bSizer8->Add( m_staticText13, 0, wxALIGN_CENTER, 5 );
  218. bSizer8->Add( 0, 0, 1, wxEXPAND, 5 );
  219. m_pgOP->SetSizer( bSizer8 );
  220. m_pgOP->Layout();
  221. bSizer8->Fit( m_pgOP );
  222. m_simPages->AddPage( m_pgOP, _("Operating Point"), false );
  223. m_pgPoleZero = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  224. m_pgPoleZero->Hide();
  225. m_simPages->AddPage( m_pgPoleZero, _("Pole-Zero"), false );
  226. m_pgSensitivity = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  227. m_pgSensitivity->Hide();
  228. m_simPages->AddPage( m_pgSensitivity, _("Sensitivity"), false );
  229. m_pgTransferFunction = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  230. m_pgTransferFunction->Hide();
  231. m_simPages->AddPage( m_pgTransferFunction, _("Transfer Function"), false );
  232. m_pgTransient = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  233. wxBoxSizer* bSizer81;
  234. bSizer81 = new wxBoxSizer( wxVERTICAL );
  235. bSizer81->Add( 0, 0, 1, wxEXPAND, 5 );
  236. wxFlexGridSizer* fgSizer6;
  237. fgSizer6 = new wxFlexGridSizer( 0, 4, 0, 0 );
  238. fgSizer6->SetFlexibleDirection( wxBOTH );
  239. fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  240. m_staticText151 = new wxStaticText( m_pgTransient, wxID_ANY, _("Time step:"), wxDefaultPosition, wxDefaultSize, 0 );
  241. m_staticText151->Wrap( -1 );
  242. fgSizer6->Add( m_staticText151, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  243. m_transStep = new wxTextCtrl( m_pgTransient, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  244. fgSizer6->Add( m_transStep, 0, wxALL, 5 );
  245. m_staticText1511 = new wxStaticText( m_pgTransient, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  246. m_staticText1511->Wrap( -1 );
  247. fgSizer6->Add( m_staticText1511, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  248. fgSizer6->Add( 0, 0, 0, wxEXPAND, 5 );
  249. m_staticText161 = new wxStaticText( m_pgTransient, wxID_ANY, _("Final time:"), wxDefaultPosition, wxDefaultSize, 0 );
  250. m_staticText161->Wrap( -1 );
  251. fgSizer6->Add( m_staticText161, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  252. m_transFinal = new wxTextCtrl( m_pgTransient, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  253. fgSizer6->Add( m_transFinal, 0, wxALL, 5 );
  254. m_staticText1512 = new wxStaticText( m_pgTransient, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  255. m_staticText1512->Wrap( -1 );
  256. fgSizer6->Add( m_staticText1512, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
  257. fgSizer6->Add( 0, 0, 0, wxEXPAND, 5 );
  258. m_staticText17 = new wxStaticText( m_pgTransient, wxID_ANY, _("Initial time:"), wxDefaultPosition, wxDefaultSize, 0 );
  259. m_staticText17->Wrap( -1 );
  260. fgSizer6->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  261. m_transInitial = new wxTextCtrl( m_pgTransient, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  262. fgSizer6->Add( m_transInitial, 0, wxALL, 5 );
  263. m_staticText1513 = new wxStaticText( m_pgTransient, wxID_ANY, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
  264. m_staticText1513->Wrap( -1 );
  265. fgSizer6->Add( m_staticText1513, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
  266. m_staticText24 = new wxStaticText( m_pgTransient, wxID_ANY, _("(optional; default 0)"), wxDefaultPosition, wxDefaultSize, 0 );
  267. m_staticText24->Wrap( -1 );
  268. fgSizer6->Add( m_staticText24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  269. bSizer81->Add( fgSizer6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
  270. bSizer81->Add( 0, 0, 1, wxEXPAND, 5 );
  271. m_pgTransient->SetSizer( bSizer81 );
  272. m_pgTransient->Layout();
  273. bSizer81->Fit( m_pgTransient );
  274. m_simPages->AddPage( m_pgTransient, _("Transient"), false );
  275. m_pgCustom = new wxPanel( m_simPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  276. wxBoxSizer* bSizer2;
  277. bSizer2 = new wxBoxSizer( wxVERTICAL );
  278. m_staticText18 = new wxStaticText( m_pgCustom, wxID_ANY, _("Spice directives:"), wxDefaultPosition, wxDefaultSize, 0 );
  279. m_staticText18->Wrap( -1 );
  280. bSizer2->Add( m_staticText18, 0, wxALL, 5 );
  281. m_customTxt = new wxTextCtrl( m_pgCustom, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
  282. m_customTxt->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
  283. bSizer2->Add( m_customTxt, 1, wxALL|wxEXPAND, 5 );
  284. m_loadDirectives = new wxButton( m_pgCustom, wxID_ANY, _("Load directives from schematic"), wxDefaultPosition, wxDefaultSize, 0 );
  285. bSizer2->Add( m_loadDirectives, 0, wxALL|wxEXPAND, 5 );
  286. m_pgCustom->SetSizer( bSizer2 );
  287. m_pgCustom->Layout();
  288. bSizer2->Fit( m_pgCustom );
  289. m_simPages->AddPage( m_pgCustom, _("Custom"), false );
  290. bSizer1->Add( m_simPages, 1, wxALL|wxEXPAND, 5 );
  291. wxBoxSizer* bSizer88;
  292. bSizer88 = new wxBoxSizer( wxVERTICAL );
  293. m_fixPassiveVals = new wxCheckBox( this, wxID_ANY, _("Adjust passive symbol values (e.g. M -> Meg; 100 nF -> 100n)"), wxDefaultPosition, wxDefaultSize, 0 );
  294. bSizer88->Add( m_fixPassiveVals, 0, wxBOTTOM|wxRIGHT|wxLEFT, 10 );
  295. m_fixIncludePaths = new wxCheckBox( this, wxID_ANY, _("Add full path for .include library directives"), wxDefaultPosition, wxDefaultSize, 0 );
  296. m_fixIncludePaths->SetValue(true);
  297. bSizer88->Add( m_fixIncludePaths, 0, wxBOTTOM|wxRIGHT|wxLEFT, 10 );
  298. m_compatibilityMode = new wxBoxSizer( wxHORIZONTAL );
  299. wxStaticText* compatibilityLabel;
  300. compatibilityLabel = new wxStaticText( this, wxID_ANY, _("Compatibility mode:"), wxDefaultPosition, wxDefaultSize, 0 );
  301. compatibilityLabel->Wrap( -1 );
  302. m_compatibilityMode->Add( compatibilityLabel, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 8 );
  303. wxString m_compatibilityModeChoiceChoices[] = { _("User configuration"), _("Spice"), _("PSpice"), _("LTSpice"), _("PSpice and LTSpice"), _("HSpice") };
  304. int m_compatibilityModeChoiceNChoices = sizeof( m_compatibilityModeChoiceChoices ) / sizeof( wxString );
  305. m_compatibilityModeChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_compatibilityModeChoiceNChoices, m_compatibilityModeChoiceChoices, 0 );
  306. m_compatibilityModeChoice->SetSelection( 0 );
  307. m_compatibilityMode->Add( m_compatibilityModeChoice, 0, wxALIGN_CENTER_VERTICAL, 5 );
  308. bSizer88->Add( m_compatibilityMode, 1, wxEXPAND|wxBOTTOM, 5 );
  309. m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  310. bSizer88->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
  311. bSizer1->Add( bSizer88, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
  312. m_sdbSizer = new wxStdDialogButtonSizer();
  313. m_sdbSizerOK = new wxButton( this, wxID_OK );
  314. m_sdbSizer->AddButton( m_sdbSizerOK );
  315. m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
  316. m_sdbSizer->AddButton( m_sdbSizerCancel );
  317. m_sdbSizer->Realize();
  318. bSizer1->Add( m_sdbSizer, 0, wxALL|wxALIGN_RIGHT, 5 );
  319. this->SetSizer( bSizer1 );
  320. this->Layout();
  321. bSizer1->Fit( this );
  322. this->Centre( wxBOTH );
  323. // Connect Events
  324. this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SIM_SETTINGS_BASE::onInitDlg ) );
  325. m_dcEnable2->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onDCEnableSecondSource ), NULL, this );
  326. m_dcSourceType1->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onDCSource1Selected ), NULL, this );
  327. m_dcSourceType2->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onDCSource2Selected ), NULL, this );
  328. m_swapDCSources->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onSwapDCSources ), NULL, this );
  329. m_loadDirectives->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onLoadDirectives ), NULL, this );
  330. }
  331. DIALOG_SIM_SETTINGS_BASE::~DIALOG_SIM_SETTINGS_BASE()
  332. {
  333. // Disconnect Events
  334. this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SIM_SETTINGS_BASE::onInitDlg ) );
  335. m_dcEnable2->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onDCEnableSecondSource ), NULL, this );
  336. m_dcSourceType1->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onDCSource1Selected ), NULL, this );
  337. m_dcSourceType2->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onDCSource2Selected ), NULL, this );
  338. m_swapDCSources->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onSwapDCSources ), NULL, this );
  339. m_loadDirectives->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SIM_SETTINGS_BASE::onLoadDirectives ), NULL, this );
  340. }