KiCad PCB EDA Suite
DIALOG_SIM_SETTINGS Class Reference

#include <dialog_sim_settings.h>

Inheritance diagram for DIALOG_SIM_SETTINGS:
DIALOG_SIM_SETTINGS_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 DIALOG_SIM_SETTINGS (wxWindow *aParent, std::shared_ptr< SPICE_SIMULATOR_SETTINGS > &aSettings)
 
const wxString & GetSimCommand () const
 
bool SetSimCommand (const wxString &aCommand)
 
int GetNetlistOptions () const
 
void SetNetlistExporter (NETLIST_EXPORTER_PSPICE_SIM *aExporter)
 
bool TransferDataFromWindow () override
 
bool TransferDataToWindow () override
 
virtual bool Validate () override
 
int ShowModal () override
 
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 () const
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
void SetPosition (const wxPoint &aNewPosition)
 Force the position of the dialog to a new position. More...
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Return a reference to the PROJECT associated with this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 It is only used for debugging, since "this" is not a wxWindow*. More...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 

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) const
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int vertPixelsFromDU (int y) const
 Convert an integer number of dialog units to pixels, vertically. More...
 
void resetSize ()
 Clear the existing dialog size and position. More...
 
virtual void OnCharHook (wxKeyEvent &aEvt)
 

Protected Attributes

wxNotebook * m_simPages
 
wxPanel * m_pgAC
 
wxRadioBox * m_acScale
 
wxStaticText * m_staticText1
 
wxTextCtrl * m_acPointsNumber
 
wxStaticText * m_staticText2
 
wxTextCtrl * m_acFreqStart
 
wxStaticText * m_staticText19
 
wxStaticText * m_staticText3
 
wxTextCtrl * m_acFreqStop
 
wxStaticText * m_staticText110
 
wxPanel * m_pgDC
 
wxCheckBox * m_dcEnable2
 
wxChoice * m_dcSourceType1
 
wxChoice * m_dcSourceType2
 
wxStaticText * m_staticText4
 
wxStaticText * m_staticText41
 
wxStaticText * m_staticText411
 
wxChoice * m_dcSource1
 
wxChoice * m_dcSource2
 
wxStaticText * m_staticText5
 
wxTextCtrl * m_dcStart1
 
wxStaticText * m_src1DCStartValUnit
 
wxTextCtrl * m_dcStart2
 
wxStaticText * m_src2DCStartValUnit
 
wxStaticText * m_staticText6
 
wxTextCtrl * m_dcStop1
 
wxStaticText * m_src1DCEndValUnit
 
wxTextCtrl * m_dcStop2
 
wxStaticText * m_src2DCEndValUnit
 
wxStaticText * m_staticText7
 
wxTextCtrl * m_dcIncr1
 
wxStaticText * m_src1DCStepUnit
 
wxTextCtrl * m_dcIncr2
 
wxStaticText * m_src2DCStepUnit
 
wxButton * m_swapDCSources
 
wxPanel * m_pgDistortion
 
wxPanel * m_pgNoise
 
wxStaticText * m_staticText14
 
wxComboBox * m_noiseMeas
 
wxStaticText * m_staticText15
 
wxComboBox * m_noiseRef
 
wxStaticText * m_staticText23
 
wxStaticText * m_staticText16
 
wxComboBox * m_noiseSrc
 
wxRadioBox * m_noiseScale
 
wxStaticText * m_staticText11
 
wxTextCtrl * m_noisePointsNumber
 
wxStaticText * m_staticText21
 
wxTextCtrl * m_noiseFreqStart
 
wxStaticText * m_staticText31
 
wxTextCtrl * m_noiseFreqStop
 
wxPanel * m_pgOP
 
wxStaticText * m_staticText13
 
wxPanel * m_pgPoleZero
 
wxPanel * m_pgSensitivity
 
wxPanel * m_pgTransferFunction
 
wxPanel * m_pgTransient
 
wxStaticText * m_staticText151
 
wxTextCtrl * m_transStep
 
wxStaticText * m_staticText1511
 
wxStaticText * m_staticText161
 
wxTextCtrl * m_transFinal
 
wxStaticText * m_staticText1512
 
wxStaticText * m_staticText17
 
wxTextCtrl * m_transInitial
 
wxStaticText * m_staticText1513
 
wxStaticText * m_staticText24
 
wxPanel * m_pgCustom
 
wxStaticText * m_staticText18
 
wxTextCtrl * m_customTxt
 
wxButton * m_loadDirectives
 
wxCheckBox * m_fixPassiveVals
 
wxCheckBox * m_fixIncludePaths
 
wxBoxSizer * m_compatibilityMode
 
wxChoice * m_compatibilityModeChoice
 
wxStaticLine * m_staticline1
 
wxStdDialogButtonSizer * m_sdbSizer
 
wxButton * m_sdbSizerOK
 
wxButton * m_sdbSizerCancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_useCalculatedSize
 
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
 
wxSize m_initialSize
 

Private Types

enum  SCALE_TYPE { DECADE, OCTAVE, LINEAR }
 

Private Member Functions

void refreshUIControls ()
 
wxString evaluateDCControls (wxChoice *aDcSource, wxTextCtrl *aDcStart, wxTextCtrl *aDcStop, wxTextCtrl *aDcIncr)
 Read values from one DC sweep source to form a part of simulation command. More...
 
void updateDCSources (wxChar aType, wxChoice *aSource)
 Update DC sweep source with symbols from schematic. More...
 
void updateDCUnits (wxChar aType, wxChoice *aSource, wxStaticText *aStartValUnit, wxStaticText *aEndValUnit, wxStaticText *aStepUnit)
 Update units on labels depending on selected source. More...
 
virtual void onInitDlg (wxInitDialogEvent &event) override
 
bool parseCommand (const wxString &aCommand)
 Parse a Spice directive. More...
 
void onLoadDirectives (wxCommandEvent &event) override
 
void onDCEnableSecondSource (wxCommandEvent &event) override
 
void onSwapDCSources (wxCommandEvent &event) override
 
void onDCSource1Selected (wxCommandEvent &event) override
 
void onDCSource2Selected (wxCommandEvent &event) override
 
void loadDirectives ()
 
void updateNetlistOpts ()
 

Static Private Member Functions

static wxString scaleToString (int aOption)
 

Private Attributes

wxString m_simCommand
 
int m_netlistOpts
 
NETLIST_EXPORTER_PSPICE_SIMm_exporter
 
std::shared_ptr< SPICE_SIMULATOR_SETTINGSm_settings
 
SPICE_VALIDATOR m_spiceValidator
 
SPICE_VALIDATOR m_spiceEmptyValidator
 
wxIntegerValidator< int > m_posIntValidator
 

Detailed Description

Definition at line 39 of file dialog_sim_settings.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 39 of file kiway_holder.h.

◆ SCALE_TYPE

Enumerator
DECADE 
OCTAVE 
LINEAR 

Definition at line 84 of file dialog_sim_settings.h.

Constructor & Destructor Documentation

◆ DIALOG_SIM_SETTINGS()

DIALOG_SIM_SETTINGS::DIALOG_SIM_SETTINGS ( wxWindow *  aParent,
std::shared_ptr< SPICE_SIMULATOR_SETTINGS > &  aSettings 
)

Definition at line 59 of file dialog_sim_settings.cpp.

60  :
61  DIALOG_SIM_SETTINGS_BASE( aParent ),
62  m_exporter( nullptr ),
63  m_settings( aSettings ),
64  m_spiceEmptyValidator( true )
65 {
66  m_posIntValidator.SetMin( 1 );
67 
68  m_acPointsNumber->SetValidator( m_posIntValidator );
69  m_acFreqStart->SetValidator( m_spiceValidator );
70  m_acFreqStop->SetValidator( m_spiceValidator );
71 
72  m_dcStart1->SetValidator( m_spiceValidator );
73  m_dcStop1->SetValidator( m_spiceValidator );
74  m_dcIncr1->SetValidator( m_spiceValidator );
75 
76  m_dcStart2->SetValidator( m_spiceValidator );
77  m_dcStop2->SetValidator( m_spiceValidator );
78  m_dcIncr2->SetValidator( m_spiceValidator );
79 
80  m_noisePointsNumber->SetValidator( m_posIntValidator );
81  m_noiseFreqStart->SetValidator( m_spiceValidator );
82  m_noiseFreqStop->SetValidator( m_spiceValidator );
83 
84  m_transStep->SetValidator( m_spiceValidator );
85  m_transFinal->SetValidator( m_spiceValidator );
86  m_transInitial->SetValidator( m_spiceEmptyValidator );
87 
89 
90  // Hide pages that aren't fully implemented yet
91  // wxPanel::Hide() isn't enough on some platforms
92  m_simPages->RemovePage( m_simPages->FindPage( m_pgDistortion ) );
93  m_simPages->RemovePage( m_simPages->FindPage( m_pgNoise ) );
94  m_simPages->RemovePage( m_simPages->FindPage( m_pgPoleZero ) );
95  m_simPages->RemovePage( m_simPages->FindPage( m_pgSensitivity ) );
96  m_simPages->RemovePage( m_simPages->FindPage( m_pgTransferFunction ) );
97 
98  if( !dynamic_cast<NGSPICE_SIMULATOR_SETTINGS*>( aSettings.get() ) )
99  m_compatibilityMode->Show( false );
100 
101  m_sdbSizerOK->SetDefault();
103 }
std::shared_ptr< SPICE_SIMULATOR_SETTINGS > m_settings
SPICE_VALIDATOR m_spiceEmptyValidator
SPICE_VALIDATOR m_spiceValidator
DIALOG_SIM_SETTINGS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Simulation settings"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
NETLIST_EXPORTER_PSPICE_SIM * m_exporter
wxIntegerValidator< int > m_posIntValidator

