KiCad PCB EDA Suite
DIALOG_SPICE_MODEL Class Reference

#include <dialog_spice_model.h>

Inheritance diagram for DIALOG_SPICE_MODEL:
DIALOG_SPICE_MODEL_BASE DIALOG_SHIM KIWAY_HOLDER

Classes

struct  MODEL
 

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 DIALOG_SPICE_MODEL (wxWindow *aParent, SCH_COMPONENT &aComponent, SCH_FIELDS *aSchFields)
 
 DIALOG_SPICE_MODEL (wxWindow *aParent, SCH_COMPONENT &aComponent, LIB_FIELDS *aLibFields)
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType ()
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 
static void FixOSXCancelButtonIssue (wxWindow *aWindow)
 

Protected Member Functions

void FinishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void SetSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int HorizPixelsFromDU (int x)
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int VertPixelsFromDU (int y)
 Convert an integer number of dialog units to pixels, vertically. More...
 
void ResetSize ()
 Clear the existing dialog size and position. More...
 

Protected Attributes

wxNotebook * m_notebook
 
wxPanel * m_passive
 
wxStaticText * m_staticTextPtype
 
wxComboBox * m_pasType
 
wxStaticText * m_staticText62
 
wxStaticText * m_staticTextPvalue
 
wxTextCtrl * m_pasValue
 
wxStaticText * m_staticTextSpVal
 
wxStaticLine * m_staticline1
 
wxStaticText * m_staticText32
 
wxStaticText * m_staticText321
 
wxStaticText * m_staticText341
 
wxStaticText * m_staticText_femto
 
wxStaticText * m_staticText36
 
wxStaticText * m_staticText37
 
wxStaticText * m_staticText38
 
wxStaticText * m_staticText39
 
wxStaticText * m_staticText40
 
wxStaticText * m_staticText41
 
wxStaticText * m_staticText42
 
wxStaticText * m_staticText43
 
wxStaticText * m_staticText44
 
wxStaticText * m_staticText46
 
wxStaticText * m_staticText47
 
wxStaticText * m_staticText48
 
wxStaticText * m_staticText45
 
wxStaticText * m_staticText49
 
wxStaticText * m_staticText50
 
wxStaticText * m_staticText51
 
wxStaticText * m_staticText52
 
wxStaticText * m_staticText53
 
wxStaticText * m_staticText54
 
wxStaticText * m_staticText55
 
wxStaticText * m_staticText56
 
wxStaticText * m_staticText57
 
wxStaticText * m_staticText58
 
wxStaticText * m_staticText59
 
wxStaticText * m_staticText60
 
wxPanel * m_model
 
wxStaticText * m_staticText7
 
wxTextCtrl * m_modelLibrary
 
wxButton * m_selectLibrary
 
wxStaticText * m_staticText5
 
wxComboBox * m_modelName
 
wxStaticText * m_staticText4
 
wxComboBox * m_modelType
 
wxStaticText * m_staticTextNote
 
wxStaticText * m_stInfoNote
 
wxStyledTextCtrl * m_libraryContents
 
wxPanel * m_power
 
wxStaticText * m_staticText10
 
wxTextCtrl * m_genDc
 
wxStaticText * m_staticText113
 
wxStaticText * m_staticText11
 
wxTextCtrl * m_genAcMag
 
wxStaticText * m_staticText111
 
wxStaticText * m_staticText12
 
wxTextCtrl * m_genAcPhase
 
wxStaticText * m_staticText112
 
wxNotebook * m_powerNotebook
 
wxPanel * m_pwrPulse
 
wxStaticText * m_staticText13
 
wxTextCtrl * m_pulseInit
 
wxStaticText * m_staticText131
 
wxStaticText * m_staticText14
 
wxTextCtrl * m_pulseNominal
 
wxStaticText * m_staticText132
 
wxStaticText * m_staticText15
 
wxTextCtrl * m_pulseDelay
 
wxStaticText * m_staticText133
 
wxStaticText * m_staticText16
 
wxTextCtrl * m_pulseRise
 
wxStaticText * m_staticText134
 
wxStaticText * m_staticText17
 
wxTextCtrl * m_pulseFall
 
wxStaticText * m_staticText135
 
wxStaticText * m_staticText18
 
wxTextCtrl * m_pulseWidth
 
wxStaticText * m_staticText136
 
wxStaticText * m_staticText20
 
wxTextCtrl * m_pulsePeriod
 
wxStaticText * m_staticText137
 
wxPanel * m_pwrSin
 
wxStaticText * m_staticText21
 
wxTextCtrl * m_sinOffset
 
wxStaticText * m_staticText211
 
wxStaticText * m_staticText22
 
wxTextCtrl * m_sinAmplitude
 
wxStaticText * m_staticText212
 
wxStaticText * m_staticText23
 
wxTextCtrl * m_sinFreq
 
wxStaticText * m_staticText213
 
wxStaticText * m_staticText24
 
wxTextCtrl * m_sinDelay
 
wxStaticText * m_staticText214
 
wxStaticText * m_staticText25
 
wxTextCtrl * m_sinDampFactor
 
wxStaticText * m_staticText215
 
wxPanel * m_pwrExp
 
wxStaticText * m_staticText26
 
wxTextCtrl * m_expInit
 
wxStaticText * m_staticText261
 
wxStaticText * m_staticText27
 
wxTextCtrl * m_expPulsed
 
wxStaticText * m_staticText262
 
wxStaticText * m_staticText28
 
wxTextCtrl * m_expRiseDelay
 
wxStaticText * m_staticText263
 
wxStaticText * m_staticText29
 
wxTextCtrl * m_expRiseConst
 
wxStaticText * m_staticText264
 
wxStaticText * m_staticText30
 
wxTextCtrl * m_expFallDelay
 
wxStaticText * m_staticText265
 
wxStaticText * m_staticText31
 
wxTextCtrl * m_expFallConst
 
wxStaticText * m_staticText266
 
wxPanel * m_pwrPwl
 
wxStaticText * m_staticText34
 
wxTextCtrl * m_pwlTime
 
wxStaticText * m_staticText342
 
wxStaticText * m_staticText35
 
wxTextCtrl * m_pwlValue
 
wxStaticText * m_staticText343
 
wxButton * m_pwlAddButton
 
wxListCtrl * m_pwlValList
 
wxButton * m_pwlRemoveBtn
 
wxPanel * m_pwrFm
 
wxStaticText * m_staticText138
 
wxTextCtrl * m_fmOffset
 
wxStaticText * m_staticText1311
 
wxStaticText * m_staticText141
 
wxTextCtrl * m_fmAmplitude
 
wxStaticText * m_staticText1321
 
wxStaticText * m_staticText151
 
wxTextCtrl * m_fmFcarrier
 
wxStaticText * m_staticText1331
 
wxStaticText * m_staticText161
 
wxTextCtrl * m_fmModIndex
 
wxStaticText * m_staticText1341
 
wxStaticText * m_staticText171
 
wxTextCtrl * m_fmFsignal
 
wxStaticText * m_staticText1351
 
wxStaticText * m_staticText181
 
wxTextCtrl * m_fmPhaseC
 
wxStaticText * m_staticText1361
 
wxStaticText * m_staticText201
 
wxTextCtrl * m_fmPhaseS
 
wxStaticText * m_staticText1371
 
wxPanel * m_pwrAm
 
wxStaticText * m_staticText1381
 
wxTextCtrl * m_amAmplitude
 
wxStaticText * m_staticText13111
 
wxStaticText * m_staticText1411
 
wxTextCtrl * m_amOffset
 
wxStaticText * m_staticText13211
 
wxStaticText * m_staticText1511
 
wxTextCtrl * m_amModulatingFreq
 
wxStaticText * m_staticText13311
 
wxStaticText * m_staticText1611
 
wxTextCtrl * m_amCarrierFreq
 
wxStaticText * m_staticText13411
 
wxStaticText * m_staticText1711
 
wxTextCtrl * m_amSignalDelay
 
wxStaticText * m_staticText13511
 
wxStaticText * m_staticText1811
 
wxTextCtrl * m_amPhase
 
wxStaticText * m_staticText13611
 
wxPanel * m_pwrTransNoise
 
wxPanel * m_pwrRandom
 
wxStaticText * m_staticText27111
 
wxChoice * m_rnType
 
wxStaticText * m_staticText26711
 
wxTextCtrl * m_rnTS
 
wxStaticText * m_staticText262111
 
wxStaticText * m_staticText28111
 
wxTextCtrl * m_rnTD
 
wxStaticText * m_staticText263111
 
wxStaticText * m_rnParam1Text
 
wxTextCtrl * m_rnParam1
 
wxStaticText * m_rnParam2Text
 
wxTextCtrl * m_rnParam2
 
wxPanel * m_pwrExtData
 
wxRadioBox * m_pwrType
 
wxStaticLine * m_staticline2
 
wxCheckBox * m_disabled
 
wxCheckBox * m_nodeSeqCheck
 
wxTextCtrl * m_nodeSeqVal
 
wxStaticLine * m_staticline3
 
wxStdDialogButtonSizer * m_sdbSizer
 
wxButton * m_sdbSizerOK
 
wxButton * m_sdbSizerCancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 

Private Member Functions

bool parsePowerSource (const wxString &aModel)
 Parse a string describing a power source, so appropriate settings are checked in the dialog. More...
 
bool generatePowerSource (wxString &aTarget) const
 Generates a string to describe power source parameters, basing on the current selection. More...
 
void loadLibrary (const wxString &aFilePath)
 Loads a list of components (.model and .subckt) from a spice library file and adds them to a combo box. More...
 
SCH_FIELDgetSchField (int aFieldType)
 Returns or creates a field in the edited schematic fields vector. More...
 
LIB_FIELDgetLibField (int aFieldType)
 
bool addPwlValue (const wxString &aTime, const wxString &aValue)
 Adds a value to the PWL values list. More...
 
virtual bool TransferDataFromWindow () override
 
virtual bool TransferDataToWindow () override
 
virtual bool Validate () override
 
virtual void onInitDlg (wxInitDialogEvent &event) override
 
void Init ()
 Initializes the internal settings. More...
 
void showPinOrderNote (int aModelType)
 Display a note info about pin order. More...
 
void onSelectLibrary (wxCommandEvent &event) override
 
void onModelSelected (wxCommandEvent &event) override
 
void onPwlAdd (wxCommandEvent &event) override
 
void onPwlRemove (wxCommandEvent &event) override
 
void onRandomSourceType (wxCommandEvent &event) override
 
void onTypeSelected (wxCommandEvent &event) override
 

Private Attributes

SCH_COMPONENTm_component
 

Edited component

More...
 
SCH_FIELDSm_schfields
 

Fields from the component properties dialog

More...
 
LIB_FIELDSm_libfields
 
bool m_useSchFields
 
std::map< int, wxString > m_fieldsTmp
 

Temporary field values

More...
 
std::map< wxString, MODELm_models
 

Models available in the selected library file

More...
 
long m_pwlTimeCol
 

Column identifiers for PWL power source value list

More...
 
long m_pwlValueCol
 
SPICE_VALIDATOR m_spiceValidator
 
SPICE_VALIDATOR m_spiceEmptyValidator
 
wxTextValidator m_notEmptyValidator
 

Detailed Description

Definition at line 38 of file dialog_spice_model.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 42 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ DIALOG_SPICE_MODEL() [1/2]

DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL ( wxWindow *  aParent,
SCH_COMPONENT aComponent,
SCH_FIELDS aSchFields 
)

Definition at line 106 of file dialog_spice_model.cpp.

107  : DIALOG_SPICE_MODEL_BASE( aParent ), m_component( aComponent ), m_schfields( aFields ),
108  m_libfields( nullptr ), m_useSchFields( true ),
109  m_spiceEmptyValidator( true ), m_notEmptyValidator( wxFILTER_EMPTY )
110 {
111  Init();
112 }
void Init()
Initializes the internal settings.
SCH_COMPONENT & m_component
Edited component
SCH_FIELDS * m_schfields
Fields from the component properties dialog
wxTextValidator m_notEmptyValidator
DIALOG_SPICE_MODEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Spice Model Editor"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(494, 604), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
SPICE_VALIDATOR m_spiceEmptyValidator

References Init().

◆ DIALOG_SPICE_MODEL() [2/2]

DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL ( wxWindow *  aParent,
SCH_COMPONENT aComponent,
LIB_FIELDS aLibFields 
)

Definition at line 115 of file dialog_spice_model.cpp.

116  : DIALOG_SPICE_MODEL_BASE( aParent ), m_component( aComponent ), m_schfields( nullptr ),
117  m_libfields( aFields ), m_useSchFields( false ),
118  m_spiceEmptyValidator( true ), m_notEmptyValidator( wxFILTER_EMPTY )
119 {
120  Init();
121 }
void Init()
Initializes the internal settings.
SCH_COMPONENT & m_component
Edited component
SCH_FIELDS * m_schfields
Fields from the component properties dialog
wxTextValidator m_notEmptyValidator
DIALOG_SPICE_MODEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Spice Model Editor"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(494, 604), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
SPICE_VALIDATOR m_spiceEmptyValidator

References Init().

Member Function Documentation

◆ addPwlValue()

bool DIALOG_SPICE_MODEL::addPwlValue ( const wxString &  aTime,
const wxString &  aValue 
)
private

Adds a value to the PWL values list.

Parameters
aTimeis the time value.
aValueis the source value at the given time.
Returns
True if request has completed successfully, false if the data is invalid.

Definition at line 944 of file dialog_spice_model.cpp.

945 {
946  // TODO execute validators
947  if( aTime.IsEmpty() || aValue.IsEmpty() )
948  return false;
949 
950  long idx = m_pwlValList->InsertItem( m_pwlTimeCol, aTime );
951  m_pwlValList->SetItem( idx, m_pwlValueCol, aValue );
952 
953  // There is no wxString::ToFloat, but we need to guarantee it fits in 4 bytes
954  double timeD;
955  float timeF;
956  m_pwlTime->GetValue().ToDouble( &timeD );
957  timeF = timeD;
958  long data;
959  std::memcpy( &data, &timeF, sizeof( timeF ) );
960 
961  // Store the time value, so the entries can be sorted
962  m_pwlValList->SetItemData( idx, data );
963 
964  // Sort items by timestamp
965  m_pwlValList->SortItems( comparePwlValues, -1 );
966 
967  return true;
968 }
long m_pwlTimeCol
Column identifiers for PWL power source value list
static int wxCALLBACK comparePwlValues(wxIntPtr aItem1, wxIntPtr aItem2, wxIntPtr WXUNUSED(aSortData))

References comparePwlValues(), DIALOG_SPICE_MODEL_BASE::m_pwlTime, m_pwlTimeCol, DIALOG_SPICE_MODEL_BASE::m_pwlValList, and m_pwlValueCol.

Referenced by onPwlAdd(), and parsePowerSource().

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 269 of file dialog_shim.cpp.

270 {
271  // so we can do logging of this state change:
272  return wxDialog::Enable( enable );
273 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 388 of file dialog_shim.cpp.

389 {
390  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
391  // handle validation in the same way as other dialogs.
392  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
393  return;
394 
395  SetReturnCode( retCode );
396 
397  if( !IsQuasiModal() )
398  {
399  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
400  "wasn't called" );
401  return;
402  }
403 
404  if( m_qmodal_loop )
405  {
406  if( m_qmodal_loop->IsRunning() )
407  m_qmodal_loop->Exit( 0 );
408  else
409  m_qmodal_loop->ScheduleExit( 0 );
410 
412  }
413 
416 
417  Show( false );
418 }
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:206
#define NULL
bool IsQuasiModal()
Definition: dialog_shim.h:123
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:209

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, NULL, and DIALOG_SHIM::Show().