References DIALOG_SIM_SETTINGS_BASE::m_acFreqStart, DIALOG_SIM_SETTINGS_BASE::m_acFreqStop, DIALOG_SIM_SETTINGS_BASE::m_acPointsNumber, DIALOG_SIM_SETTINGS_BASE::m_compatibilityMode, DIALOG_SIM_SETTINGS_BASE::m_dcIncr1, DIALOG_SIM_SETTINGS_BASE::m_dcIncr2, DIALOG_SIM_SETTINGS_BASE::m_dcStart1, DIALOG_SIM_SETTINGS_BASE::m_dcStart2, DIALOG_SIM_SETTINGS_BASE::m_dcStop1, DIALOG_SIM_SETTINGS_BASE::m_dcStop2, DIALOG_SIM_SETTINGS_BASE::m_noiseFreqStart, DIALOG_SIM_SETTINGS_BASE::m_noiseFreqStop, DIALOG_SIM_SETTINGS_BASE::m_noisePointsNumber, DIALOG_SIM_SETTINGS_BASE::m_pgDistortion, DIALOG_SIM_SETTINGS_BASE::m_pgNoise, DIALOG_SIM_SETTINGS_BASE::m_pgPoleZero, DIALOG_SIM_SETTINGS_BASE::m_pgSensitivity, DIALOG_SIM_SETTINGS_BASE::m_pgTransferFunction, m_posIntValidator, DIALOG_SIM_SETTINGS_BASE::m_sdbSizerOK, DIALOG_SIM_SETTINGS_BASE::m_simPages, m_spiceEmptyValidator, m_spiceValidator, DIALOG_SIM_SETTINGS_BASE::m_transFinal, DIALOG_SIM_SETTINGS_BASE::m_transInitial, DIALOG_SIM_SETTINGS_BASE::m_transStep, refreshUIControls(), and updateNetlistOpts().

Member Function Documentation

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 312 of file dialog_shim.cpp.

313 {
314  // so we can do logging of this state change:
315  return wxDialog::Enable( enable );
316 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 473 of file dialog_shim.cpp.

474 {
475  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
476  // handle validation in the same way as other dialogs.
477  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
478  return;
479 
480  SetReturnCode( retCode );
481 
482  if( !IsQuasiModal() )
483  {
484  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
485  "wasn't called" );
486  return;
487  }
488 
489  if( m_qmodal_loop )
490  {
491  if( m_qmodal_loop->IsRunning() )
492  m_qmodal_loop->Exit( 0 );
493  else
494  m_qmodal_loop->ScheduleExit( 0 );
495 
496  m_qmodal_loop = nullptr;
497  }
498 
500  m_qmodal_parent_disabler = nullptr;
501 
502  Show( false );
503 }
bool IsQuasiModal() const
Definition: dialog_shim.h:106
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:211
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:214

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