Referenced by HK_PROMPT_DIALOG::EndFlexible(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_COMPONENTS_LIBID::onCancel(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_PRINT_GENERIC::onCloseButton(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnEditLibrarySymbol(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnEditSymbol(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnExchangeSymbol(), HTML_MESSAGE_BOX::OnOKButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_CHOOSE_COMPONENT::OnUseBrowser(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ FinishDialogSettings()

void DIALOG_SHIM::FinishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

FinishDialogSettings must be called from derived classes, when all widgets are initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at end of TransferDataToWindow, or better at end of a wxInitDialogEvent handler

In any case, the best way is to call it in a wxInitDialogEvent handler after calling TransfertDataToWindow(), which is the default wxInitDialogEvent handler wxDialog

Definition at line 144 of file dialog_shim.cpp.

145 {
146  // must be called from the constructor of derived classes,
147  // when all widgets are initialized, and therefore their size fixed
148 
149  // SetSizeHints fixes the minimal size of sizers in the dialog
150  // (SetSizeHints calls Fit(), so no need to call it)
151  GetSizer()->SetSizeHints( this );
152 
153  // the default position, when calling the first time the dlg
154  Center();
155 }

References PCAD2KICAD::Center.

Referenced by DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC(), DIALOG_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN(), DIALOG_EDITOR_DATA::DIALOG_EDITOR_DATA(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_NET_FROM_LIST::DIALOG_SELECT_NET_FROM_LIST(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DLG_SELECT_3DMODEL::DLG_SELECT_3DMODEL(), PAGED_DIALOG::finishInitialization(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SCH_SHEET_PROPS::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_UPDATE_FIELDS::TransferDataToWindow(), DIALOG_BOARD_STATISTICS::TransferDataToWindow(), and DIALOG_COLOR_PICKER::TransferDataToWindow().

◆ FixOSXCancelButtonIssue()

static void DIALOG_SHIM::FixOSXCancelButtonIssue ( wxWindow *  aWindow)
staticinherited

◆ generatePowerSource()

bool DIALOG_SPICE_MODEL::generatePowerSource ( wxString &  aTarget) const
private

Generates a string to describe power source parameters, basing on the current selection.

If there are missing fields, it will not modify the target string.

Parameters
aTargetis the destination for the generated string.
Returns
True if the string was saved successfully.

DC / AC section

Transient section

Definition at line 622 of file dialog_spice_model.cpp.

623 {
624  wxString acdc, trans;
625  wxWindow* page = m_powerNotebook->GetCurrentPage();
626  bool useTrans = true; // shall we use the transient command part?
627 
628  // Variables for generic processing
629  bool genericProcessing = false;
630  unsigned int genericReqParamsCount = 0;
631  std::vector<wxTextCtrl*> genericControls;
632 
634  // If SPICE_VALUE can be properly constructed, then it is a valid value
635  try
636  {
637  if( !empty( m_genDc ) )
638  acdc += wxString::Format( "dc %s ", SPICE_VALUE( m_genDc->GetValue() ).ToSpiceString() );
639  }
640  catch( ... )
641  {
642  DisplayError( NULL, wxT( "Invalid DC value" ) );
643  return false;
644  }
645 
646  try
647  {
648  if( !empty( m_genAcMag ) )
649  {
650  acdc += wxString::Format( "ac %s ", SPICE_VALUE( m_genAcMag->GetValue() ).ToSpiceString() );
651 
652  if( !empty( m_genAcPhase ) )
653  acdc += wxString::Format( "%s ", SPICE_VALUE( m_genAcPhase->GetValue() ).ToSpiceString() );
654  }
655  }
656  catch( ... )
657  {
658  DisplayError( NULL, wxT( "Invalid AC magnitude or phase" ) );
659  return false;
660  }
661 
663  if( page == m_pwrPulse )
664  {
665  if( !m_pwrPulse->Validate() )
666  return false;
667 
668  genericProcessing = true;
669  trans += "pulse(";
670  genericReqParamsCount = 2;
671  genericControls = { m_pulseInit, m_pulseNominal, m_pulseDelay,
673  }
674  else if( page == m_pwrSin )
675  {
676  if( !m_pwrSin->Validate() )
677  return false;
678 
679  genericProcessing = true;
680  trans += "sin(";
681  genericReqParamsCount = 2;
683  }
684  else if( page == m_pwrExp )
685  {
686  if( !m_pwrExp->Validate() )
687  return false;
688 
689  genericProcessing = true;
690  trans += "exp(";
691  genericReqParamsCount = 2;
692  genericControls = { m_expInit, m_expPulsed,
694  }
695  else if( page == m_pwrPwl )
696  {
697  if( m_pwlValList->GetItemCount() > 0 )
698  {
699  trans += "pwl(";
700 
701  for( int i = 0; i < m_pwlValList->GetItemCount(); ++i )
702  {
703  trans += wxString::Format( "%s %s ", m_pwlValList->GetItemText( i, m_pwlTimeCol ),
704  m_pwlValList->GetItemText( i, m_pwlValueCol ) );
705  }
706 
707  trans.Trim();
708  trans += ")";
709  }
710  }
711  else if( page == m_pwrFm )
712  {
713  if( !m_pwrFm->Validate() )
714  return false;
715 
716  genericProcessing = true;
717  trans += "sffm(";
718  genericReqParamsCount = 4;
721  }
722  else if( page == m_pwrAm )
723  {
724  if( !m_pwrAm->Validate() )
725  return false;
726 
727  genericProcessing = true;
728  trans += "am(";
729  genericReqParamsCount = 5;
732  }
733  else if( page == m_pwrRandom )
734  {
735  if( !m_pwrRandom->Validate() )
736  return false;
737 
738  // first parameter must be retrieved from drop-down list selection
739  trans += "trrandom(";
740  trans.Append( wxString::Format( wxT( "%i " ), ( m_rnType->GetSelection() + 1 ) ) );
741 
742  genericProcessing = true;
743  genericReqParamsCount = 4;
744  genericControls = { m_rnTS, m_rnTD, m_rnParam1, m_rnParam2 };
745  }
746  if( genericProcessing )
747  {
748  auto first_empty = std::find_if( genericControls.begin(), genericControls.end(), empty );
749  auto first_not_empty = std::find_if( genericControls.begin(), genericControls.end(),
750  []( const wxTextCtrl* c ){ return !empty( c ); } );
751 
752  if( std::distance( first_not_empty, genericControls.end() ) == 0 )
753  {
754  // all empty
755  useTrans = false;
756  }
757  else if( std::distance( genericControls.begin(), first_empty ) < (int)genericReqParamsCount )
758  {
759  DisplayError( nullptr,
760  wxString::Format( wxT( "You need to specify at least the "
761  "first %d parameters for the transient source" ),
762  genericReqParamsCount ) );
763 
764  return false;
765  }
766  else if( std::find_if_not( first_empty, genericControls.end(),
767  empty ) != genericControls.end() )
768  {
769  DisplayError( nullptr, wxT( "You cannot leave interleaved empty fields "
770  "when defining a transient source" ) );
771  return false;
772  }
773  else
774  {
775  std::for_each( genericControls.begin(), first_empty,
776  [&trans] ( wxTextCtrl* ctrl ) {
777  trans += wxString::Format( "%s ", ctrl->GetValue() );
778  } );
779  }
780 
781  trans.Trim();
782  trans += ")";
783  }
784 
785  aTarget = acdc;
786 
787  if( useTrans )
788  aTarget += trans;
789 
790  // Remove whitespaces from left and right side
791  aTarget.Trim( false );
792  aTarget.Trim( true );
793 
794  return true;
795 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:239
long m_pwlTimeCol
Column identifiers for PWL power source value list
static bool empty(const wxTextCtrl *aCtrl)
#define NULL
Helper class to handle Spice way of expressing values (e.g. 10.5 Meg)
Definition: spice_value.h:32
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:201
static float distance(const SFVEC2UI &a, const SFVEC2UI &b)

References DisplayError(), distance(), empty(), Format(), DIALOG_SPICE_MODEL_BASE::m_amAmplitude, DIALOG_SPICE_MODEL_BASE::m_amCarrierFreq, DIALOG_SPICE_MODEL_BASE::m_amModulatingFreq, DIALOG_SPICE_MODEL_BASE::m_amOffset, DIALOG_SPICE_MODEL_BASE::m_amPhase, DIALOG_SPICE_MODEL_BASE::m_amSignalDelay, DIALOG_SPICE_MODEL_BASE::m_expFallConst, DIALOG_SPICE_MODEL_BASE::m_expFallDelay, DIALOG_SPICE_MODEL_BASE::m_expInit, DIALOG_SPICE_MODEL_BASE::m_expPulsed, DIALOG_SPICE_MODEL_BASE::m_expRiseConst, DIALOG_SPICE_MODEL_BASE::m_expRiseDelay, DIALOG_SPICE_MODEL_BASE::m_fmAmplitude, DIALOG_SPICE_MODEL_BASE::m_fmFcarrier, DIALOG_SPICE_MODEL_BASE::m_fmFsignal, DIALOG_SPICE_MODEL_BASE::m_fmModIndex, DIALOG_SPICE_MODEL_BASE::m_fmOffset, DIALOG_SPICE_MODEL_BASE::m_fmPhaseC, DIALOG_SPICE_MODEL_BASE::m_fmPhaseS, DIALOG_SPICE_MODEL_BASE::m_genAcMag, DIALOG_SPICE_MODEL_BASE::m_genAcPhase, DIALOG_SPICE_MODEL_BASE::m_genDc, DIALOG_SPICE_MODEL_BASE::m_powerNotebook, DIALOG_SPICE_MODEL_BASE::m_pulseDelay, DIALOG_SPICE_MODEL_BASE::m_pulseFall, DIALOG_SPICE_MODEL_BASE::m_pulseInit, DIALOG_SPICE_MODEL_BASE::m_pulseNominal, DIALOG_SPICE_MODEL_BASE::m_pulsePeriod, DIALOG_SPICE_MODEL_BASE::m_pulseRise, DIALOG_SPICE_MODEL_BASE::m_pulseWidth, m_pwlTimeCol, DIALOG_SPICE_MODEL_BASE::m_pwlValList, m_pwlValueCol, DIALOG_SPICE_MODEL_BASE::m_pwrAm, DIALOG_SPICE_MODEL_BASE::m_pwrExp, DIALOG_SPICE_MODEL_BASE::m_pwrFm, DIALOG_SPICE_MODEL_BASE::m_pwrPulse, DIALOG_SPICE_MODEL_BASE::m_pwrPwl, DIALOG_SPICE_MODEL_BASE::m_pwrRandom, DIALOG_SPICE_MODEL_BASE::m_pwrSin, DIALOG_SPICE_MODEL_BASE::m_rnParam1, DIALOG_SPICE_MODEL_BASE::m_rnParam2, DIALOG_SPICE_MODEL_BASE::m_rnTD, DIALOG_SPICE_MODEL_BASE::m_rnTS, DIALOG_SPICE_MODEL_BASE::m_rnType, DIALOG_SPICE_MODEL_BASE::m_sinAmplitude, DIALOG_SPICE_MODEL_BASE::m_sinDampFactor, DIALOG_SPICE_MODEL_BASE::m_sinDelay, DIALOG_SPICE_MODEL_BASE::m_sinFreq, DIALOG_SPICE_MODEL_BASE::m_sinOffset, and NULL.

Referenced by TransferDataFromWindow().

◆ getLibField()

LIB_FIELD & DIALOG_SPICE_MODEL::getLibField ( int  aFieldType)
private

Definition at line 920 of file dialog_spice_model.cpp.

921 {
922  const wxString& spiceField = NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) aFieldType );
923 
924  auto fieldIt = std::find_if( m_libfields->begin(), m_libfields->end(),
925  [&]( const LIB_FIELD& f )
926  {
927  return f.GetName() == spiceField;
928  } );
929 
930  // Found one, so return it
931  if( fieldIt != m_libfields->end() )
932  return *fieldIt;
933 
934  // Create a new field with requested name
935  LIB_FIELD new_field( m_libfields->size() );
936  m_libfields->front().Copy( &new_field );
937  new_field.SetName( spiceField );
938 
939  m_libfields->push_back( new_field );
940  return m_libfields->back();
941 }
Field object used in symbol libraries.
Definition: lib_field.h:59
static const wxString & GetSpiceFieldName(SPICE_FIELD aField)
Returns a string used for a particular component field related to Spice simulation.

References NETLIST_EXPORTER_PSPICE::GetSpiceFieldName(), and m_libfields.

Referenced by TransferDataFromWindow().

◆ getSchField()

SCH_FIELD & DIALOG_SPICE_MODEL::getSchField ( int  aFieldType)
private

Returns or creates a field in the edited schematic fields vector.

Parameters
aFieldTypeis an SPICE_FIELD enum value.
Returns
Requested field.

Definition at line 902 of file dialog_spice_model.cpp.

903 {
904  const wxString& spiceField = NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) aFieldType );
905 
906  auto fieldIt = std::find_if( m_schfields->begin(), m_schfields->end(), [&]( const SCH_FIELD& f ) {
907  return f.GetName() == spiceField;
908  } );
909 
910  // Found one, so return it
911  if( fieldIt != m_schfields->end() )
912  return *fieldIt;
913 
914  // Create a new field with requested name
915  m_schfields->emplace_back( wxPoint(), m_schfields->size(), &m_component, spiceField );
916  return m_schfields->back();
917 }
SCH_FIELD instances are attached to a component and provide a place for the component's value,...
Definition: sch_field.h:52
SCH_COMPONENT & m_component
Edited component
static const wxString & GetSpiceFieldName(SPICE_FIELD aField)
Returns a string used for a particular component field related to Spice simulation.
SCH_FIELDS * m_schfields
Fields from the component properties dialog

References NETLIST_EXPORTER_PSPICE::GetSpiceFieldName(), m_component, and m_schfields.

Referenced by TransferDataFromWindow().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( )
inlineinherited

Definition at line 49 of file kiway_holder.h.

49 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:82

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ HorizPixelsFromDU()

int DIALOG_SHIM::HorizPixelsFromDU ( int  x)
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 165 of file dialog_shim.cpp.

166 {
167  wxSize sz( x, 0 );
168  return ConvertDialogToPixels( sz ).x;
169 }

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), and DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT().

◆ Init()

void DIALOG_SPICE_MODEL::Init ( )
private

Initializes the internal settings.

Definition at line 124 of file dialog_spice_model.cpp.

125 {
126  m_pasValue->SetValidator( m_spiceValidator );
127 
128  m_modelType->SetValidator( m_notEmptyValidator );
129  m_modelType->Clear();
130 
131  // Create a list of handled models
132  for( const auto& model : modelTypes )
133  m_modelType->Append( model.description );
134 
135  m_modelName->SetValidator( m_notEmptyValidator );
136 
137  m_genDc->SetValidator( m_spiceEmptyValidator );
138  m_genAcMag->SetValidator( m_spiceEmptyValidator );
139  m_genAcPhase->SetValidator( m_spiceEmptyValidator );
140 
141  m_pulseInit->SetValidator( m_spiceEmptyValidator );
142  m_pulseNominal->SetValidator( m_spiceEmptyValidator );
143  m_pulseDelay->SetValidator( m_spiceEmptyValidator );
144  m_pulseRise->SetValidator( m_spiceEmptyValidator );
145  m_pulseFall->SetValidator( m_spiceEmptyValidator );
146  m_pulseWidth->SetValidator( m_spiceEmptyValidator );
147  m_pulsePeriod->SetValidator( m_spiceEmptyValidator );
148 
149  m_sinOffset->SetValidator( m_spiceEmptyValidator );
150  m_sinAmplitude->SetValidator( m_spiceEmptyValidator );
151  m_sinFreq->SetValidator( m_spiceEmptyValidator );
152  m_sinDelay->SetValidator( m_spiceEmptyValidator );
153  m_sinDampFactor->SetValidator( m_spiceEmptyValidator );
154 
155  m_expInit->SetValidator( m_spiceEmptyValidator );
156  m_expPulsed->SetValidator( m_spiceEmptyValidator );
157  m_expRiseDelay->SetValidator( m_spiceEmptyValidator );
158  m_expRiseConst->SetValidator( m_spiceEmptyValidator );
159  m_expFallDelay->SetValidator( m_spiceEmptyValidator );
160  m_expFallConst->SetValidator( m_spiceEmptyValidator );
161 
162  m_fmOffset->SetValidator( m_spiceEmptyValidator );
163  m_fmAmplitude->SetValidator( m_spiceEmptyValidator );
164  m_fmFcarrier->SetValidator( m_spiceEmptyValidator );
165  m_fmModIndex->SetValidator( m_spiceEmptyValidator );
166  m_fmFsignal->SetValidator( m_spiceEmptyValidator );
167  m_fmPhaseC->SetValidator( m_spiceEmptyValidator );
168  m_fmPhaseS->SetValidator( m_spiceEmptyValidator );
169 
170  m_amAmplitude->SetValidator( m_spiceEmptyValidator );
171  m_amOffset->SetValidator( m_spiceEmptyValidator );
172  m_amModulatingFreq->SetValidator( m_spiceEmptyValidator );
173  m_amCarrierFreq->SetValidator( m_spiceEmptyValidator );
174  m_amSignalDelay->SetValidator( m_spiceEmptyValidator );
175  m_amPhase->SetValidator( m_spiceEmptyValidator );
176 
177  m_rnTS->SetValidator( m_spiceEmptyValidator );
178  m_rnTD->SetValidator( m_spiceEmptyValidator );
179  m_rnParam1->SetValidator( m_spiceEmptyValidator );
180  m_rnParam2->SetValidator( m_spiceEmptyValidator );
181 
182  m_pwlTimeCol = m_pwlValList->AppendColumn( "Time [s]", wxLIST_FORMAT_LEFT, 100 );
183  m_pwlValueCol = m_pwlValList->AppendColumn( "Value [V/A]", wxLIST_FORMAT_LEFT, 100 );
184 
185  m_sdbSizerOK->SetDefault();
186 
187  // Hide pages that aren't fully implemented yet
188  // wxPanel::Hide() isn't enough on some platforms
189  m_powerNotebook->RemovePage( m_powerNotebook->FindPage( m_pwrTransNoise ) );
190  m_powerNotebook->RemovePage( m_powerNotebook->FindPage( m_pwrExtData ) );
191 }
SPICE_VALIDATOR m_spiceValidator
long m_pwlTimeCol
Column identifiers for PWL power source value list
wxTextValidator m_notEmptyValidator
SPICE_VALIDATOR m_spiceEmptyValidator
static const std::vector< SPICE_MODEL_INFO > modelTypes

References DIALOG_SPICE_MODEL_BASE::m_amAmplitude, DIALOG_SPICE_MODEL_BASE::m_amCarrierFreq, DIALOG_SPICE_MODEL_BASE::m_amModulatingFreq, DIALOG_SPICE_MODEL_BASE::m_amOffset, DIALOG_SPICE_MODEL_BASE::m_amPhase, DIALOG_SPICE_MODEL_BASE::m_amSignalDelay, DIALOG_SPICE_MODEL_BASE::m_expFallConst, DIALOG_SPICE_MODEL_BASE::m_expFallDelay, DIALOG_SPICE_MODEL_BASE::m_expInit, DIALOG_SPICE_MODEL_BASE::m_expPulsed, DIALOG_SPICE_MODEL_BASE::m_expRiseConst, DIALOG_SPICE_MODEL_BASE::m_expRiseDelay, DIALOG_SPICE_MODEL_BASE::m_fmAmplitude, DIALOG_SPICE_MODEL_BASE::m_fmFcarrier, DIALOG_SPICE_MODEL_BASE::m_fmFsignal, DIALOG_SPICE_MODEL_BASE::m_fmModIndex, DIALOG_SPICE_MODEL_BASE::m_fmOffset, DIALOG_SPICE_MODEL_BASE::m_fmPhaseC, DIALOG_SPICE_MODEL_BASE::m_fmPhaseS, DIALOG_SPICE_MODEL_BASE::m_genAcMag, DIALOG_SPICE_MODEL_BASE::m_genAcPhase, DIALOG_SPICE_MODEL_BASE::m_genDc, DIALOG_SPICE_MODEL_BASE::m_modelName, DIALOG_SPICE_MODEL_BASE::m_modelType, m_notEmptyValidator, DIALOG_SPICE_MODEL_BASE::m_pasValue, DIALOG_SPICE_MODEL_BASE::m_powerNotebook, DIALOG_SPICE_MODEL_BASE::m_pulseDelay, DIALOG_SPICE_MODEL_BASE::m_pulseFall, DIALOG_SPICE_MODEL_BASE::m_pulseInit, DIALOG_SPICE_MODEL_BASE::m_pulseNominal, DIALOG_SPICE_MODEL_BASE::m_pulsePeriod, DIALOG_SPICE_MODEL_BASE::m_pulseRise, DIALOG_SPICE_MODEL_BASE::m_pulseWidth, m_pwlTimeCol, DIALOG_SPICE_MODEL_BASE::m_pwlValList, m_pwlValueCol, DIALOG_SPICE_MODEL_BASE::m_pwrExtData, DIALOG_SPICE_MODEL_BASE::m_pwrTransNoise, DIALOG_SPICE_MODEL_BASE::m_rnParam1, DIALOG_SPICE_MODEL_BASE::m_rnParam2, DIALOG_SPICE_MODEL_BASE::m_rnTD, DIALOG_SPICE_MODEL_BASE::m_rnTS, DIALOG_SPICE_MODEL_BASE::m_sdbSizerOK, DIALOG_SPICE_MODEL_BASE::m_sinAmplitude, DIALOG_SPICE_MODEL_BASE::m_sinDampFactor, DIALOG_SPICE_MODEL_BASE::m_sinDelay, DIALOG_SPICE_MODEL_BASE::m_sinFreq, DIALOG_SPICE_MODEL_BASE::m_sinOffset, m_spiceEmptyValidator, m_spiceValidator, and modelTypes.

Referenced by DIALOG_SPICE_MODEL().

◆ IsCtrl()

static bool DIALOG_SHIM::IsCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 136 of file dialog_shim.h.

137  {
138  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
139  !e.ShiftDown() && !e.MetaDown();
140  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ IsQuasiModal()

◆ IsShiftCtrl()

static bool DIALOG_SHIM::IsShiftCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 142 of file dialog_shim.h.

143  {
144  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
145  e.ShiftDown() && !e.MetaDown();
146  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ Kiway()

KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 56 of file kiway_holder.h.

57  {
58  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
59  return *m_kiway;
60  }
KIWAY * m_kiway
Definition: kiway_holder.h:81

References KIWAY_HOLDER::m_kiway.

Referenced by TREEPROJECT_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_CONTROL::AddSymbolToSchematic(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), SCH_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), CVPCB_MAINFRAME::DisplayStatus(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), PCB_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithLibEdit(), BACK_ANNOTATE::FetchNetlistFromPCB(), DISPLAY_FOOTPRINTS_FRAME::GetModule(), PCB_EDIT_FRAME::importFile(), KIWAY_PLAYER::language_change(), KICAD_MANAGER_FRAME::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), CVPCB_MAINFRAME::LoadFootprintFiles(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), LIB_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), KICAD_MANAGER_FRAME::OnImportEagleFiles(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SetCrossProbeConnection(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), PCB_EDITOR_CONTROL::UpdateSchematicFromPCB(), LIB_CONTROL::UpdateSymbolInSchematic(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ loadLibrary()

void DIALOG_SPICE_MODEL::loadLibrary ( const wxString &  aFilePath)
private

Loads a list of components (.model and .subckt) from a spice library file and adds them to a combo box.

Parameters
aComboBoxis the target combo box
aFilePathis path to the library file

Definition at line 798 of file dialog_spice_model.cpp.

799 {
800  wxString curModel = m_modelName->GetValue();
801  m_models.clear();
802  wxFileName filePath( aFilePath );
803  bool in_subckt = false; // flag indicating that the parser is inside a .subckt section
804 
805  // Look for the file in the project path
806  if( !filePath.Exists() )
807  {
808  filePath.SetPath( Prj().GetProjectPath() + filePath.GetPath() );
809 
810  if( !filePath.Exists() )
811  return;
812  }
813 
814  // Display the library contents
815  wxWindowUpdateLocker updateLock( this );
816 
817  m_libraryContents->SetReadOnly( false );
818  m_libraryContents->Clear();
819  wxTextFile file;
820  file.Open( filePath.GetFullPath() );
821  int line_nr = 0;
822 
823  // Stores the libray content. It will be displayed after reading the full library
824  wxString fullText;
825 
826  // Process the file, looking for components
827  while( !file.Eof() )
828  {
829  const wxString& line = line_nr == 0 ? file.GetFirstLine() : file.GetNextLine();
830  fullText << line << '\n';
831 
832  wxStringTokenizer tokenizer( line );
833 
834  while( tokenizer.HasMoreTokens() )
835  {
836  wxString token = tokenizer.GetNextToken().Lower();
837 
838  // some subckts contain .model clauses inside,
839  // skip them as they are a part of the subckt, not another model
840  if( token == ".model" && !in_subckt )
841  {
842  wxString name = tokenizer.GetNextToken();
843 
844  if( name.IsEmpty() )
845  break;
846 
847  token = tokenizer.GetNextToken();
848  SPICE_PRIMITIVE type = MODEL::parseModelType( token );
849 
850  if( type != SP_UNKNOWN )
851  m_models.emplace( name, MODEL( line_nr, type ) );
852  }
853 
854  else if( token == ".subckt" )
855  {
856  wxASSERT( !in_subckt );
857  in_subckt = true;
858 
859  wxString name = tokenizer.GetNextToken();
860 
861  if( name.IsEmpty() )
862  break;
863 
864  m_models.emplace( name, MODEL( line_nr, SP_SUBCKT ) );
865  }
866 
867  else if( token == ".ends" )
868  {
869  wxASSERT( in_subckt );
870  in_subckt = false;
871  }
872  }
873 
874  ++line_nr;
875  }
876 
877  // display the full library content:
878  m_libraryContents->AppendText( fullText );
879  m_libraryContents->SetReadOnly( true );
880 
881  wxArrayString modelsList;
882 
883  // Refresh the model name combobox values
884  m_modelName->Clear();
885 
886  for( const auto& model : m_models )
887  {
888  m_modelName->Append( model.first );
889  modelsList.Add( model.first );
890  }
891 
892  m_modelName->AutoComplete( modelsList );
893 
894  // Restore the previous value or if there is none - pick the first one from the loaded library
895  if( !curModel.IsEmpty() )
896  m_modelName->SetValue( curModel );
897  else if( m_modelName->GetCount() > 0 )
898  m_modelName->SetSelection( 0 );
899 }
static SPICE_PRIMITIVE parseModelType(const wxString &aValue)
Convert string to model
wxStyledTextCtrl * m_libraryContents
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
const char * name
Definition: DXF_plotter.cpp:60
SPICE_PRIMITIVE
Basic Spice component primitives
std::map< wxString, MODEL > m_models
Models available in the selected library file

References DIALOG_SPICE_MODEL_BASE::m_libraryContents, DIALOG_SPICE_MODEL_BASE::m_modelName, m_models, MODEL, name, DIALOG_SPICE_MODEL::MODEL::parseModelType(), KIWAY_HOLDER::Prj(), SP_SUBCKT, and SP_UNKNOWN.

Referenced by onSelectLibrary(), and TransferDataToWindow().

◆ onInitDlg()

virtual void DIALOG_SPICE_MODEL::onInitDlg ( wxInitDialogEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 96 of file dialog_spice_model.h.

97  {
98  // Call the default wxDialog handler of a wxInitDialogEvent
100 
101  // Now all widgets have the size fixed, call FinishDialogSettings
103  }
void FinishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
virtual bool TransferDataToWindow() override

References DIALOG_SHIM::FinishDialogSettings(), and TransferDataToWindow().

◆ onModelSelected()

void DIALOG_SPICE_MODEL::onModelSelected ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 998 of file dialog_spice_model.cpp.

999 {
1000  // autoselect the model type
1001  auto it = m_models.find( m_modelName->GetValue() );
1002 
1003  if( it != m_models.end() )
1004  {
1005  m_modelType->SetSelection( getModelTypeIdx( it->second.model ) );
1006 
1007  // scroll to the bottom, so the model definition is shown in the first line
1008  m_libraryContents->ShowPosition(
1009  m_libraryContents->XYToPosition( 0, m_libraryContents->GetNumberOfLines() ) );
1010  m_libraryContents->ShowPosition( m_libraryContents->XYToPosition( 0, it->second.line ) );
1011  }
1012  else
1013  {
1014  m_libraryContents->ShowPosition( 0 );
1015  }
1016 }
static int getModelTypeIdx(char aPrimitive)
wxStyledTextCtrl * m_libraryContents
std::map< wxString, MODEL > m_models
Models available in the selected library file

References getModelTypeIdx(), DIALOG_SPICE_MODEL_BASE::m_libraryContents, DIALOG_SPICE_MODEL_BASE::m_modelName, m_models, and DIALOG_SPICE_MODEL_BASE::m_modelType.

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 295 of file dialog_shim.cpp.

296 {
297  if( m_firstPaintEvent )
298  {
300 
301  selectAllInTextCtrls( GetChildren() );
302 
304  m_initialFocusTarget->SetFocus();
305  else
306  SetFocus(); // Focus the dialog itself
307 
308  m_firstPaintEvent = false;
309  }
310 
311  event.Skip();
312 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:204
bool m_firstPaintEvent
Definition: dialog_shim.h:203
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:46
static void selectAllInTextCtrls(wxWindowList &children)

References KIPLATFORM::UI::FixupCancelButtonCmdKeyCollision(), DIALOG_SHIM::m_firstPaintEvent, DIALOG_SHIM::m_initialFocusTarget, and selectAllInTextCtrls().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ onPwlAdd()

void DIALOG_SPICE_MODEL::onPwlAdd ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 1027 of file dialog_spice_model.cpp.

1028 {
1029  addPwlValue( m_pwlTime->GetValue(), m_pwlValue->GetValue() );
1030 }
bool addPwlValue(const wxString &aTime, const wxString &aValue)
Adds a value to the PWL values list.

References addPwlValue(), DIALOG_SPICE_MODEL_BASE::m_pwlTime, and DIALOG_SPICE_MODEL_BASE::m_pwlValue.

◆ onPwlRemove()

void DIALOG_SPICE_MODEL::onPwlRemove ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 1033 of file dialog_spice_model.cpp.

1034 {
1035  long idx = m_pwlValList->GetNextItem( -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
1036  m_pwlValList->DeleteItem( idx );
1037 }

References DIALOG_SPICE_MODEL_BASE::m_pwlValList.

◆ onRandomSourceType()

void DIALOG_SPICE_MODEL::onRandomSourceType ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 1040 of file dialog_spice_model.cpp.

1041 {
1042  switch( m_rnType->GetSelection() )
1043  {
1044  case TRRANDOM_UNIFORM:
1045  // uniform white noise
1046  m_rnParam1Text->SetLabel( _( "Range:" ) );
1047  m_rnParam2Text->SetLabel( _( "Offset:" ) );
1048  break;
1049 
1050  case TRRANDOM_GAUSSIAN:
1051  // Gaussian
1052  m_rnParam1Text->SetLabel( _( "Standard deviation:" ) );
1053  m_rnParam2Text->SetLabel( _( "Mean:" ) );
1054  break;
1055 
1056  case TRRANDOM_EXPONENTIAL:
1057  // exponential
1058  m_rnParam1Text->SetLabel( _( "Mean:" ) );
1059  m_rnParam2Text->SetLabel( _( "Offset:" ) );
1060  break;
1061 
1062  case TRRANDOM_POISSON:
1063  // Poisson
1064  m_rnParam1Text->SetLabel( _( "Lambda:" ) );
1065  m_rnParam2Text->SetLabel( _( "Offset:" ) );
1066  break;
1067 
1068  default:
1069  wxFAIL_MSG( _( "type of random generator for source is invalid" ) );
1070  break;
1071  }
1072 }
#define _(s)
Definition: 3d_actions.cpp:33

References _, DIALOG_SPICE_MODEL_BASE::m_rnParam1Text, DIALOG_SPICE_MODEL_BASE::m_rnParam2Text, DIALOG_SPICE_MODEL_BASE::m_rnType, TRRANDOM_EXPONENTIAL, TRRANDOM_GAUSSIAN, TRRANDOM_POISSON, and TRRANDOM_UNIFORM.

Referenced by parsePowerSource().

◆ onSelectLibrary()

void DIALOG_SPICE_MODEL::onSelectLibrary ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 971 of file dialog_spice_model.cpp.

972 {
973  wxString searchPath = wxFileName( m_modelLibrary->GetValue() ).GetPath();
974 
975  if( searchPath.IsEmpty() )
976  searchPath = Prj().GetProjectPath();
977 
978  wxString wildcards = SpiceLibraryFileWildcard() + "|" + AllFilesWildcard();
979  wxFileDialog openDlg( this, _( "Select library" ), searchPath, "", wildcards,
980  wxFD_OPEN | wxFD_FILE_MUST_EXIST );
981 
982  if( openDlg.ShowModal() == wxID_CANCEL )
983  return;
984 
985  wxFileName libPath( openDlg.GetPath() );
986 
987  // Try to convert the path to relative to project
988  if( libPath.MakeRelativeTo( Prj().GetProjectPath() ) && !libPath.GetFullPath().StartsWith( ".." ) )
989  m_modelLibrary->SetValue( libPath.GetFullPath() );
990  else
991  m_modelLibrary->SetValue( openDlg.GetPath() );
992 
993  loadLibrary( openDlg.GetPath() );
994  m_modelName->Popup();
995 }
VTBL_ENTRY const wxString GetProjectPath() const
Function GetProjectPath returns the full path of the project.
Definition: project.cpp:124
wxString AllFilesWildcard()
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
void loadLibrary(const wxString &aFilePath)
Loads a list of components (.model and .subckt) from a spice library file and adds them to a combo bo...
#define _(s)
Definition: 3d_actions.cpp:33
wxString SpiceLibraryFileWildcard()

References _, AllFilesWildcard(), PROJECT::GetProjectPath(), loadLibrary(), DIALOG_SPICE_MODEL_BASE::m_modelLibrary, DIALOG_SPICE_MODEL_BASE::m_modelName, KIWAY_HOLDER::Prj(), and SpiceLibraryFileWildcard().

◆ onTypeSelected()

void DIALOG_SPICE_MODEL::onTypeSelected ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SPICE_MODEL_BASE.

Definition at line 1019 of file dialog_spice_model.cpp.

1020 {
1021  int type = m_modelType->GetSelection();
1022  int primitive = type >= 0 ? modelTypes[type].type : SP_SUBCKT;
1023  showPinOrderNote( primitive );
1024 }
void showPinOrderNote(int aModelType)
Display a note info about pin order.
static const std::vector< SPICE_MODEL_INFO > modelTypes

References DIALOG_SPICE_MODEL_BASE::m_modelType, modelTypes, showPinOrderNote(), and SP_SUBCKT.

◆ parsePowerSource()

bool DIALOG_SPICE_MODEL::parsePowerSource ( const wxString &  aModel)
private

Parse a string describing a power source, so appropriate settings are checked in the dialog.

Parameters
aModelcontains the string to be parse (e.g. sin(0 1 10k))
Returns
True if the input string was parsed without errors.

Definition at line 441 of file dialog_spice_model.cpp.

442 {
443  if( aModel.IsEmpty() )
444  return false;
445 
446  wxStringTokenizer tokenizer( aModel, " ()" );
447  wxString tkn = tokenizer.GetNextToken().Lower();
448 
449  while( tokenizer.HasMoreTokens() )
450  {
451  // Variables used for generic values processing (filling out wxTextCtrls in sequence)
452  bool genericProcessing = false;
453  unsigned int genericReqParamsCount = 0;
454  std::vector<wxTextCtrl*> genericControls;
455 
456  if( tkn == "dc" )
457  {
458  // There might be an optional "dc" or "trans" directive, skip it
459  if( tkn == "dc" || tkn == "trans" )
460  tkn = tokenizer.GetNextToken().Lower();
461 
462  // DC value
463  try
464  {
465  m_genDc->SetValue( SPICE_VALUE( tkn ).ToSpiceString() );
466  }
467  catch( ... )
468  {
469  return false;
470  }
471  }
472  else if( tkn == "ac" )
473  {
474  // AC magnitude
475  try
476  {
477  tkn = tokenizer.GetNextToken().Lower();
478  m_genAcMag->SetValue( SPICE_VALUE( tkn ).ToSpiceString() );
479  }
480  catch( ... )
481  {
482  return false;
483  }
484 
485  // AC phase (optional)
486  try
487  {
488  tkn = tokenizer.GetNextToken().Lower();
489  m_genAcPhase->SetValue( SPICE_VALUE( tkn ).ToSpiceString() );
490  }
491  catch( ... )
492  {
493  continue; // perhaps another directive
494  }
495  }
496  else if( tkn == "pulse" )
497  {
498  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrPulse ) );
499 
500  genericProcessing = true;
501  genericReqParamsCount = 2;
502  genericControls = { m_pulseInit, m_pulseNominal, m_pulseDelay,
504  }
505 
506 
507  else if( tkn == "sin" )
508  {
509  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrSin ) );
510 
511  genericProcessing = true;
512  genericReqParamsCount = 2;
514  }
515  else if( tkn == "exp" )
516  {
517  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrExp ) );
518 
519  genericProcessing = true;
520  genericReqParamsCount = 2;
521  genericControls = { m_expInit, m_expPulsed,
523  }
524  else if( tkn == "pwl" )
525  {
526  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrPwl ) );
527 
528  try
529  {
530  while( tokenizer.HasMoreTokens() )
531  {
532  tkn = tokenizer.GetNextToken();
533  SPICE_VALUE time( tkn );
534 
535  tkn = tokenizer.GetNextToken();
536  SPICE_VALUE value( tkn );
537 
538  addPwlValue( time.ToSpiceString(), value.ToSpiceString() );
539  }
540  }
541  catch( ... )
542  {
543  return false;
544  }
545  }
546  else if( tkn == "sffm" )
547  {
548  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrFm ) );
549 
550  genericProcessing = true;
551  genericReqParamsCount = 4;
554  }
555  else if( tkn == "am" )
556  {
557  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrAm ) );
558 
559  genericProcessing = true;
560  genericReqParamsCount = 5;
563  }
564  else if( tkn == "trrandom" )
565  {
566  m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrRandom ) );
567 
568  // first token will configure drop-down list
569  if( !tokenizer.HasMoreTokens() )
570  return false;
571 
572  tkn = tokenizer.GetNextToken().Lower();
573  long type;
574  if( !tkn.ToLong( &type ) )
575  return false;
576 
577  m_rnType->SetSelection( type - 1 );
578  wxCommandEvent dummy;
580 
581  // remaining parameters can be handled in generic way
582  genericProcessing = true;
583  genericReqParamsCount = 4;
584  genericControls = { m_rnTS, m_rnTD, m_rnParam1, m_rnParam2 };
585  }
586  else
587  {
588  // Unhandled power source type
589  wxASSERT_MSG( false, "Unhandled power source type" );
590  return false;
591  }
592 
593  if( genericProcessing )
594  {
595  try
596  {
597  for( unsigned int i = 0; i < genericControls.size(); ++i )
598  {
599  // If there are no more tokens, let's check if we got at least required fields
600  if( !tokenizer.HasMoreTokens() )
601  return ( i >= genericReqParamsCount );
602 
603  tkn = tokenizer.GetNextToken().Lower();
604  genericControls[i]->SetValue( SPICE_VALUE( tkn ).ToSpiceString() );
605  }
606  }
607  catch( ... )
608  {
609  return false;
610  }
611  }
612 
613  // Get the next token now, so if any of the branches catches an exception, try to
614  // process it in another branch
615  tkn = tokenizer.GetNextToken().Lower();
616  }
617 
618  return true;
619 }
bool addPwlValue(const wxString &aTime, const wxString &aValue)
Adds a value to the PWL values list.
void onRandomSourceType(wxCommandEvent &event) override
Helper class to handle Spice way of expressing values (e.g. 10.5 Meg)
Definition: spice_value.h:32
static LIB_PART * dummy()
Used to draw a dummy shape when a LIB_PART is not found in library.

References addPwlValue(), dummy(), DIALOG_SPICE_MODEL_BASE::m_amAmplitude, DIALOG_SPICE_MODEL_BASE::m_amCarrierFreq, DIALOG_SPICE_MODEL_BASE::m_amModulatingFreq, DIALOG_SPICE_MODEL_BASE::m_amOffset, DIALOG_SPICE_MODEL_BASE::m_amPhase, DIALOG_SPICE_MODEL_BASE::m_amSignalDelay, DIALOG_SPICE_MODEL_BASE::m_expFallConst, DIALOG_SPICE_MODEL_BASE::m_expFallDelay, DIALOG_SPICE_MODEL_BASE::m_expInit, DIALOG_SPICE_MODEL_BASE::m_expPulsed, DIALOG_SPICE_MODEL_BASE::m_expRiseConst, DIALOG_SPICE_MODEL_BASE::m_expRiseDelay, DIALOG_SPICE_MODEL_BASE::m_fmAmplitude, DIALOG_SPICE_MODEL_BASE::m_fmFcarrier, DIALOG_SPICE_MODEL_BASE::m_fmFsignal, DIALOG_SPICE_MODEL_BASE::m_fmModIndex, DIALOG_SPICE_MODEL_BASE::m_fmOffset, DIALOG_SPICE_MODEL_BASE::m_fmPhaseC, DIALOG_SPICE_MODEL_BASE::m_fmPhaseS, DIALOG_SPICE_MODEL_BASE::m_genAcMag, DIALOG_SPICE_MODEL_BASE::m_genAcPhase, DIALOG_SPICE_MODEL_BASE::m_genDc, DIALOG_SPICE_MODEL_BASE::m_powerNotebook, DIALOG_SPICE_MODEL_BASE::m_pulseDelay, DIALOG_SPICE_MODEL_BASE::m_pulseFall, DIALOG_SPICE_MODEL_BASE::m_pulseInit, DIALOG_SPICE_MODEL_BASE::m_pulseNominal, DIALOG_SPICE_MODEL_BASE::m_pulsePeriod, DIALOG_SPICE_MODEL_BASE::m_pulseRise, DIALOG_SPICE_MODEL_BASE::m_pulseWidth, DIALOG_SPICE_MODEL_BASE::m_pwrAm, DIALOG_SPICE_MODEL_BASE::m_pwrExp, DIALOG_SPICE_MODEL_BASE::m_pwrFm, DIALOG_SPICE_MODEL_BASE::m_pwrPulse, DIALOG_SPICE_MODEL_BASE::m_pwrPwl, DIALOG_SPICE_MODEL_BASE::m_pwrRandom, DIALOG_SPICE_MODEL_BASE::m_pwrSin, DIALOG_SPICE_MODEL_BASE::m_rnParam1, DIALOG_SPICE_MODEL_BASE::m_rnParam2, DIALOG_SPICE_MODEL_BASE::m_rnTD, DIALOG_SPICE_MODEL_BASE::m_rnTS, DIALOG_SPICE_MODEL_BASE::m_rnType, DIALOG_SPICE_MODEL_BASE::m_sinAmplitude, DIALOG_SPICE_MODEL_BASE::m_sinDampFactor, DIALOG_SPICE_MODEL_BASE::m_sinDelay, DIALOG_SPICE_MODEL_BASE::m_sinFreq, DIALOG_SPICE_MODEL_BASE::m_sinOffset, onRandomSourceType(), and SPICE_VALUE::ToSpiceString().