Referenced by NETLIST_DIALOG::OnAddGenerator(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_SYMBOLS_LIBID::onCancel(), DIALOG_LIB_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), NETLIST_DIALOG::OnDelGenerator(), DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol(), DIALOG_SYMBOL_PROPERTIES::OnEditSymbol(), DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol(), PCB_ONE_LAYER_SELECTOR::OnLeftGridCellClick(), PCB_ONE_LAYER_SELECTOR::OnRightGridCellClick(), DIALOG_SYMBOL_PROPERTIES::OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_PUSH_PAD_PROPERTIES::PadPropertiesAccept(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ evaluateDCControls()

wxString DIALOG_SIM_SETTINGS::evaluateDCControls ( wxChoice *  aDcSource,
wxTextCtrl *  aDcStart,
wxTextCtrl *  aDcStop,
wxTextCtrl *  aDcIncr 
)
private

Read values from one DC sweep source to form a part of simulation command.

Returns
string of four SPICE values if values are correct, empty string upon error.
Todo:
for some reason it does not trigger the assigned SPICE_VALIDATOR,

Definition at line 105 of file dialog_sim_settings.cpp.

107 {
108  wxString dcSource = aDcSource->GetString( aDcSource->GetSelection() );
109  wxWindow* ctrlWithError = nullptr;
110 
111  if( dcSource.IsEmpty() )
112  {
113  DisplayError( this, _( "You need to select DC source" ) );
114  ctrlWithError = aDcSource;
115  }
117  // hence try..catch below
118  else if( !aDcStart->Validate() )
119  ctrlWithError = aDcStart;
120  else if( !aDcStop->Validate() )
121  ctrlWithError = aDcStop;
122  else if( !aDcIncr->Validate() )
123  ctrlWithError = aDcIncr;
124 
125  if( ctrlWithError )
126  {
127  ctrlWithError->SetFocus();
128  return wxEmptyString;
129  }
130 
131  try
132  {
133  // pick device name from exporter when something different than temperature is selected
134  if( dcSource.Cmp( "TEMP" ) )
135  dcSource = m_exporter->GetSpiceDevice( dcSource );
136 
137  return wxString::Format( "%s %s %s %s", dcSource,
138  SPICE_VALUE( aDcStart->GetValue() ).ToSpiceString(),
139  SPICE_VALUE( aDcStop->GetValue() ).ToSpiceString(),
140  SPICE_VALUE( aDcIncr->GetValue() ).ToSpiceString() );
141  }
142  catch( std::exception& e )
143  {
144  DisplayError( this, e.what() );
145  return wxEmptyString;
146  }
147  catch( const KI_PARAM_ERROR& e )
148  {
149  DisplayError( this, e.What() );
150  return wxEmptyString;
151  }
152  catch( ... )
153  {
154  return wxEmptyString;
155  }
156 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:279
< Helper class to handle Spice way of expressing values (e.g. 10.5 Meg) Helper class to recognize Spi...
Definition: spice_value.h:34
wxString GetSpiceDevice(const wxString &aSymbol) const
Return name of Spice device corresponding to a schematic symbol.
#define _(s)
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:200
const wxString What() const
Definition: ki_exception.h:57
NETLIST_EXPORTER_PSPICE_SIM * m_exporter
Hold a translatable error message and may be used when throwing exceptions containing a translated er...
Definition: ki_exception.h:44

References _, DisplayError(), Format(), NETLIST_EXPORTER_PSPICE::GetSpiceDevice(), m_exporter, and KI_PARAM_ERROR::What().

Referenced by TransferDataFromWindow().

◆ 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 after all widgets have been initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at the end of TransferDataToWindow, or better yet, at end of a wxInitDialogEvent handler.

Definition at line 151 of file dialog_shim.cpp.

152 {
153  // must be called from the constructor of derived classes,
154  // when all widgets are initialized, and therefore their size fixed
155 
156  // SetSizeHints fixes the minimal size of sizers in the dialog
157  // (SetSizeHints calls Fit(), so no need to call it)
158  GetSizer()->SetSizeHints( this );
159 }

Referenced by DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_BUS_MANAGER::DIALOG_BUS_MANAGER(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_SYMBOLS_LIBID::DIALOG_EDIT_SYMBOLS_LIBID(), 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_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_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_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), 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_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_3DMODEL::DIALOG_SELECT_3DMODEL(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_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(), DIALOG_UPDATE_SYMBOL_FIELDS::DIALOG_UPDATE_SYMBOL_FIELDS(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), PAGED_DIALOG::finishInitialization(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_BOARD_STATISTICS::TransferDataToWindow(), and DIALOG_COLOR_PICKER::TransferDataToWindow().

◆ GetNetlistOptions()

int DIALOG_SIM_SETTINGS::GetNetlistOptions ( ) const
inline

Definition at line 59 of file dialog_sim_settings.h.

60  {
61  return m_netlistOpts;
62  }

References m_netlistOpts.

Referenced by SIM_PLOT_FRAME::StartSimulation().

◆ GetSimCommand()

const wxString& DIALOG_SIM_SETTINGS::GetSimCommand ( ) const
inline

Definition at line 44 of file dialog_sim_settings.h.

45  {
46  return m_simCommand;
47  }

References m_simCommand.

Referenced by SIM_PLOT_FRAME::onSettings().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 46 of file kiway_holder.h.

46 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:76

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ horizPixelsFromDU()

int DIALOG_SHIM::horizPixelsFromDU ( int  x) const
protectedinherited

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

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 169 of file dialog_shim.cpp.

170 {
171  wxSize sz( x, 0 );
172  return ConvertDialogToPixels( sz ).x;
173 }

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

◆ IsCtrl()

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

Definition at line 124 of file dialog_shim.h.

125  {
126  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
127  !e.ShiftDown() && !e.MetaDown();
128  }

◆ IsQuasiModal()

◆ IsShiftCtrl()

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

Definition at line 130 of file dialog_shim.h.

131  {
132  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
133  e.ShiftDown() && !e.MetaDown();
134  }

◆ Kiway()

KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Return 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 53 of file kiway_holder.h.

54  {
55  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
56  return *m_kiway;
57  }
KIWAY * m_kiway
Definition: kiway_holder.h:75

References KIWAY_HOLDER::m_kiway.

Referenced by PROJECT_TREE_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SYMBOL_EDIT_FRAME::canCloseWindow(), SCH_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_SYMBOL::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), BACK_ANNOTATE::FetchNetlistFromPCB(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), SCRIPTING_TOOL::Init(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), 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(), SYMBOL_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_FIELD_PROPERTIES::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), SYMBOL_EDIT_FRAME::Save(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), 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(), SYMBOL_EDIT_FRAME::SetCurSymbol(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ loadDirectives()

void DIALOG_SIM_SETTINGS::loadDirectives ( )
private

Definition at line 607 of file dialog_sim_settings.cpp.

608 {
609  if( m_exporter )
610  m_customTxt->SetValue( m_exporter->GetSheetSimCommand() );
611 }
wxString GetSheetSimCommand()
Return simulation command directives placed in schematic sheets (if any).
NETLIST_EXPORTER_PSPICE_SIM * m_exporter

References NETLIST_EXPORTER_PSPICE_SIM::GetSheetSimCommand(), DIALOG_SIM_SETTINGS_BASE::m_customTxt, and m_exporter.

Referenced by onLoadDirectives(), and TransferDataToWindow().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in DIALOG_CHOOSE_SYMBOL, HK_PROMPT_DIALOG, and HTML_MESSAGE_BOX.

Definition at line 563 of file dialog_shim.cpp.

564 {
565  if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
566  {
567  if( m_parentFrame )
568  {
570  return;
571  }
572  }
573  // shift-return (Mac default) or Ctrl-Return (GTK) for OK
574  else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
575  {
576  wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
577  return;
578  }
579  else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
580  {
581  wxWindow* currentWindow = wxWindow::FindFocus();
582  int currentIdx = -1;
583  int delta = aEvt.ShiftDown() ? -1 : 1;
584 
585  auto advance = [&]( int& idx )
586  {
587  // Wrap-around modulus
588  int size = m_tabOrder.size();
589  idx = ( ( idx + delta ) % size + size ) % size;
590  };
591 
592  for( size_t i = 0; i < m_tabOrder.size(); ++i )
593  {
594  if( m_tabOrder[i] == currentWindow )
595  {
596  currentIdx = (int) i;
597  break;
598  }
599  }
600 
601  if( currentIdx >= 0 )
602  {
603  advance( currentIdx );
604 
605  //todo: We don't currently have non-textentry dialog boxes but this will break if
606  // we add them.
607 #ifdef __APPLE__
608  while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
609  advance( currentIdx );
610 #endif
611 
612  m_tabOrder[ currentIdx ]->SetFocus();
613  return;
614  }
615  }
616 
617  aEvt.Skip();
618 }
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:218
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:216
virtual void ToggleUserUnits()
constexpr int delta

References delta, DIALOG_SHIM::m_parentFrame, DIALOG_SHIM::m_tabOrder, and EDA_BASE_FRAME::ToggleUserUnits().

Referenced by DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), and DIALOG_TEXT_PROPERTIES::~DIALOG_TEXT_PROPERTIES().

◆ onDCEnableSecondSource()

void DIALOG_SIM_SETTINGS::onDCEnableSecondSource ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SIM_SETTINGS_BASE.

Definition at line 572 of file dialog_sim_settings.cpp.

573 {
574  bool is2ndSrcEnabled = m_dcEnable2->IsChecked();
575  wxChar type = getStringSelection( m_dcSourceType2 ).Upper().GetChar( 0 );
576 
577  m_dcSourceType2->Enable( is2ndSrcEnabled );
578  m_dcSource2->Enable( is2ndSrcEnabled && type != 'T' );
579  m_dcStart2->Enable( is2ndSrcEnabled );
580  m_dcStop2->Enable( is2ndSrcEnabled );
581  m_dcIncr2->Enable( is2ndSrcEnabled );
582 }
static wxString getStringSelection(const wxChoice *aCtrl)

References getStringSelection(), DIALOG_SIM_SETTINGS_BASE::m_dcEnable2, DIALOG_SIM_SETTINGS_BASE::m_dcIncr2, DIALOG_SIM_SETTINGS_BASE::m_dcSource2, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType2, DIALOG_SIM_SETTINGS_BASE::m_dcStart2, and DIALOG_SIM_SETTINGS_BASE::m_dcStop2.

◆ onDCSource1Selected()

void DIALOG_SIM_SETTINGS::onDCSource1Selected ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from DIALOG_SIM_SETTINGS_BASE.

Definition at line 142 of file dialog_sim_settings.h.

143  {
144  wxChar type =
145  m_dcSourceType1->GetString( m_dcSourceType1->GetSelection() ).Upper().GetChar( 0 );
146  updateDCSources( type, m_dcSource1 );
149  }
void updateDCSources(wxChar aType, wxChoice *aSource)
Update DC sweep source with symbols from schematic.
void updateDCUnits(wxChar aType, wxChoice *aSource, wxStaticText *aStartValUnit, wxStaticText *aEndValUnit, wxStaticText *aStepUnit)
Update units on labels depending on selected source.

References DIALOG_SIM_SETTINGS_BASE::m_dcSource1, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType1, DIALOG_SIM_SETTINGS_BASE::m_src1DCEndValUnit, DIALOG_SIM_SETTINGS_BASE::m_src1DCStartValUnit, DIALOG_SIM_SETTINGS_BASE::m_src1DCStepUnit, updateDCSources(), and updateDCUnits().

◆ onDCSource2Selected()

void DIALOG_SIM_SETTINGS::onDCSource2Selected ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from DIALOG_SIM_SETTINGS_BASE.

Definition at line 151 of file dialog_sim_settings.h.

152  {
153  wxChar type =
154  m_dcSourceType2->GetString( m_dcSourceType2->GetSelection() ).Upper().GetChar( 0 );
155  updateDCSources( type, m_dcSource2 );
158  }
void updateDCSources(wxChar aType, wxChoice *aSource)
Update DC sweep source with symbols from schematic.
void updateDCUnits(wxChar aType, wxChoice *aSource, wxStaticText *aStartValUnit, wxStaticText *aEndValUnit, wxStaticText *aStepUnit)
Update units on labels depending on selected source.

References DIALOG_SIM_SETTINGS_BASE::m_dcSource2, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType2, DIALOG_SIM_SETTINGS_BASE::m_src2DCEndValUnit, DIALOG_SIM_SETTINGS_BASE::m_src2DCStartValUnit, DIALOG_SIM_SETTINGS_BASE::m_src2DCStepUnit, updateDCSources(), and updateDCUnits().

◆ onInitDlg()

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

Reimplemented from DIALOG_SIM_SETTINGS_BASE.

Definition at line 118 of file dialog_sim_settings.h.

119  {
120  // Call the default wxDialog handler of a wxInitDialogEvent
122 
123  // Now all widgets have the size fixed, call FinishDialogSettings
125  }
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
bool TransferDataToWindow() override

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

◆ onLoadDirectives()

void DIALOG_SIM_SETTINGS::onLoadDirectives ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from DIALOG_SIM_SETTINGS_BASE.

Definition at line 135 of file dialog_sim_settings.h.

136  {
137  loadDirectives();
138  }

References loadDirectives().

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 380 of file dialog_shim.cpp.

381 {
382  if( m_firstPaintEvent )
383  {
385 
386  selectAllInTextCtrls( GetChildren() );
387 
390  else
391  KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
392 
393  m_firstPaintEvent = false;
394  }
395 
396  event.Skip();
397 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:209
bool m_firstPaintEvent
Definition: dialog_shim.h:208
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:71
static void selectAllInTextCtrls(wxWindowList &children)

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

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ onSwapDCSources()

void DIALOG_SIM_SETTINGS::onSwapDCSources ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SIM_SETTINGS_BASE.

Definition at line 539 of file dialog_sim_settings.cpp.

540 {
541  std::vector<std::pair<wxTextEntry*, wxTextEntry*>> textCtrl = { { m_dcStart1, m_dcStart2 },
542  { m_dcStop1, m_dcStop2 },
543  { m_dcIncr1, m_dcIncr2 } };
544 
545  for( auto& couple : textCtrl )
546  {
547  wxString tmp = couple.first->GetValue();
548  couple.first->SetValue( couple.second->GetValue() );
549  couple.second->SetValue( tmp );
550  }
551 
552  int src1 = m_dcSource1->GetSelection();
553  int src2 = m_dcSource2->GetSelection();
554 
555  int sel = m_dcSourceType1->GetSelection();
556  m_dcSourceType1->SetSelection( m_dcSourceType2->GetSelection() );
557  m_dcSourceType2->SetSelection( sel );
558 
559  wxChar type1 = getStringSelection( m_dcSourceType1 ).Upper().GetChar( 0 );
560  updateDCSources( type1, m_dcSource1 );
561  wxChar type2 = getStringSelection( m_dcSourceType2 ).Upper().GetChar( 0 );
562  updateDCSources( type2, m_dcSource2 );
563 
564  m_dcSource1->SetSelection( src2 );
565  m_dcSource2->SetSelection( src1 );
566 
569 }
void updateDCSources(wxChar aType, wxChoice *aSource)
Update DC sweep source with symbols from schematic.
static wxString getStringSelection(const wxChoice *aCtrl)
void updateDCUnits(wxChar aType, wxChoice *aSource, wxStaticText *aStartValUnit, wxStaticText *aEndValUnit, wxStaticText *aStepUnit)
Update units on labels depending on selected source.

References getStringSelection(), DIALOG_SIM_SETTINGS_BASE::m_dcIncr1, DIALOG_SIM_SETTINGS_BASE::m_dcIncr2, DIALOG_SIM_SETTINGS_BASE::m_dcSource1, DIALOG_SIM_SETTINGS_BASE::m_dcSource2, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType1, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType2, DIALOG_SIM_SETTINGS_BASE::m_dcStart1, DIALOG_SIM_SETTINGS_BASE::m_dcStart2, DIALOG_SIM_SETTINGS_BASE::m_dcStop1, DIALOG_SIM_SETTINGS_BASE::m_dcStop2, DIALOG_SIM_SETTINGS_BASE::m_src1DCEndValUnit, DIALOG_SIM_SETTINGS_BASE::m_src1DCStartValUnit, DIALOG_SIM_SETTINGS_BASE::m_src1DCStepUnit, DIALOG_SIM_SETTINGS_BASE::m_src2DCEndValUnit, DIALOG_SIM_SETTINGS_BASE::m_src2DCStartValUnit, DIALOG_SIM_SETTINGS_BASE::m_src2DCStepUnit, updateDCSources(), and updateDCUnits().

◆ parseCommand()

bool DIALOG_SIM_SETTINGS::parseCommand ( const wxString &  aCommand)
private

Parse a Spice directive.

Parameters
aCommandis the directive to be parsed (e.g. ".tran 10n 1000n").
Returns
true if the directive was parsed correctly.

Definition at line 437 of file dialog_sim_settings.cpp.

438 {
439  if( aCommand.IsEmpty() )
440  return false;
441 
442  wxStringTokenizer tokenizer( aCommand, " " );
443  wxString tkn = tokenizer.GetNextToken().Lower();
444 
445  try
446  {
447  if( tkn == ".ac" )
448  {
449  m_simPages->SetSelection( m_simPages->FindPage( m_pgAC ) );
450 
451  tkn = tokenizer.GetNextToken().Lower();
452 
453  if( tkn == "dec" )
454  m_acScale->SetSelection( 0 );
455  if( tkn == "oct" )
456  m_acScale->SetSelection( 1 );
457  if( tkn == "lin" )
458  m_acScale->SetSelection( 2 );
459  else
460  return false;
461 
462  // If the fields below are empty, it will be caught by the exception handler
463  m_acPointsNumber->SetValue( tokenizer.GetNextToken() );
464  m_acFreqStart->SetValue( SPICE_VALUE( tokenizer.GetNextToken() ).ToSpiceString() );
465  m_acFreqStop->SetValue( SPICE_VALUE( tokenizer.GetNextToken() ).ToSpiceString() );
466  }
467  else if( tkn == ".dc" )
468  {
469  SPICE_DC_PARAMS src1, src2;
470  src2.m_vincrement = SPICE_VALUE( -1 );
471 
472  if( !m_exporter->ParseDCCommand( aCommand, &src1, &src2 ) )
473  return false;
474 
475  m_simPages->SetSelection( m_simPages->FindPage( m_pgDC ) );
476 
477  if( src1.m_source.IsSameAs( wxT( "TEMP" ), false ) )
478  setStringSelection( m_dcSourceType1, wxT( "TEMP" ) );
479  else
480  setStringSelection( m_dcSourceType1, src1.m_source.GetChar( 0 ) );
481 
482  updateDCSources( src1.m_source.GetChar( 0 ), m_dcSource1 );
483  m_dcSource1->SetStringSelection( src1.m_source );
484  m_dcStart1->SetValue( src1.m_vstart.ToSpiceString() );
485  m_dcStop1->SetValue( src1.m_vend.ToSpiceString() );
486  m_dcIncr1->SetValue( src1.m_vincrement.ToSpiceString() );
487 
488  if( src2.m_vincrement.ToDouble() != -1 )
489  {
490  if( src2.m_source.IsSameAs( wxT( "TEMP" ), false ) )
491  setStringSelection( m_dcSourceType2, wxT( "TEMP" ) );
492  else
493  setStringSelection( m_dcSourceType2, src2.m_source.GetChar( 0 ) );
494 
495  updateDCSources( src2.m_source.GetChar( 0 ), m_dcSource2 );
496  m_dcSource2->SetStringSelection( src2.m_source );
497  m_dcStart2->SetValue( src2.m_vstart.ToSpiceString() );
498  m_dcStop2->SetValue( src2.m_vend.ToSpiceString() );
499  m_dcIncr2->SetValue( src2.m_vincrement.ToSpiceString() );
500 
501  m_dcEnable2->SetValue( true );
502  }
503 
505  }
506  else if( tkn == ".tran" )
507  {
508  m_simPages->SetSelection( m_simPages->FindPage( m_pgTransient ) );
509 
510  // If the fields below are empty, it will be caught by the exception handler
511  m_transStep->SetValue( SPICE_VALUE( tokenizer.GetNextToken() ).ToSpiceString() );
512  m_transFinal->SetValue( SPICE_VALUE( tokenizer.GetNextToken() ).ToSpiceString() );
513 
514  // Initial time is an optional field
515  tkn = tokenizer.GetNextToken();
516 
517  if( !tkn.IsEmpty() )
518  m_transInitial->SetValue( SPICE_VALUE( tkn ).ToSpiceString() );
519  }
520  else if( tkn == ".op" )
521  {
522  m_simPages->SetSelection( m_simPages->FindPage( m_pgOP ) );
523  }
524  else if( !empty( m_customTxt ) ) // Custom directives
525  {
526  m_simPages->SetSelection( m_simPages->FindPage( m_pgCustom ) );
527  }
528  }
529  catch( ... )
530  {
531  // Nothing really bad has happened
532  return false;
533  }
534 
535  return true;
536 }
wxString ToSpiceString() const
Return string value in Spice format (e.g.
double ToDouble() const
void updateDCSources(wxChar aType, wxChoice *aSource)
Update DC sweep source with symbols from schematic.
< Helper class to handle Spice way of expressing values (e.g. 10.5 Meg) Helper class to recognize Spi...
Definition: spice_value.h:34
static void setStringSelection(wxChoice *aCtrl, const wxString &aStr)
bool ParseDCCommand(const wxString &aCmd, SPICE_DC_PARAMS *aSource1, SPICE_DC_PARAMS *aSource2)
Parse a two-source .dc command directive into its symbols.
NETLIST_EXPORTER_PSPICE_SIM * m_exporter
static bool empty(const wxTextEntryBase *aCtrl)

References empty(), DIALOG_SIM_SETTINGS_BASE::m_acFreqStart, DIALOG_SIM_SETTINGS_BASE::m_acFreqStop, DIALOG_SIM_SETTINGS_BASE::m_acPointsNumber, DIALOG_SIM_SETTINGS_BASE::m_acScale, DIALOG_SIM_SETTINGS_BASE::m_customTxt, DIALOG_SIM_SETTINGS_BASE::m_dcEnable2, DIALOG_SIM_SETTINGS_BASE::m_dcIncr1, DIALOG_SIM_SETTINGS_BASE::m_dcIncr2, DIALOG_SIM_SETTINGS_BASE::m_dcSource1, DIALOG_SIM_SETTINGS_BASE::m_dcSource2, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType1, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType2, DIALOG_SIM_SETTINGS_BASE::m_dcStart1, DIALOG_SIM_SETTINGS_BASE::m_dcStart2, DIALOG_SIM_SETTINGS_BASE::m_dcStop1, DIALOG_SIM_SETTINGS_BASE::m_dcStop2, m_exporter, DIALOG_SIM_SETTINGS_BASE::m_pgAC, DIALOG_SIM_SETTINGS_BASE::m_pgCustom, DIALOG_SIM_SETTINGS_BASE::m_pgDC, DIALOG_SIM_SETTINGS_BASE::m_pgOP, DIALOG_SIM_SETTINGS_BASE::m_pgTransient, DIALOG_SIM_SETTINGS_BASE::m_simPages, SPICE_DC_PARAMS::m_source, DIALOG_SIM_SETTINGS_BASE::m_transFinal, DIALOG_SIM_SETTINGS_BASE::m_transInitial, DIALOG_SIM_SETTINGS_BASE::m_transStep, SPICE_DC_PARAMS::m_vend, SPICE_DC_PARAMS::m_vincrement, SPICE_DC_PARAMS::m_vstart, NETLIST_EXPORTER_PSPICE_SIM::ParseDCCommand(), refreshUIControls(), setStringSelection(), SPICE_VALUE::ToDouble(), SPICE_VALUE::ToSpiceString(), and updateDCSources().

Referenced by SetSimCommand(), and TransferDataToWindow().

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 36 of file kiway_holder.cpp.

37 {
38  return Kiway().Prj();
39 }
KIWAY & Kiway() const
Return a reference to the KIWAY that this object has an opportunity to participate in.
Definition: kiway_holder.h:53
virtual PROJECT & Prj() const
Return the PROJECT associated with this KIWAY.
Definition: kiway.cpp:190

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

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_LIBRARY_MANAGER::addLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), SCH_EDIT_FRAME::AppendSchematic(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesListBox(), SIM_PLOT_FRAME::canCloseWindow(), PANEL_FP_PROPERTIES_3D_MODEL::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::createNewLibrary(), PCB_BASE_EDIT_FRAME::CreateNewProjectLibrary(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PCB_EDIT_FRAME::doAutoSave(), SCH_EDIT_FRAME::doAutoSave(), PCB_BASE_EDIT_FRAME::doCloseWindow(), FOOTPRINT_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(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), BOARD_EDITOR_CONTROL::ExportNetlist(), DIALOG_EXPORT_SVG::ExportSVGFile(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), SYMBOL_EDITOR_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(), SYMBOL_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SIM_PLOT_FRAME::getDefaultFilename(), SIM_PLOT_FRAME::getDefaultPath(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), SCH_BASE_FRAME::GetLibSymbol(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), KICAD_MANAGER_FRAME::GetProjectFileName(), SCH_EDIT_FRAME::GetSchematicJunctionSize(), SYMBOL_VIEWER_FRAME::GetSelectedSymbol(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), SCH_EDIT_FRAME::KiwayMailIn(), SYMBOL_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), SIM_PLOT_FRAME::LoadSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromCurrentLib(), EDA_BASE_FRAME::LoadWindowState(), SIM_PLOT_FRAME::loadWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbookAs(), PANEL_FP_PROPERTIES_3D_MODEL::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_SCHEMATIC_SETUP::OnPageChange(), DIALOG_BOARD_SETUP::OnPageChange(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_TEXT_AND_LABEL_PROPERTIES::onScintillaCharAdded(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_SCH_FIELD_PROPERTIES::onScintillaCharAdded(), DIALOG_SPICE_MODEL::onSelectLibrary(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), SCH_BASE_FRAME::PickSymbolFromLibTree(), DIALOG_PLOT::Plot(), DIALOG_PLOT_SCHEMATIC::plotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetHpgl(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), EDA_DRAW_FRAME::PrintDrawingSheet(), SCH_EDIT_FRAME::PrintPage(), KICAD_MANAGER_FRAME::PrintPrjInfo(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), EDA_3D_VIEWER_FRAME::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), SYMBOL_EDIT_FRAME::saveLibrary(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SCH_EDIT_FRAME::saveSchematicFile(), SIM_PLOT_FRAME::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), SYMBOL_EDIT_FRAME::saveSymbolAs(), SCH_BASE_FRAME::saveSymbolLibTables(), SIM_PLOT_FRAME::saveWorkbook(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), PCB_BASE_FRAME::SelectLibrary(), SYMBOL_EDIT_FRAME::SelectLibraryFromList(), PCB_BASE_EDIT_FRAME::selectLibTable(), SYMBOL_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), SYMBOL_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), SYMBOL_EDIT_FRAME::SetCurSymbol(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), SYMBOL_VIEWER_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SYMBOL_LIBRARY_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER_FRAME::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), SCH_EDIT_FRAME::updateAutoSaveFile(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), SIM_PLOT_FRAME::updateTitle(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::UpdateTitle(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), PANEL_FP_PROPERTIES_3D_MODEL::~PANEL_FP_PROPERTIES_3D_MODEL(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ refreshUIControls()

void DIALOG_SIM_SETTINGS::refreshUIControls ( )
inlineprivate

Definition at line 92 of file dialog_sim_settings.h.

93  {
94  wxQueueEvent( m_dcEnable2, new wxCommandEvent( wxEVT_CHECKBOX ) );
95  wxQueueEvent( m_dcSourceType1, new wxCommandEvent( wxEVT_RADIOBOX ) );
96  wxQueueEvent( m_dcSourceType2, new wxCommandEvent( wxEVT_RADIOBOX ) );
97  }

References DIALOG_SIM_SETTINGS_BASE::m_dcEnable2, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType1, and DIALOG_SIM_SETTINGS_BASE::m_dcSourceType2.

Referenced by DIALOG_SIM_SETTINGS(), and parseCommand().

◆ 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 287 of file dialog_shim.cpp.

288 {
289  const char* hash_key;
290 
291  if( m_hash_key.size() )
292  {
293  // a special case like EDA_LIST_DIALOG, which has multiple uses.
294  hash_key = m_hash_key.c_str();
295  }
296  else
297  {
298  hash_key = typeid(*this).name();
299  }
300 
301  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
302 
303  if( it == class_map.end() )
304  return;
305 
306  wxRect rect = it->second;
307  rect.SetSize( wxSize( 0, 0 ) );
308  class_map[ hash_key ] = rect;
309 }
std::string m_hash_key
Definition: dialog_shim.h:199
static std::unordered_map< std::string, wxRect > class_map

References class_map, and DIALOG_SHIM::m_hash_key.

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES().

◆ scaleToString()

static wxString DIALOG_SIM_SETTINGS::scaleToString ( int  aOption)
inlinestaticprivate

Definition at line 160 of file dialog_sim_settings.h.

161  {
162  switch( aOption )
163  {
164  case DECADE:
165  return wxString( "dec" );
166 
167  case OCTAVE:
168  return wxString( "oct" );
169 
170  case LINEAR:
171  return wxString( "lin" );
172  }
173 
174  wxASSERT_MSG( false, "Unhandled scale type" );
175 
176  return wxEmptyString;
177  }

References DECADE, LINEAR, and OCTAVE.

Referenced by TransferDataFromWindow().

◆ 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 97 of file dialog_shim.h.

98  {
99  m_initialFocusTarget = aWindow;
100  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:209

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_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_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), 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_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), HK_PROMPT_DIALOG::HK_PROMPT_DIALOG(), DIALOG_FIELD_PROPERTIES::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(), SYMBOL_EDIT_FRAME::saveSymbolAs(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), DIALOG_COPPER_ZONE::TransferDataToWindow(), and WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG().

◆ SetKiway()

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

It is only used for debugging, since "this" is not a wxWindow*.

"this" is a KIWAY_HOLDER mix-in.

Parameters
aDestis the recipient of aKiway pointer.
aKiwayis often from a parent window or from KIFACE::CreateWindow().

Definition at line 43 of file kiway_holder.cpp.

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

References ignore_unused(), KIWAY_HOLDER::m_kiway, and name.

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

◆ SetNetlistExporter()

void DIALOG_SIM_SETTINGS::SetNetlistExporter ( NETLIST_EXPORTER_PSPICE_SIM aExporter)
inline

Definition at line 64 of file dialog_sim_settings.h.

65  {
66  m_exporter = aExporter;
67  }
NETLIST_EXPORTER_PSPICE_SIM * m_exporter

References m_exporter.

Referenced by SIM_PLOT_FRAME::updateNetlistExporter().

◆ SetPosition()

void DIALOG_SHIM::SetPosition ( const wxPoint &  aNewPosition)
inherited

Force the position of the dialog to a new position.

Parameters
aNewPositionis the new forced position

Definition at line 190 of file dialog_shim.cpp.

191 {
192  wxDialog::SetPosition( aNewPosition );
193 
194  // Now update the stored position:
195  const char* hash_key;
196 
197  if( m_hash_key.size() )
198  {
199  // a special case like EDA_LIST_DIALOG, which has multiple uses.
200  hash_key = m_hash_key.c_str();
201  }
202  else
203  {
204  hash_key = typeid(*this).name();
205  }
206 
207  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
208 
209  if( it == class_map.end() )
210  return;
211 
212  wxRect rect = it->second;
213  rect.SetPosition( aNewPosition );
214 
215  class_map[ hash_key ] = rect;
216 }
std::string m_hash_key
Definition: dialog_shim.h:199
static std::unordered_map< std::string, wxRect > class_map
void SetPosition(const wxString &aStr, const wxString &aDefaultMeasurementUnit, int *aX, int *aY, const wxString &aActualConversion)

References class_map, DIALOG_SHIM::m_hash_key, and PCAD2KICAD::SetPosition().

Referenced by PCB_BASE_FRAME::SelectOneLayer().

◆ SetSimCommand()

bool DIALOG_SIM_SETTINGS::SetSimCommand ( const wxString &  aCommand)
inline

Definition at line 49 of file dialog_sim_settings.h.

50  {
51  bool res = parseCommand( aCommand );
52 
53  if( res )
54  m_simCommand = aCommand;
55 
56  return res;
57  }
bool parseCommand(const wxString &aCommand)
Parse a Spice directive.

References m_simCommand, and parseCommand().

Referenced by SIM_PLOT_FRAME::onSettings().

◆ 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 162 of file dialog_shim.cpp.

163 {
164  wxSize sz( x, y );
165  SetSize( ConvertDialogToPixels( sz ) );
166 }

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 219 of file dialog_shim.cpp.

220 {
221  bool ret;
222  const char* hash_key;
223 
224  if( m_hash_key.size() )
225  {
226  // a special case like EDA_LIST_DIALOG, which has multiple uses.
227  hash_key = m_hash_key.c_str();
228  }
229  else
230  {
231  hash_key = typeid(*this).name();
232  }
233 
234  // Show or hide the window. If hiding, save current position and size.
235  // If showing, use previous position and size.
236  if( show )
237  {
238 #ifndef __WINDOWS__
239  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
240 #endif
241  ret = wxDialog::Show( show );
242 
243  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
244  wxRect savedDialogRect = class_map[ hash_key ];
245 
246  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
247  {
248  if( m_useCalculatedSize )
249  {
250  SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
251  wxDialog::GetSize().x, wxDialog::GetSize().y, 0 );
252  }
253  else
254  {
255  SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
256  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
257  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
258  0 );
259  }
260  }
261  else if( m_initialSize != wxDefaultSize )
262  SetSize( m_initialSize );
263 
264  // Be sure that the dialog appears in a visible area
265  // (the dialog position might have been stored at the time when it was
266  // shown on another display)
267  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
268  Centre();
269  }
270  else
271  {
272  // Save the dialog's position & size before hiding, using classname as key
273  class_map[ hash_key ] = wxRect( wxDialog::GetPosition(), wxDialog::GetSize() );
274 
275 #ifdef __WXMAC__
276  if ( m_eventLoop )
277  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
278 #endif
279 
280  ret = wxDialog::Show( show );
281  }
282 
283  return ret;
284 }
std::string m_hash_key
Definition: dialog_shim.h:199
static std::unordered_map< std::string, wxRect > class_map
bool m_useCalculatedSize
Definition: dialog_shim.h:203
wxSize m_initialSize
Definition: dialog_shim.h:221

References class_map, DIALOG_SHIM::m_hash_key, DIALOG_SHIM::m_initialSize, and DIALOG_SHIM::m_useCalculatedSize.

Referenced by FOOTPRINT_EDITOR_CONTROL::CheckFootprint(), DRC_TOOL::CrossProbe(), DIALOG_SHIM::EndQuasiModal(), GROUP_TOOL::GroupProperties(), EE_INSPECTION_TOOL::NextMarker(), DRC_TOOL::NextMarker(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), DIALOG_FOOTPRINT_CHECKER::OnLeftDClickItem(), GROUP_TOOL::PickNewMember(), POSITION_RELATIVE_TOOL::PositionRelative(), EE_INSPECTION_TOOL::PrevMarker(), DRC_TOOL::PrevMarker(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), EDA_VIEW_SWITCHER::Show(), DIALOG_PAD_PROPERTIES::Show(), DRC_TOOL::ShowDRCDialog(), EE_INSPECTION_TOOL::ShowERCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ ShowModal()

int DIALOG_SIM_SETTINGS::ShowModal ( )
override

Definition at line 360 of file dialog_sim_settings.cpp.

361 {
362  // Fill out comboboxes that allows one to select nets
363  // Map comoboxes to their current values
364  std::map<wxComboBox*, wxString> cmbNet = {
365  { m_noiseMeas, m_noiseMeas->GetStringSelection() },
366  { m_noiseRef, m_noiseRef->GetStringSelection() }
367  };
368 
369  for( auto c : cmbNet )
370  c.first->Clear();
371 
372  for( const auto& net : m_exporter->GetNetIndexMap() )
373  {
374  for( auto c : cmbNet )
375  c.first->Append( net.first );
376  }
377 
378  // Try to restore the previous selection, if possible
379  for( auto c : cmbNet )
380  {
381  int idx = c.first->FindString( c.second );
382 
383  if( idx != wxNOT_FOUND )
384  c.first->SetSelection( idx );
385  }
386 
387  return DIALOG_SIM_SETTINGS_BASE::ShowModal();
388 }
const std::map< wxString, int > & GetNetIndexMap() const
Return a map of circuit nodes to net names.
NETLIST_EXPORTER_PSPICE_SIM * m_exporter

References NETLIST_EXPORTER_PSPICE::GetNetIndexMap(), m_exporter, DIALOG_SIM_SETTINGS_BASE::m_noiseMeas, and DIALOG_SIM_SETTINGS_BASE::m_noiseRef.

Referenced by SIM_PLOT_FRAME::onSettings().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 423 of file dialog_shim.cpp.

424 {
425  // This is an exception safe way to zero a pointer before returning.
426  // Yes, even though DismissModal() clears this first normally, this is
427  // here in case there's an exception before the dialog is dismissed.
428  struct NULLER
429  {
430  void*& m_what;
431  NULLER( void*& aPtr ) : m_what( aPtr ) {}
432  ~NULLER() { m_what = nullptr; } // indeed, set it to NULL on destruction
433  } clear_this( (void*&) m_qmodal_loop );
434 
435  // release the mouse if it's currently captured as the window having it
436  // will be disabled when this dialog is shown -- but will still keep the
437  // capture making it impossible to do anything in the modal dialog itself
438  wxWindow* win = wxWindow::GetCapture();
439  if( win )
440  win->ReleaseMouse();
441 
442  // Get the optimal parent
443  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
444 
445  wxASSERT_MSG( !m_qmodal_parent_disabler,
446  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
447 
448  // quasi-modal: disable only my "optimal" parent
450 
451  // Apple in its infinite wisdom will raise a disabled window before even passing
452  // us the event, so we have no way to stop it. Instead, we must set an order on
453  // the windows so that the quasi-modal will be pushed in front of the disabled
454  // window when it is raised.
456 
457  Show( true );
458 
459  m_qmodal_showing = true;
460 
461  WX_EVENT_LOOP event_loop;
462 
463  m_qmodal_loop = &event_loop;
464 
465  event_loop.Run();
466 
467  m_qmodal_showing = false;
468 
469  return GetReturnCode();
470 }
bool m_qmodal_showing
Definition: dialog_shim.h:213
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:211
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:214
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:44
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:65

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 SCH_EDIT_TOOL::ChangeSymbols(), S3D::Configure3DPaths(), COMMON_CONTROL::ConfigurePaths(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_DRAWING_TOOLS::createNewText(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), SCH_EDITOR_CONTROL::EditSymbolFields(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), InvokeCopperZonesEditor(), InvokeDialogCreateBOM(), InvokeDialogEditSymbolsLibId(), InvokeDialogRescueEach(), InvokeNonCopperZonesEditor(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), S3D::Select3DModel(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowDimensionPropertiesDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), and PCB_BASE_EDIT_FRAME::ShowTextPropertiesDialog().

◆ TransferDataFromWindow()

bool DIALOG_SIM_SETTINGS::TransferDataFromWindow ( )
override

Definition at line 159 of file dialog_sim_settings.cpp.

160 {
161  if( !wxDialog::TransferDataFromWindow() )
162  return false;
163 
164  // The simulator dependent settings always get transferred.
165  NGSPICE_SIMULATOR_SETTINGS* ngspiceSettings =
166  dynamic_cast<NGSPICE_SIMULATOR_SETTINGS*>( m_settings.get() );
167 
168  if( ngspiceSettings )
169  {
170  switch( m_compatibilityModeChoice->GetSelection() )
171  {
172  case 0: ngspiceSettings->SetModelMode( NGSPICE_MODEL_MODE::USER_CONFIG ); break;
173  case 1: ngspiceSettings->SetModelMode( NGSPICE_MODEL_MODE::NGSPICE ); break;
174  case 2: ngspiceSettings->SetModelMode( NGSPICE_MODEL_MODE::PSPICE ); break;
175  case 3: ngspiceSettings->SetModelMode( NGSPICE_MODEL_MODE::LTSPICE ); break;
176  case 4: ngspiceSettings->SetModelMode( NGSPICE_MODEL_MODE::LT_PSPICE ); break;
177  case 5: ngspiceSettings->SetModelMode( NGSPICE_MODEL_MODE::HSPICE ); break;
178  }
179  }
180 
181  wxString previousSimCommand = m_simCommand;
182  wxWindow* page = m_simPages->GetCurrentPage();
183 
184  if( page == m_pgAC ) // AC analysis
185  {
186  if( !m_pgAC->Validate() )
187  return false;
188 
189  m_simCommand.Printf( ".ac %s %s %s %s",
190  scaleToString( m_acScale->GetSelection() ),
191  m_acPointsNumber->GetValue(),
192  SPICE_VALUE( m_acFreqStart->GetValue() ).ToSpiceString(),
193  SPICE_VALUE( m_acFreqStop->GetValue() ).ToSpiceString() );
194  }
195  else if( page == m_pgDC ) // DC transfer analysis
196  {
197  wxString simCmd = wxString( ".dc " );
198 
200 
201  if( src1.IsEmpty() )
202  return false;
203  else
204  simCmd += src1;
205 
206  if( m_dcEnable2->IsChecked() )
207  {
209 
210  if( src2.IsEmpty() )
211  return false;
212  else
213  simCmd += " " + src2;
214 
215  if( m_dcSource1->GetSelection() == m_dcSource2->GetSelection() )
216  {
217  DisplayError( this, _( "Source 1 and Source 2 must be different" ) );
218  return false;
219  }
220  }
221 
222  m_simCommand = simCmd;
223  }
224  else if( page == m_pgNoise ) // Noise analysis
225  {
226  const std::map<wxString, int>& netMap = m_exporter->GetNetIndexMap();
227 
230  {
231  return false;
232  }
233 
234  wxString ref;
235 
236  if( !empty( m_noiseRef ) )
237  ref = wxString::Format( ", %d", netMap.at( m_noiseRef->GetValue() ) );
238 
239  wxString noiseSource = m_exporter->GetSpiceDevice( m_noiseSrc->GetValue() );
240 
241  // Add voltage source prefix if needed
242  if( noiseSource[0] != 'v' && noiseSource[0] != 'V' )
243  noiseSource += 'v' + noiseSource;
244 
245  m_simCommand.Printf( ".noise v(%d%s) %s %s %s %s %s",
246  netMap.at( m_noiseMeas->GetValue() ), ref,
247  noiseSource, scaleToString( m_noiseScale->GetSelection() ),
248  m_noisePointsNumber->GetValue(),
249  SPICE_VALUE( m_noiseFreqStart->GetValue() ).ToSpiceString(),
250  SPICE_VALUE( m_noiseFreqStop->GetValue() ).ToSpiceString() );
251  }
252  else if( page == m_pgOP ) // DC operating point analysis
253  {
254  m_simCommand = wxString( ".op" );
255  }
256  else if( page == m_pgTransient ) // Transient analysis
257  {
258  if( !m_pgTransient->Validate() )
259  return false;
260 
261  wxString initial;
262 
263  if( !empty( m_transInitial ) )
264  initial = SPICE_VALUE( m_transInitial->GetValue() ).ToSpiceString();
265 
266  m_simCommand.Printf( ".tran %s %s %s",
267  SPICE_VALUE( m_transStep->GetValue() ).ToSpiceString(),
268  SPICE_VALUE( m_transFinal->GetValue() ).ToSpiceString(),
269  initial );
270  }
271  else if( page == m_pgCustom ) // Custom directives
272  {
273  m_simCommand = m_customTxt->GetValue();
274  }
275  else
276  {
277  wxString extendedMsg;
278 
279  if( m_simCommand.IsEmpty() )
280  {
281  KIDIALOG dlg( this, _( "No valid simulation is configured." ), _( "Warning" ),
282  wxOK | wxCANCEL | wxICON_EXCLAMATION | wxCENTER );
283 
284  dlg.SetExtendedMessage( _( "A valid simulation can be configured by selecting a "
285  "simulation tab, setting the simulation parameters and "
286  "clicking the OK button with the tab selected." ) );
287  dlg.SetOKCancelLabels(
288  wxMessageDialog::ButtonLabel( _( "Exit Without Valid Simulation" ) ),
289  wxMessageDialog::ButtonLabel( _( "Configure Valid Simulation" ) ) );
290  dlg.DoNotShowCheckbox( __FILE__, __LINE__ );
291 
292  if( dlg.ShowModal() == wxID_OK )
293  return true;
294  }
295 
296  return false;
297  }
298 
299  if( previousSimCommand != m_simCommand )
300  m_simCommand.Trim();
301 
303 
304  m_settings->SetFixPassiveVals( m_netlistOpts & NET_ADJUST_PASSIVE_VALS );
305  m_settings->SetFixIncludePaths( m_netlistOpts & NET_ADJUST_INCLUDE_PATHS );
306 
307  return true;
308 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:279
std::shared_ptr< SPICE_SIMULATOR_SETTINGS > m_settings
Helper class to create more flexible dialogs, including 'do not show again' checkbox handling.
Definition: confirm.h:45
wxString evaluateDCControls(wxChoice *aDcSource, wxTextCtrl *aDcStart, wxTextCtrl *aDcStop, wxTextCtrl *aDcIncr)
Read values from one DC sweep source to form a part of simulation command.
static wxString scaleToString(int aOption)
const std::map< wxString, int > & GetNetIndexMap() const
Return a map of circuit nodes to net names.
< Helper class to handle Spice way of expressing values (e.g. 10.5 Meg) Helper class to recognize Spi...
Definition: spice_value.h:34
wxString GetSpiceDevice(const wxString &aSymbol) const
Return name of Spice device corresponding to a schematic symbol.
#define _(s)
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:200
NETLIST_EXPORTER_PSPICE_SIM * m_exporter
Container for Ngspice simulator settings.
static bool empty(const wxTextEntryBase *aCtrl)
void SetModelMode(NGSPICE_MODEL_MODE aMode)

References _, DisplayError(), KIDIALOG::DoNotShowCheckbox(), empty(), evaluateDCControls(), Format(), NETLIST_EXPORTER_PSPICE::GetNetIndexMap(), NETLIST_EXPORTER_PSPICE::GetSpiceDevice(), HSPICE, LT_PSPICE, LTSPICE, DIALOG_SIM_SETTINGS_BASE::m_acFreqStart, DIALOG_SIM_SETTINGS_BASE::m_acFreqStop, DIALOG_SIM_SETTINGS_BASE::m_acPointsNumber, DIALOG_SIM_SETTINGS_BASE::m_acScale, DIALOG_SIM_SETTINGS_BASE::m_compatibilityModeChoice, DIALOG_SIM_SETTINGS_BASE::m_customTxt, DIALOG_SIM_SETTINGS_BASE::m_dcEnable2, DIALOG_SIM_SETTINGS_BASE::m_dcIncr1, DIALOG_SIM_SETTINGS_BASE::m_dcIncr2, DIALOG_SIM_SETTINGS_BASE::m_dcSource1, DIALOG_SIM_SETTINGS_BASE::m_dcSource2, DIALOG_SIM_SETTINGS_BASE::m_dcStart1, DIALOG_SIM_SETTINGS_BASE::m_dcStart2, DIALOG_SIM_SETTINGS_BASE::m_dcStop1, DIALOG_SIM_SETTINGS_BASE::m_dcStop2, m_exporter, m_netlistOpts, DIALOG_SIM_SETTINGS_BASE::m_noiseFreqStart, DIALOG_SIM_SETTINGS_BASE::m_noiseFreqStop, DIALOG_SIM_SETTINGS_BASE::m_noiseMeas, DIALOG_SIM_SETTINGS_BASE::m_noisePointsNumber, DIALOG_SIM_SETTINGS_BASE::m_noiseRef, DIALOG_SIM_SETTINGS_BASE::m_noiseScale, DIALOG_SIM_SETTINGS_BASE::m_noiseSrc, DIALOG_SIM_SETTINGS_BASE::m_pgAC, DIALOG_SIM_SETTINGS_BASE::m_pgCustom, DIALOG_SIM_SETTINGS_BASE::m_pgDC, DIALOG_SIM_SETTINGS_BASE::m_pgNoise, DIALOG_SIM_SETTINGS_BASE::m_pgOP, DIALOG_SIM_SETTINGS_BASE::m_pgTransient, m_settings, m_simCommand, DIALOG_SIM_SETTINGS_BASE::m_simPages, DIALOG_SIM_SETTINGS_BASE::m_transFinal, DIALOG_SIM_SETTINGS_BASE::m_transInitial, DIALOG_SIM_SETTINGS_BASE::m_transStep, NET_ADJUST_INCLUDE_PATHS, NET_ADJUST_PASSIVE_VALS, NGSPICE, PSPICE, scaleToString(), NGSPICE_SIMULATOR_SETTINGS::SetModelMode(), KIDIALOG::SetOKCancelLabels(), KIDIALOG::ShowModal(), updateNetlistOpts(), and USER_CONFIG.

◆ TransferDataToWindow()

bool DIALOG_SIM_SETTINGS::TransferDataToWindow ( )
override
Todo:
one day it could interpret the sim command and fill out appropriate fields.

Definition at line 311 of file dialog_sim_settings.cpp.

312 {
314  if( empty( m_customTxt ) )
315  loadDirectives();
316 
317  m_fixPassiveVals->SetValue( m_settings->GetFixPassiveVals() );
318  m_fixIncludePaths->SetValue( m_settings->GetFixIncludePaths() );
320 
321  NGSPICE_SIMULATOR_SETTINGS* ngspiceSettings =
322  dynamic_cast<NGSPICE_SIMULATOR_SETTINGS*>( m_settings.get() );
323 
324  if( ngspiceSettings )
325  {
326  switch( ngspiceSettings->GetModelMode() )
327  {
328  case NGSPICE_MODEL_MODE::USER_CONFIG: m_compatibilityModeChoice->SetSelection( 0 ); break;
329  case NGSPICE_MODEL_MODE::NGSPICE: m_compatibilityModeChoice->SetSelection( 1 ); break;
330  case NGSPICE_MODEL_MODE::PSPICE: m_compatibilityModeChoice->SetSelection( 2 ); break;
331  case NGSPICE_MODEL_MODE::LTSPICE: m_compatibilityModeChoice->SetSelection( 3 ); break;
332  case NGSPICE_MODEL_MODE::LT_PSPICE: m_compatibilityModeChoice->SetSelection( 4 ); break;
333  case NGSPICE_MODEL_MODE::HSPICE: m_compatibilityModeChoice->SetSelection( 5 ); break;
334  default:
335  wxFAIL_MSG( wxString::Format( "Unknown NGSPICE_MODEL_MODE %d.",
336  ngspiceSettings->GetModelMode() ) );
337  break;
338  }
339  }
340 
341  if( !m_dcSource1->GetCount() )
342  {
343  wxChar type1 = getStringSelection( m_dcSourceType1 ).Upper().GetChar( 0 );
344  updateDCSources( type1, m_dcSource1 );
345  }
346 
347  if( !m_dcSource2->GetCount() )
348  {
349  wxChar type2 = getStringSelection( m_dcSourceType2 ).Upper().GetChar( 0 );
350  updateDCSources( type2, m_dcSource2 );
351  }
352 
353  if( m_simCommand.IsEmpty() && !empty( m_customTxt ) )
354  return parseCommand( m_customTxt->GetValue() );
355 
356  return true;
357 }
std::shared_ptr< SPICE_SIMULATOR_SETTINGS > m_settings
void updateDCSources(wxChar aType, wxChoice *aSource)
Update DC sweep source with symbols from schematic.
bool parseCommand(const wxString &aCommand)
Parse a Spice directive.
static wxString getStringSelection(const wxChoice *aCtrl)
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:200
NGSPICE_MODEL_MODE GetModelMode() const
Container for Ngspice simulator settings.
static bool empty(const wxTextEntryBase *aCtrl)

References empty(), Format(), NGSPICE_SIMULATOR_SETTINGS::GetModelMode(), getStringSelection(), HSPICE, loadDirectives(), LT_PSPICE, LTSPICE, DIALOG_SIM_SETTINGS_BASE::m_compatibilityModeChoice, DIALOG_SIM_SETTINGS_BASE::m_customTxt, DIALOG_SIM_SETTINGS_BASE::m_dcSource1, DIALOG_SIM_SETTINGS_BASE::m_dcSource2, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType1, DIALOG_SIM_SETTINGS_BASE::m_dcSourceType2, DIALOG_SIM_SETTINGS_BASE::m_fixIncludePaths, DIALOG_SIM_SETTINGS_BASE::m_fixPassiveVals, m_settings, m_simCommand, NGSPICE, parseCommand(), PSPICE, updateDCSources(), updateNetlistOpts(), and USER_CONFIG.

Referenced by onInitDlg().

◆ updateDCSources()

void DIALOG_SIM_SETTINGS::updateDCSources ( wxChar  aType,
wxChoice *  aSource 
)
private

Update DC sweep source with symbols from schematic.

Definition at line 391 of file dialog_sim_settings.cpp.

392 {
393  wxString prevSelection;
394 
395  if( !aSource->IsEmpty() )
396  prevSelection = aSource->GetString( aSource->GetSelection() );
397 
398  std::vector<wxString> sourcesList;
399  bool enableSrcSelection = true;
400 
401  if( aType != 'T' )
402  {
403  for( const auto& item : m_exporter->GetSpiceItems() )
404  {
405  if( item.m_primitive == aType )
406  sourcesList.push_back( item.m_refName );
407  }
408 
409  std::sort( sourcesList.begin(), sourcesList.end(),
410  [](wxString& a, wxString& b) -> bool
411  {
412  return a.Len() < b.Len() || b.Cmp( a ) > 0;
413  } );
414 
415  if( aSource == m_dcSource2 && !m_dcEnable2->IsChecked() )
416  enableSrcSelection = false;
417  }
418  else
419  {
420  prevSelection = wxT( "TEMP" );
421  sourcesList.push_back( prevSelection );
422  enableSrcSelection = false;
423  }
424 
425  aSource->Enable( enableSrcSelection );
426 
427  aSource->Clear();
428 
429  for( auto& src : sourcesList )
430  aSource->Append( src );
431 
432  // Try to restore the previous selection, if possible
433  aSource->SetStringSelection( prevSelection );
434 }
const std::list< SPICE_ITEM > & GetSpiceItems() const
Return list of items representing schematic components in the Spice world.
NETLIST_EXPORTER_PSPICE_SIM * m_exporter

References NETLIST_EXPORTER_PSPICE::GetSpiceItems(), DIALOG_SIM_SETTINGS_BASE::m_dcEnable2, DIALOG_SIM_SETTINGS_BASE::m_dcSource2, and m_exporter.

Referenced by onDCSource1Selected(), onDCSource2Selected(), onSwapDCSources(), parseCommand(), and TransferDataToWindow().

◆ updateDCUnits()

void DIALOG_SIM_SETTINGS::updateDCUnits ( wxChar  aType,
wxChoice *  aSource,
wxStaticText *  aStartValUnit,
wxStaticText *  aEndValUnit,
wxStaticText *  aStepUnit 
)
private

Update units on labels depending on selected source.

Definition at line 585 of file dialog_sim_settings.cpp.

588 {
589  wxString unit;
590 
591  switch( aType )
592  {
593  case 'V': unit = _( "Volts" ); break;
594  case 'I': unit = _( "Amperes" ); break;
595  case 'R': unit = _( "Ohms" ); break;
596  case 'T': unit = wxT( "\u00B0C" ); break;
597  }
598 
599  aStartValUnit->SetLabel( unit );
600  aEndValUnit->SetLabel( unit );
601  aStepUnit->SetLabel( unit );
602 
603  m_pgDC->Refresh();
604 }
#define _(s)

References _, and DIALOG_SIM_SETTINGS_BASE::m_pgDC.

Referenced by onDCSource1Selected(), onDCSource2Selected(), and onSwapDCSources().

◆ updateNetlistOpts()

◆ Validate()

virtual bool DIALOG_SIM_SETTINGS::Validate ( )
inlineoverridevirtual

Definition at line 76 of file dialog_sim_settings.h.

77  {
78  return true;
79  }

◆ vertPixelsFromDU()

int DIALOG_SHIM::vertPixelsFromDU ( int  y) const
protectedinherited

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

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 176 of file dialog_shim.cpp.

177 {
178  wxSize sz( 0, y );
179  return ConvertDialogToPixels( sz ).y;
180 }

Referenced by DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

Member Data Documentation

◆ m_acFreqStart

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_acFreqStart
protectedinherited

◆ m_acFreqStop

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_acFreqStop
protectedinherited

◆ m_acPointsNumber

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_acPointsNumber
protectedinherited

◆ m_acScale

wxRadioBox* DIALOG_SIM_SETTINGS_BASE::m_acScale
protectedinherited

◆ m_compatibilityMode

wxBoxSizer* DIALOG_SIM_SETTINGS_BASE::m_compatibilityMode
protectedinherited

◆ m_compatibilityModeChoice

wxChoice* DIALOG_SIM_SETTINGS_BASE::m_compatibilityModeChoice
protectedinherited

◆ m_customTxt

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_customTxt
protectedinherited

◆ m_dcEnable2

◆ m_dcIncr1

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_dcIncr1
protectedinherited

◆ m_dcIncr2

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_dcIncr2
protectedinherited

◆ m_dcSource1

wxChoice* DIALOG_SIM_SETTINGS_BASE::m_dcSource1
protectedinherited

◆ m_dcSource2

◆ m_dcSourceType1

◆ m_dcSourceType2

◆ m_dcStart1

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_dcStart1
protectedinherited

◆ m_dcStart2

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_dcStart2
protectedinherited

◆ m_dcStop1

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_dcStop1
protectedinherited

◆ m_dcStop2

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_dcStop2
protectedinherited

◆ m_exporter

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 208 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_fixIncludePaths

wxCheckBox* DIALOG_SIM_SETTINGS_BASE::m_fixIncludePaths
protectedinherited

◆ m_fixPassiveVals

wxCheckBox* DIALOG_SIM_SETTINGS_BASE::m_fixPassiveVals
protectedinherited

◆ m_hash_key

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 209 of file dialog_shim.h.

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

◆ m_initialSize

wxSize DIALOG_SHIM::m_initialSize
protectedinherited

Definition at line 221 of file dialog_shim.h.

Referenced by DIALOG_SHIM::Show().

◆ m_loadDirectives

wxButton* DIALOG_SIM_SETTINGS_BASE::m_loadDirectives
protectedinherited

◆ m_netlistOpts

int DIALOG_SIM_SETTINGS::m_netlistOpts
private

◆ m_noiseFreqStart

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_noiseFreqStart
protectedinherited

◆ m_noiseFreqStop

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_noiseFreqStop
protectedinherited

◆ m_noiseMeas

wxComboBox* DIALOG_SIM_SETTINGS_BASE::m_noiseMeas
protectedinherited

◆ m_noisePointsNumber

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_noisePointsNumber
protectedinherited

◆ m_noiseRef

wxComboBox* DIALOG_SIM_SETTINGS_BASE::m_noiseRef
protectedinherited

◆ m_noiseScale

wxRadioBox* DIALOG_SIM_SETTINGS_BASE::m_noiseScale
protectedinherited

◆ m_noiseSrc

wxComboBox* DIALOG_SIM_SETTINGS_BASE::m_noiseSrc
protectedinherited

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

◆ m_pgAC

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgAC
protectedinherited

◆ m_pgCustom

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgCustom
protectedinherited

◆ m_pgDC

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgDC
protectedinherited

◆ m_pgDistortion

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgDistortion
protectedinherited

◆ m_pgNoise

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgNoise
protectedinherited

◆ m_pgOP

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgOP
protectedinherited

◆ m_pgPoleZero

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgPoleZero
protectedinherited

◆ m_pgSensitivity

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgSensitivity
protectedinherited

◆ m_pgTransferFunction

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgTransferFunction
protectedinherited

◆ m_pgTransient

wxPanel* DIALOG_SIM_SETTINGS_BASE::m_pgTransient
protectedinherited

◆ m_posIntValidator

wxIntegerValidator<int> DIALOG_SIM_SETTINGS::m_posIntValidator
private

Definition at line 188 of file dialog_sim_settings.h.

Referenced by DIALOG_SIM_SETTINGS().

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 211 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 213 of file dialog_shim.h.

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

◆ m_sdbSizer

wxStdDialogButtonSizer* DIALOG_SIM_SETTINGS_BASE::m_sdbSizer
protectedinherited

◆ m_sdbSizerCancel

wxButton* DIALOG_SIM_SETTINGS_BASE::m_sdbSizerCancel
protectedinherited

◆ m_sdbSizerOK

wxButton* DIALOG_SIM_SETTINGS_BASE::m_sdbSizerOK
protectedinherited

◆ m_settings

std::shared_ptr<SPICE_SIMULATOR_SETTINGS> DIALOG_SIM_SETTINGS::m_settings
private

Definition at line 185 of file dialog_sim_settings.h.

Referenced by TransferDataFromWindow(), and TransferDataToWindow().

◆ m_simCommand

wxString DIALOG_SIM_SETTINGS::m_simCommand
private

◆ m_simPages

wxNotebook* DIALOG_SIM_SETTINGS_BASE::m_simPages
protectedinherited

◆ m_spiceEmptyValidator

SPICE_VALIDATOR DIALOG_SIM_SETTINGS::m_spiceEmptyValidator
private

Definition at line 187 of file dialog_sim_settings.h.

Referenced by DIALOG_SIM_SETTINGS().

◆ m_spiceValidator

SPICE_VALIDATOR DIALOG_SIM_SETTINGS::m_spiceValidator
private

Definition at line 186 of file dialog_sim_settings.h.

Referenced by DIALOG_SIM_SETTINGS().

◆ m_src1DCEndValUnit

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_src1DCEndValUnit
protectedinherited

◆ m_src1DCStartValUnit

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_src1DCStartValUnit
protectedinherited

◆ m_src1DCStepUnit

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_src1DCStepUnit
protectedinherited

◆ m_src2DCEndValUnit

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_src2DCEndValUnit
protectedinherited

◆ m_src2DCStartValUnit

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_src2DCStartValUnit
protectedinherited

◆ m_src2DCStepUnit

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_src2DCStepUnit
protectedinherited

◆ m_staticline1

wxStaticLine* DIALOG_SIM_SETTINGS_BASE::m_staticline1
protectedinherited

◆ m_staticText1

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText1
protectedinherited

◆ m_staticText11

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText11
protectedinherited

◆ m_staticText110

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText110
protectedinherited

◆ m_staticText13

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText13
protectedinherited

◆ m_staticText14

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText14
protectedinherited

◆ m_staticText15

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText15
protectedinherited

◆ m_staticText151

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText151
protectedinherited

◆ m_staticText1511

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText1511
protectedinherited

◆ m_staticText1512

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText1512
protectedinherited

◆ m_staticText1513

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText1513
protectedinherited

◆ m_staticText16

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText16
protectedinherited

◆ m_staticText161

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText161
protectedinherited

◆ m_staticText17

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText17
protectedinherited

◆ m_staticText18

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText18
protectedinherited

◆ m_staticText19

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText19
protectedinherited

◆ m_staticText2

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText2
protectedinherited

◆ m_staticText21

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText21
protectedinherited

◆ m_staticText23

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText23
protectedinherited

◆ m_staticText24

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText24
protectedinherited

◆ m_staticText3

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText3
protectedinherited

◆ m_staticText31

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText31
protectedinherited

◆ m_staticText4

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText4
protectedinherited

◆ m_staticText41

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText41
protectedinherited

◆ m_staticText411

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText411
protectedinherited

◆ m_staticText5

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText5
protectedinherited

◆ m_staticText6

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText6
protectedinherited

◆ m_staticText7

wxStaticText* DIALOG_SIM_SETTINGS_BASE::m_staticText7
protectedinherited

◆ m_swapDCSources

wxButton* DIALOG_SIM_SETTINGS_BASE::m_swapDCSources
protectedinherited

◆ m_tabOrder

◆ m_transFinal

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_transFinal
protectedinherited

◆ m_transInitial

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_transInitial
protectedinherited

◆ m_transStep

wxTextCtrl* DIALOG_SIM_SETTINGS_BASE::m_transStep
protectedinherited

◆ m_units

◆ m_useCalculatedSize

bool DIALOG_SHIM::m_useCalculatedSize
protectedinherited

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