Referenced by TransferDataToWindow().

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 35 of file kiway_holder.cpp.

36 {
37  return Kiway().Prj();
38 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:173

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_MANAGER::addLibrary(), SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_BOARD_EDITOR::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromLibrary(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PL_DRAW_PANEL_GAL::DisplayWorksheet(), PCB_EDIT_FRAME::doAutoSave(), PCB_BASE_EDIT_FRAME::doCloseWindow(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), DIALOG_EXPORT_SVG::ExportSVGFile(), LIB_CONTROL::ExportSymbolAsSVG(), LIB_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SCH_BASE_FRAME::GetLibPart(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DISPLAY_FOOTPRINTS_FRAME::GetModule(), KICAD_MANAGER_FRAME::GetProjectFileName(), LIB_VIEW_FRAME::GetSelectedSymbol(), FP_THREAD_IFACE::GetTable(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), SCH_EDIT_FRAME::KiwayMailIn(), LIB_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), EDA_BASE_FRAME::LoadWindowState(), DIALOG_FOOTPRINT_FP_EDITOR::On3DModelCellChanged(), DIALOG_FOOTPRINT_BOARD_EDITOR::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_FOOTPRINT_FP_EDITOR::OnAdd3DModel(), DIALOG_FOOTPRINT_BOARD_EDITOR::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_BOM::OnRunGenerator(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_LABEL_EDITOR::onScintillaCharAdded(), DIALOG_SCH_EDIT_ONE_FIELD::onScintillaCharAdded(), onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), PANEL_PREV_3D::PANEL_PREV_3D(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_TOOLS::PasteFootprint(), PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME(), DIALOG_PLOT::Plot(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), SCH_EDIT_FRAME::PrintPage(), EDA_DRAW_FRAME::PrintWorkSheet(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), SCH_EDIT_TOOL::RefreshSymbolFromLibrary(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), PCB_INSPECTION_TOOL::reportCopperClearance(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), DRC_TOOL::RunTests(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), LIB_EDIT_FRAME::savePartAs(), PCB_EDIT_FRAME::SavePcbCopy(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), EDA_BASE_FRAME::SaveSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectCompFromLibTree(), PCB_BASE_FRAME::SelectLibrary(), LIB_EDIT_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), PCB_BASE_EDIT_FRAME::SetBoard(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), LIB_VIEW_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataToWindow(), DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::~DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::~DIALOG_FOOTPRINT_FP_EDITOR(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ ResetSize()

void DIALOG_SHIM::ResetSize ( )
protectedinherited

Clear the existing dialog size and position.

This will cause the dialog size to be clear so the next time the dialog is shown the sizers will layout the dialog accordingly. This useful when there are dialog windows that size changes due to layout dependency hidden controls.

Definition at line 244 of file dialog_shim.cpp.

245 {
246  const char* hash_key;
247 
248  if( m_hash_key.size() )
249  {
250  // a special case like EDA_LIST_DIALOG, which has multiple uses.
251  hash_key = m_hash_key.c_str();
252  }
253  else
254  {
255  hash_key = typeid(*this).name();
256  }
257 
258  RECT_MAP::iterator it = class_map.find( hash_key );
259 
260  if( it == class_map.end() )
261  return;
262 
263  EDA_RECT rect = it->second;
264  rect.SetSize( 0, 0 );
265  class_map[ hash_key ] = rect;
266 }
std::string m_hash_key
Definition: dialog_shim.h:198
static RECT_MAP class_map
void SetSize(const wxSize &size)
Definition: eda_rect.h:144
EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44

References class_map, DIALOG_SHIM::m_hash_key, and EDA_RECT::SetSize().

Referenced by DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.

Definition at line 114 of file dialog_shim.h.

115  {
116  m_initialFocusTarget = aWindow;
117  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:204

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_SCH_FIND::DIALOG_SCH_FIND(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), LIB_EDIT_FRAME::savePartAs(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), and DIALOG_COPPER_ZONE::TransferDataToWindow().

◆ SetKiway()

void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 42 of file kiway_holder.cpp.

43 {
44 #if defined(DEBUG)
45  // offer a trap point for debugging most any window
46  wxASSERT( aDest );
47  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
48  {
49  int breakhere=1;
50  (void) breakhere;
51  }
52 #endif
53 
54  (void) aDest;
55 
56  m_kiway = aKiway;
57 }
KIWAY * m_kiway
Definition: kiway_holder.h:81
const char * name
Definition: DXF_plotter.cpp:60

References KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), PCB::IFACE::CreateWindow(), InvokePcbLibTableEditor(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetSizeInDU()

void DIALOG_SHIM::SetSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 158 of file dialog_shim.cpp.

159 {
160  wxSize sz( x, y );
161  SetSize( ConvertDialogToPixels( sz ) );
162 }

Referenced by DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 185 of file dialog_shim.cpp.

186 {
187  bool ret;
188  const char* hash_key;
189 
190  if( m_hash_key.size() )
191  {
192  // a special case like EDA_LIST_DIALOG, which has multiple uses.
193  hash_key = m_hash_key.c_str();
194  }
195  else
196  {
197  hash_key = typeid(*this).name();
198  }
199 
200  // Show or hide the window. If hiding, save current position and size.
201  // If showing, use previous position and size.
202  if( show )
203  {
204 #ifndef __WINDOWS__
205  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
206 #endif
207  ret = wxDialog::Show( show );
208 
209  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
210  EDA_RECT savedDialogRect = class_map[ hash_key ];
211 
212  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
213  {
214  SetSize( savedDialogRect.GetPosition().x,
215  savedDialogRect.GetPosition().y,
216  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
217  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
218  0 );
219  }
220 
221  // Be sure that the dialog appears in a visible area
222  // (the dialog position might have been stored at the time when it was
223  // shown on another display)
224  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
225  Centre();
226  }
227  else
228  {
229  // Save the dialog's position & size before hiding, using classname as key
230  class_map[ hash_key ] = EDA_RECT( wxDialog::GetPosition(), wxDialog::GetSize() );
231 
232 #ifdef __WXMAC__
233  if ( m_eventLoop )
234  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
235 #endif
236 
237  ret = wxDialog::Show( show );
238  }
239 
240  return ret;
241 }
std::string m_hash_key
Definition: dialog_shim.h:198
static RECT_MAP class_map
const wxPoint GetPosition() const
Definition: eda_rect.h:115
EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
const wxSize GetSize() const
Definition: eda_rect.h:103

References class_map, EDA_RECT::GetPosition(), EDA_RECT::GetSize(), DIALOG_SHIM::m_hash_key, wxPoint::x, and wxPoint::y.

Referenced by DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), POSITION_RELATIVE_TOOL::PositionRelative(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), EDA_VIEW_SWITCHER::Show(), DIALOG_PAD_PROPERTIES::Show(), DRC_TOOL::ShowDRCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ showPinOrderNote()

void DIALOG_SPICE_MODEL::showPinOrderNote ( int  aModelType)
private

Display a note info about pin order.

Definition at line 404 of file dialog_spice_model.cpp.

405 {
406  // Display a note info about pin order, according to aModelType
407  wxString msg;
408 
409  msg = _( "Symbol pin numbering don't always match the required SPICE pin order\n"
410  "Check the symbol and use \"Alternate node sequence\" to reorder the pins"
411  ", if necessary" );
412 
413  msg += '\n';
414 
415  switch( aModelType )
416  {
417  case SP_DIODE:
418  msg += _( "For a Diode, pin order is anode, cathode" );
419  break;
420 
421  case SP_BJT:
422  msg += _( "For a BJT, pin order is collector, base, emitter, substrate (optional)" );
423  break;
424 
425  case SP_MOSFET:
426  msg += _( "For a MOSFET, pin order is drain, grid, source" );
427  break;
428 
429  case SP_JFET:
430  msg += _( "For a JFET, pin order is drain, grid, source" );
431  break;
432 
433  default:
434  break;
435  }
436 
437  m_stInfoNote->SetLabel( msg );
438 }
#define _(s)
Definition: 3d_actions.cpp:33

References _, DIALOG_SPICE_MODEL_BASE::m_stInfoNote, SP_BJT, SP_DIODE, SP_JFET, and SP_MOSFET.

Referenced by onTypeSelected(), and TransferDataToWindow().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 338 of file dialog_shim.cpp.

339 {
340  // This is an exception safe way to zero a pointer before returning.
341  // Yes, even though DismissModal() clears this first normally, this is
342  // here in case there's an exception before the dialog is dismissed.
343  struct NULLER
344  {
345  void*& m_what;
346  NULLER( void*& aPtr ) : m_what( aPtr ) {}
347  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
348  } clear_this( (void*&) m_qmodal_loop );
349 
350  // release the mouse if it's currently captured as the window having it
351  // will be disabled when this dialog is shown -- but will still keep the
352  // capture making it impossible to do anything in the modal dialog itself
353  wxWindow* win = wxWindow::GetCapture();
354  if( win )
355  win->ReleaseMouse();
356 
357  // Get the optimal parent
358  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
359 
360  wxASSERT_MSG( !m_qmodal_parent_disabler,
361  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
362 
363  // quasi-modal: disable only my "optimal" parent
365 
366  // Apple in its infinite wisdom will raise a disabled window before even passing
367  // us the event, so we have no way to stop it. Instead, we must set an order on
368  // the windows so that the quasi-modal will be pushed in front of the disabled
369  // window when it is raised.
371 
372  Show( true );
373 
374  m_qmodal_showing = true;
375 
376  WX_EVENT_LOOP event_loop;
377 
378  m_qmodal_loop = &event_loop;
379 
380  event_loop.Run();
381 
382  m_qmodal_showing = false;
383 
384  return GetReturnCode();
385 }
bool m_qmodal_showing
Definition: dialog_shim.h:208
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:206
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:209
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:40
void ReparentQuasiModal(wxNonOwnedWindow *aWindow)
Move a window's parent to be the top-level window and force the window to be on top.
Definition: gtk/ui.cpp:40

References DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, KIPLATFORM::UI::ReparentQuasiModal(), DIALOG_SHIM::Show(), and WX_EVENT_LOOP.

Referenced by LIB_EDIT_TOOL::editFieldProperties(), SCH_EDITOR_CONTROL::EditSymbolFields(), LIB_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), PCB_BASE_FRAME::InstallPadOptionsFrame(), InvokeDialogEditComponentsLibId(), InvokeDialogRescueEach(), InvokeDialogUpdateFields(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), and SCH_EDIT_FRAME::ShowSchematicSetupDialog().

◆ TransferDataFromWindow()

bool DIALOG_SPICE_MODEL::TransferDataFromWindow ( )
overrideprivatevirtual

Definition at line 194 of file dialog_spice_model.cpp.

195 {
196  if( !DIALOG_SPICE_MODEL_BASE::TransferDataFromWindow() )
197  return false;
198 
199  wxWindow* page = m_notebook->GetCurrentPage();
200 
201  // Passive
202  if( page == m_passive )
203  {
204  if( !m_passive->Validate() && !m_disabled->GetValue() )
205  return false;
206 
207  switch( m_pasType->GetSelection() )
208  {
209  case 0: m_fieldsTmp[SF_PRIMITIVE] = (char) SP_RESISTOR; break;
210  case 1: m_fieldsTmp[SF_PRIMITIVE] = (char) SP_CAPACITOR; break;
211  case 2: m_fieldsTmp[SF_PRIMITIVE] = (char) SP_INDUCTOR; break;
212 
213  default:
214  wxASSERT_MSG( false, "Unhandled passive type" );
215  return false;
216  break;
217  }
218 
219  m_fieldsTmp[SF_MODEL] = m_pasValue->GetValue();
220  }
221 
222 
223  // Model
224  else if( page == m_model )
225  {
226  if( !m_model->Validate() )
227  return false;
228 
229  int modelIdx = m_modelType->GetSelection();
230 
231  if( modelIdx > 0 && modelIdx < (int)modelTypes.size() )
232  m_fieldsTmp[SF_PRIMITIVE] = static_cast<char>( modelTypes[modelIdx].type );
233 
234  m_fieldsTmp[SF_MODEL] = m_modelName->GetValue();
235 
236  if( !empty( m_modelLibrary ) )
237  m_fieldsTmp[SF_LIB_FILE] = m_modelLibrary->GetValue();
238  }
239 
240  // Power source
241  else if( page == m_power )
242  {
243  wxString model;
244 
245  if( !generatePowerSource( model ) )
246  return false;
247 
248  m_fieldsTmp[SF_PRIMITIVE] = (char)( m_pwrType->GetSelection() ? SP_ISOURCE : SP_VSOURCE );
249  m_fieldsTmp[SF_MODEL] = model;
250  }
251 
252 
253  else
254  {
255  wxASSERT_MSG( false, "Unhandled model type" );
256  return false;
257  }
258 
259  m_fieldsTmp[SF_ENABLED] = !m_disabled->GetValue() ? "Y" : "N"; // note bool inversion
260  m_fieldsTmp[SF_NODE_SEQUENCE] = m_nodeSeqCheck->IsChecked() ? m_nodeSeqVal->GetValue() : "";
261 
262  // Apply the settings
263  for( int i = 0; i < SF_END; ++i )
264  {
265  if( m_fieldsTmp.count( (SPICE_FIELD) i ) > 0 && !m_fieldsTmp.at( i ).IsEmpty() )
266  {
267  if( m_useSchFields )
268  getSchField( i ).SetText( m_fieldsTmp[i] );
269  else
270  getLibField( i ).SetText( m_fieldsTmp[i] );
271  }
272  else
273  {
274  // Erase empty fields (having empty fields causes a warning in the properties dialog)
275  const wxString& spiceField = NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) i );
276 
277  if( m_useSchFields )
278  {
279  m_schfields->erase( std::remove_if( m_schfields->begin(), m_schfields->end(),
280  [&]( const SCH_FIELD& f )
281  {
282  return f.GetName() == spiceField;
283  } ),
284  m_schfields->end() );
285  }
286  else
287  {
288  m_libfields->erase( std::remove_if( m_libfields->begin(), m_libfields->end(),
289  [&]( const LIB_FIELD& f )
290  {
291  return f.GetName() == spiceField;
292  } ),
293  m_libfields->end() );
294  }
295  }
296  }
297 
298  return true;
299 }
SCH_FIELD instances are attached to a component and provide a place for the component's value,...
Definition: sch_field.h:52
bool generatePowerSource(wxString &aTarget) const
Generates a string to describe power source parameters, basing on the current selection.
Field object used in symbol libraries.
Definition: lib_field.h:59
static const wxString & GetSpiceFieldName(SPICE_FIELD aField)
Returns a string used for a particular component field related to Spice simulation.
LIB_FIELD & getLibField(int aFieldType)
static bool empty(const wxTextCtrl *aCtrl)
virtual void SetText(const wxString &aText)
Definition: eda_text.cpp:121
SCH_FIELDS * m_schfields
Fields from the component properties dialog
SCH_FIELD & getSchField(int aFieldType)
Returns or creates a field in the edited schematic fields vector.
std::map< int, wxString > m_fieldsTmp
Temporary field values
static const std::vector< SPICE_MODEL_INFO > modelTypes

References empty(), generatePowerSource(), getLibField(), getSchField(), NETLIST_EXPORTER_PSPICE::GetSpiceFieldName(), DIALOG_SPICE_MODEL_BASE::m_disabled, m_fieldsTmp, m_libfields, DIALOG_SPICE_MODEL_BASE::m_model, DIALOG_SPICE_MODEL_BASE::m_modelLibrary, DIALOG_SPICE_MODEL_BASE::m_modelName, DIALOG_SPICE_MODEL_BASE::m_modelType, DIALOG_SPICE_MODEL_BASE::m_nodeSeqCheck, DIALOG_SPICE_MODEL_BASE::m_nodeSeqVal, DIALOG_SPICE_MODEL_BASE::m_notebook, DIALOG_SPICE_MODEL_BASE::m_passive, DIALOG_SPICE_MODEL_BASE::m_pasType, DIALOG_SPICE_MODEL_BASE::m_pasValue, DIALOG_SPICE_MODEL_BASE::m_power, DIALOG_SPICE_MODEL_BASE::m_pwrType, m_schfields, m_useSchFields, modelTypes, EDA_TEXT::SetText(), SF_ENABLED, SF_END, SF_LIB_FILE, SF_MODEL, SF_NODE_SEQUENCE, SF_PRIMITIVE, SP_CAPACITOR, SP_INDUCTOR, SP_ISOURCE, SP_RESISTOR, and SP_VSOURCE.

◆ TransferDataToWindow()

bool DIALOG_SPICE_MODEL::TransferDataToWindow ( )
overrideprivatevirtual

Definition at line 302 of file dialog_spice_model.cpp.

303 {
304  const auto& spiceFields = NETLIST_EXPORTER_PSPICE::GetSpiceFields();
305 
306  // Fill out the working buffer
307  for( unsigned int idx = 0; idx < spiceFields.size(); ++idx )
308  {
309  const wxString& spiceField = spiceFields[idx];
310 
313 
314  // Do not modify the existing value, just add missing fields with default values
315  if( m_useSchFields && m_schfields )
316  {
317  for( const auto& field : *m_schfields )
318  {
319  if( field.GetName() == spiceField && !field.GetText().IsEmpty() )
320  {
321  m_fieldsTmp[idx] = field.GetText();
322  break;
323  }
324  }
325  }
326  else if( m_libfields)
327  {
328  // TODO: There must be a good way to template out these repetitive calls
329  for( const LIB_FIELD& field : *m_libfields )
330  {
331  if( field.GetName() == spiceField && !field.GetText().IsEmpty() )
332  {
333  m_fieldsTmp[idx] = field.GetText();
334  break;
335  }
336  }
337  }
338  }
339 
340  // Analyze the component fields to fill out the dialog
341  unsigned int primitive = toupper( m_fieldsTmp[SF_PRIMITIVE][0] );
342 
343  switch( primitive )
344  {
345  case SP_RESISTOR:
346  case SP_CAPACITOR:
347  case SP_INDUCTOR:
348  m_notebook->SetSelection( m_notebook->FindPage( m_passive ) );
349  m_pasType->SetSelection( primitive == SP_RESISTOR ? 0
350  : primitive == SP_CAPACITOR ? 1
351  : primitive == SP_INDUCTOR ? 2
352  : -1 );
353  m_pasValue->SetValue( m_fieldsTmp[SF_MODEL] );
354  break;
355 
356  case SP_DIODE:
357  case SP_BJT:
358  case SP_MOSFET:
359  case SP_JFET:
360  case SP_SUBCKT:
361  m_notebook->SetSelection( m_notebook->FindPage( m_model ) );
362  m_modelType->SetSelection( getModelTypeIdx( primitive ) );
363  m_modelName->SetValue( m_fieldsTmp[SF_MODEL] );
364  m_modelLibrary->SetValue( m_fieldsTmp[SF_LIB_FILE] );
365 
366  if( !empty( m_modelLibrary ) )
367  {
368  const wxString& libFile = m_modelLibrary->GetValue();
369  m_fieldsTmp[SF_LIB_FILE] = libFile;
370  loadLibrary( libFile );
371  }
372  break;
373 
374  case SP_VSOURCE:
375  case SP_ISOURCE:
377  return false;
378 
379  m_notebook->SetSelection( m_notebook->FindPage( m_power ) );
380  m_pwrType->SetSelection( primitive == SP_ISOURCE ? 1 : 0 );
381  break;
382 
383  default:
384  //wxASSERT_MSG( false, "Unhandled Spice primitive type" );
385  break;
386  }
387 
389 
390  // Check if node sequence is different than the default one
393  {
394  m_nodeSeqCheck->SetValue( true );
396  }
397 
398  showPinOrderNote( primitive );
399 
400  return DIALOG_SPICE_MODEL_BASE::TransferDataToWindow();
401 }
SCH_COMPONENT & m_component
Edited component
Field object used in symbol libraries.
Definition: lib_field.h:59
static bool StringToBool(const wxString &aStr)
Convertes typical boolean string values (no/yes, true/false, 1/0) to a boolean value.
bool parsePowerSource(const wxString &aModel)
Parse a string describing a power source, so appropriate settings are checked in the dialog.
static int getModelTypeIdx(char aPrimitive)
static wxString GetSpiceFieldDefVal(SPICE_FIELD aField, SCH_COMPONENT *aComponent, unsigned aCtl)
Retrieves the default value for a given field.
static bool empty(const wxTextCtrl *aCtrl)
void showPinOrderNote(int aModelType)
Display a note info about pin order.
SCH_FIELDS * m_schfields
Fields from the component properties dialog
std::map< int, wxString > m_fieldsTmp
Temporary field values
void loadLibrary(const wxString &aFilePath)
Loads a list of components (.model and .subckt) from a spice library file and adds them to a combo bo...
static const std::vector< wxString > & GetSpiceFields()
Returns a vector of component field names related to Spice simulation.

References empty(), getModelTypeIdx(), NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal(), NETLIST_EXPORTER_PSPICE::GetSpiceFields(), loadLibrary(), m_component, DIALOG_SPICE_MODEL_BASE::m_disabled, m_fieldsTmp, m_libfields, DIALOG_SPICE_MODEL_BASE::m_model, DIALOG_SPICE_MODEL_BASE::m_modelLibrary, DIALOG_SPICE_MODEL_BASE::m_modelName, DIALOG_SPICE_MODEL_BASE::m_modelType, DIALOG_SPICE_MODEL_BASE::m_nodeSeqCheck, DIALOG_SPICE_MODEL_BASE::m_nodeSeqVal, DIALOG_SPICE_MODEL_BASE::m_notebook, DIALOG_SPICE_MODEL_BASE::m_passive, DIALOG_SPICE_MODEL_BASE::m_pasType, DIALOG_SPICE_MODEL_BASE::m_pasValue, DIALOG_SPICE_MODEL_BASE::m_power, DIALOG_SPICE_MODEL_BASE::m_pwrType, m_schfields, m_useSchFields, NET_ADJUST_INCLUDE_PATHS, NET_ADJUST_PASSIVE_VALS, parsePowerSource(), SF_ENABLED, SF_LIB_FILE, SF_MODEL, SF_NODE_SEQUENCE, SF_PRIMITIVE, showPinOrderNote(), SP_BJT, SP_CAPACITOR, SP_DIODE, SP_INDUCTOR, SP_ISOURCE, SP_JFET, SP_MOSFET, SP_RESISTOR, SP_SUBCKT, SP_VSOURCE, and NETLIST_EXPORTER_PSPICE::StringToBool().

Referenced by onInitDlg().

◆ Validate()

virtual bool DIALOG_SPICE_MODEL::Validate ( )
inlineoverrideprivatevirtual

Definition at line 91 of file dialog_spice_model.h.

92  {
93  return true;
94  }

◆ VertPixelsFromDU()

int DIALOG_SHIM::VertPixelsFromDU ( int  y)
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 172 of file dialog_shim.cpp.

173 {
174  wxSize sz( 0, y );
175  return ConvertDialogToPixels( sz ).y;
176 }

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT().

Member Data Documentation

◆ m_amAmplitude

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_amAmplitude
protectedinherited

◆ m_amCarrierFreq

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_amCarrierFreq
protectedinherited

◆ m_amModulatingFreq

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_amModulatingFreq
protectedinherited

◆ m_amOffset

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_amOffset
protectedinherited

◆ m_amPhase

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_amPhase
protectedinherited

◆ m_amSignalDelay

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_amSignalDelay
protectedinherited

◆ m_component

SCH_COMPONENT& DIALOG_SPICE_MODEL::m_component
private

Edited component

Definition at line 124 of file dialog_spice_model.h.

Referenced by getSchField(), and TransferDataToWindow().

◆ m_disabled

wxCheckBox* DIALOG_SPICE_MODEL_BASE::m_disabled
protectedinherited

◆ m_expFallConst

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_expFallConst
protectedinherited

◆ m_expFallDelay

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_expFallDelay
protectedinherited

◆ m_expInit

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_expInit
protectedinherited

◆ m_expPulsed

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_expPulsed
protectedinherited

◆ m_expRiseConst

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_expRiseConst
protectedinherited

◆ m_expRiseDelay

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_expRiseDelay
protectedinherited

◆ m_fieldsTmp

std::map<int, wxString> DIALOG_SPICE_MODEL::m_fieldsTmp
private

Temporary field values

Definition at line 132 of file dialog_spice_model.h.

Referenced by TransferDataFromWindow(), and TransferDataToWindow().

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 203 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_fmAmplitude

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmAmplitude
protectedinherited

◆ m_fmFcarrier

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmFcarrier
protectedinherited

◆ m_fmFsignal

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmFsignal
protectedinherited

◆ m_fmModIndex

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmModIndex
protectedinherited

◆ m_fmOffset

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmOffset
protectedinherited

◆ m_fmPhaseC

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmPhaseC
protectedinherited

◆ m_fmPhaseS

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_fmPhaseS
protectedinherited

◆ m_genAcMag

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_genAcMag
protectedinherited

◆ m_genAcPhase

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_genAcPhase
protectedinherited

◆ m_genDc

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_genDc
protectedinherited

◆ m_hash_key

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 204 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint(), and DIALOG_SHIM::SetInitialFocus().

◆ m_libfields

LIB_FIELDS* DIALOG_SPICE_MODEL::m_libfields
private

Definition at line 128 of file dialog_spice_model.h.

Referenced by getLibField(), TransferDataFromWindow(), and TransferDataToWindow().

◆ m_libraryContents

wxStyledTextCtrl* DIALOG_SPICE_MODEL_BASE::m_libraryContents
protectedinherited

◆ m_model

wxPanel* DIALOG_SPICE_MODEL_BASE::m_model
protectedinherited

◆ m_modelLibrary

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_modelLibrary
protectedinherited

◆ m_modelName

◆ m_models

std::map<wxString, MODEL> DIALOG_SPICE_MODEL::m_models
private

Models available in the selected library file

Definition at line 152 of file dialog_spice_model.h.

Referenced by loadLibrary(), and onModelSelected().

◆ m_modelType

◆ m_nodeSeqCheck

wxCheckBox* DIALOG_SPICE_MODEL_BASE::m_nodeSeqCheck
protectedinherited

◆ m_nodeSeqVal

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_nodeSeqVal
protectedinherited

◆ m_notebook

wxNotebook* DIALOG_SPICE_MODEL_BASE::m_notebook
protectedinherited

◆ m_notEmptyValidator

wxTextValidator DIALOG_SPICE_MODEL::m_notEmptyValidator
private

Definition at line 159 of file dialog_spice_model.h.

Referenced by Init().

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

Definition at line 211 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnCharHook(), and DIALOG_DRC::OnRunDRCClick().

◆ m_passive

wxPanel* DIALOG_SPICE_MODEL_BASE::m_passive
protectedinherited

◆ m_pasType

wxComboBox* DIALOG_SPICE_MODEL_BASE::m_pasType
protectedinherited

◆ m_pasValue

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pasValue
protectedinherited

◆ m_power

wxPanel* DIALOG_SPICE_MODEL_BASE::m_power
protectedinherited

◆ m_powerNotebook

wxNotebook* DIALOG_SPICE_MODEL_BASE::m_powerNotebook
protectedinherited

◆ m_pulseDelay

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulseDelay
protectedinherited

◆ m_pulseFall

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulseFall
protectedinherited

◆ m_pulseInit

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulseInit
protectedinherited

◆ m_pulseNominal

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulseNominal
protectedinherited

◆ m_pulsePeriod

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulsePeriod
protectedinherited

◆ m_pulseRise

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulseRise
protectedinherited

◆ m_pulseWidth

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pulseWidth
protectedinherited

◆ m_pwlAddButton

wxButton* DIALOG_SPICE_MODEL_BASE::m_pwlAddButton
protectedinherited

◆ m_pwlRemoveBtn

wxButton* DIALOG_SPICE_MODEL_BASE::m_pwlRemoveBtn
protectedinherited

◆ m_pwlTime

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pwlTime
protectedinherited

◆ m_pwlTimeCol

long DIALOG_SPICE_MODEL::m_pwlTimeCol
private

Column identifiers for PWL power source value list

Definition at line 155 of file dialog_spice_model.h.

Referenced by addPwlValue(), generatePowerSource(), and Init().

◆ m_pwlValList

wxListCtrl* DIALOG_SPICE_MODEL_BASE::m_pwlValList
protectedinherited

◆ m_pwlValue

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_pwlValue
protectedinherited

◆ m_pwlValueCol

long DIALOG_SPICE_MODEL::m_pwlValueCol
private

Definition at line 155 of file dialog_spice_model.h.

Referenced by addPwlValue(), generatePowerSource(), and Init().

◆ m_pwrAm

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrAm
protectedinherited

◆ m_pwrExp

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrExp
protectedinherited

◆ m_pwrExtData

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrExtData
protectedinherited

◆ m_pwrFm

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrFm
protectedinherited

◆ m_pwrPulse

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrPulse
protectedinherited

◆ m_pwrPwl

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrPwl
protectedinherited

◆ m_pwrRandom

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrRandom
protectedinherited

◆ m_pwrSin

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrSin
protectedinherited

◆ m_pwrTransNoise

wxPanel* DIALOG_SPICE_MODEL_BASE::m_pwrTransNoise
protectedinherited

◆ m_pwrType

wxRadioBox* DIALOG_SPICE_MODEL_BASE::m_pwrType
protectedinherited

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 206 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 208 of file dialog_shim.h.

Referenced by DIALOG_SHIM::IsQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_rnParam1

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_rnParam1
protectedinherited

◆ m_rnParam1Text

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_rnParam1Text
protectedinherited

◆ m_rnParam2

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_rnParam2
protectedinherited

◆ m_rnParam2Text

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_rnParam2Text
protectedinherited

◆ m_rnTD

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_rnTD
protectedinherited

◆ m_rnTS

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_rnTS
protectedinherited

◆ m_rnType

◆ m_schfields

SCH_FIELDS* DIALOG_SPICE_MODEL::m_schfields
private

Fields from the component properties dialog

Definition at line 127 of file dialog_spice_model.h.

Referenced by getSchField(), TransferDataFromWindow(), and TransferDataToWindow().

◆ m_sdbSizer

wxStdDialogButtonSizer* DIALOG_SPICE_MODEL_BASE::m_sdbSizer
protectedinherited

◆ m_sdbSizerCancel

wxButton* DIALOG_SPICE_MODEL_BASE::m_sdbSizerCancel
protectedinherited

◆ m_sdbSizerOK

wxButton* DIALOG_SPICE_MODEL_BASE::m_sdbSizerOK
protectedinherited

◆ m_selectLibrary

wxButton* DIALOG_SPICE_MODEL_BASE::m_selectLibrary
protectedinherited

◆ m_sinAmplitude

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_sinAmplitude
protectedinherited

◆ m_sinDampFactor

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_sinDampFactor
protectedinherited

◆ m_sinDelay

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_sinDelay
protectedinherited

◆ m_sinFreq

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_sinFreq
protectedinherited

◆ m_sinOffset

wxTextCtrl* DIALOG_SPICE_MODEL_BASE::m_sinOffset
protectedinherited

◆ m_spiceEmptyValidator

SPICE_VALIDATOR DIALOG_SPICE_MODEL::m_spiceEmptyValidator
private

Definition at line 158 of file dialog_spice_model.h.

Referenced by Init().

◆ m_spiceValidator

SPICE_VALIDATOR DIALOG_SPICE_MODEL::m_spiceValidator
private

Definition at line 157 of file dialog_spice_model.h.

Referenced by Init().

◆ m_staticline1

wxStaticLine* DIALOG_SPICE_MODEL_BASE::m_staticline1
protectedinherited

◆ m_staticline2

wxStaticLine* DIALOG_SPICE_MODEL_BASE::m_staticline2
protectedinherited

◆ m_staticline3

wxStaticLine* DIALOG_SPICE_MODEL_BASE::m_staticline3
protectedinherited

◆ m_staticText10

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText10
protectedinherited

◆ m_staticText11

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText11
protectedinherited

◆ m_staticText111

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText111
protectedinherited

◆ m_staticText112

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText112
protectedinherited

◆ m_staticText113

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText113
protectedinherited

◆ m_staticText12

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText12
protectedinherited

◆ m_staticText13

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13
protectedinherited

◆ m_staticText131

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText131
protectedinherited

◆ m_staticText1311

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1311
protectedinherited

◆ m_staticText13111

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13111
protectedinherited

◆ m_staticText132

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText132
protectedinherited

◆ m_staticText1321

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1321
protectedinherited

◆ m_staticText13211

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13211
protectedinherited

◆ m_staticText133

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText133
protectedinherited

◆ m_staticText1331

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1331
protectedinherited

◆ m_staticText13311

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13311
protectedinherited

◆ m_staticText134

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText134
protectedinherited

◆ m_staticText1341

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1341
protectedinherited

◆ m_staticText13411

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13411
protectedinherited

◆ m_staticText135

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText135
protectedinherited

◆ m_staticText1351

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1351
protectedinherited

◆ m_staticText13511

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13511
protectedinherited

◆ m_staticText136

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText136
protectedinherited

◆ m_staticText1361

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1361
protectedinherited

◆ m_staticText13611

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText13611
protectedinherited

◆ m_staticText137

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText137
protectedinherited

◆ m_staticText1371

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1371
protectedinherited

◆ m_staticText138

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText138
protectedinherited

◆ m_staticText1381

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1381
protectedinherited

◆ m_staticText14

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText14
protectedinherited

◆ m_staticText141

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText141
protectedinherited

◆ m_staticText1411

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1411
protectedinherited

◆ m_staticText15

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText15
protectedinherited

◆ m_staticText151

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText151
protectedinherited

◆ m_staticText1511

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1511
protectedinherited

◆ m_staticText16

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText16
protectedinherited

◆ m_staticText161

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText161
protectedinherited

◆ m_staticText1611

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1611
protectedinherited

◆ m_staticText17

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText17
protectedinherited

◆ m_staticText171

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText171
protectedinherited

◆ m_staticText1711

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1711
protectedinherited

◆ m_staticText18

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText18
protectedinherited

◆ m_staticText181

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText181
protectedinherited

◆ m_staticText1811

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText1811
protectedinherited

◆ m_staticText20

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText20
protectedinherited

◆ m_staticText201

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText201
protectedinherited

◆ m_staticText21

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText21
protectedinherited

◆ m_staticText211

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText211
protectedinherited

◆ m_staticText212

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText212
protectedinherited

◆ m_staticText213

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText213
protectedinherited

◆ m_staticText214

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText214
protectedinherited

◆ m_staticText215

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText215
protectedinherited

◆ m_staticText22

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText22
protectedinherited

◆ m_staticText23

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText23
protectedinherited

◆ m_staticText24

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText24
protectedinherited

◆ m_staticText25

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText25
protectedinherited

◆ m_staticText26

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText26
protectedinherited

◆ m_staticText261

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText261
protectedinherited

◆ m_staticText262

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText262
protectedinherited

◆ m_staticText262111

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText262111
protectedinherited

◆ m_staticText263

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText263
protectedinherited

◆ m_staticText263111

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText263111
protectedinherited

◆ m_staticText264

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText264
protectedinherited

◆ m_staticText265

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText265
protectedinherited

◆ m_staticText266

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText266
protectedinherited

◆ m_staticText26711

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText26711
protectedinherited

◆ m_staticText27

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText27
protectedinherited

◆ m_staticText27111

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText27111
protectedinherited

◆ m_staticText28

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText28
protectedinherited

◆ m_staticText28111

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText28111
protectedinherited

◆ m_staticText29

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText29
protectedinherited

◆ m_staticText30

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText30
protectedinherited

◆ m_staticText31

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText31
protectedinherited

◆ m_staticText32

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText32
protectedinherited

◆ m_staticText321

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText321
protectedinherited

◆ m_staticText34

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText34
protectedinherited

◆ m_staticText341

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText341
protectedinherited

◆ m_staticText342

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText342
protectedinherited

◆ m_staticText343

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText343
protectedinherited

◆ m_staticText35

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText35
protectedinherited

◆ m_staticText36

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText36
protectedinherited

◆ m_staticText37

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText37
protectedinherited

◆ m_staticText38

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText38
protectedinherited

◆ m_staticText39

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText39
protectedinherited

◆ m_staticText4

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText4
protectedinherited

◆ m_staticText40

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText40
protectedinherited

◆ m_staticText41

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText41
protectedinherited

◆ m_staticText42

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText42
protectedinherited

◆ m_staticText43

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText43
protectedinherited

◆ m_staticText44

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText44
protectedinherited

◆ m_staticText45

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText45
protectedinherited

◆ m_staticText46

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText46
protectedinherited

◆ m_staticText47

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText47
protectedinherited

◆ m_staticText48

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText48
protectedinherited

◆ m_staticText49

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText49
protectedinherited

◆ m_staticText5

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText5
protectedinherited

◆ m_staticText50

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText50
protectedinherited

◆ m_staticText51

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText51
protectedinherited

◆ m_staticText52

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText52
protectedinherited

◆ m_staticText53

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText53
protectedinherited

◆ m_staticText54

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText54
protectedinherited

◆ m_staticText55

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText55
protectedinherited

◆ m_staticText56

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText56
protectedinherited

◆ m_staticText57

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText57
protectedinherited

◆ m_staticText58

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText58
protectedinherited

◆ m_staticText59

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText59
protectedinherited

◆ m_staticText60

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText60
protectedinherited

◆ m_staticText62

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText62
protectedinherited

◆ m_staticText7

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText7
protectedinherited

◆ m_staticText_femto

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticText_femto
protectedinherited

◆ m_staticTextNote

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticTextNote
protectedinherited

◆ m_staticTextPtype

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticTextPtype
protectedinherited

◆ m_staticTextPvalue

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticTextPvalue
protectedinherited

◆ m_staticTextSpVal

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_staticTextSpVal
protectedinherited

◆ m_stInfoNote

wxStaticText* DIALOG_SPICE_MODEL_BASE::m_stInfoNote
protectedinherited

◆ m_tabOrder

◆ m_units

◆ m_useSchFields

bool DIALOG_SPICE_MODEL::m_useSchFields
private

Definition at line 129 of file dialog_spice_model.h.

Referenced by TransferDataFromWindow(), and TransferDataToWindow().


The documentation for this class was generated from the following files: