24#include <wx/choicdlg.h>
27#include <wx/dcclient.h>
29#define SPEED_LIGHT 299792458
32 const wxSize& size,
long style,
const wxString&
name ) :
37 int minWidth =
m_speedCtrl->GetTextExtent( wxT(
"1.234567890E+99" ) ).x;
98 value = wxString(
"" ) << 1 / aFrequency /
m_periodUnit->GetUnitScale();
144 if( input.ToDouble( &value ) )
165 if( input.ToDouble( &value ) )
185 if( input.ToDouble( &value ) )
207 if( input.ToDouble( &value ) )
223 if( input.ToDouble( &value ) )
238 if( input.ToDouble( &value ) )
256 findMatch( list, prevChoiceStr, prevChoice );
258 int index = wxGetSingleChoiceIndex( wxEmptyString,
_(
"Relative Dielectric Constants" ), list,
261 if( index >= 0 && !list.Item( index ).IsEmpty() )
UNIT_SELECTOR_FREQUENCY * m_frequencyUnit
UNIT_SELECTOR_TIME * m_periodUnit
wxTextCtrl * m_wavelengthMediumCtrl
wxTextCtrl * m_periodCtrl
PANEL_WAVELENGTH_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(538, 453), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxTextCtrl * m_wavelengthVacuumCtrl
UNIT_SELECTOR_LEN_CABLE * m_wavelengthVacuumUnit
wxTextCtrl * m_frequencyCtrl
wxTextCtrl * m_permeabilityCtrl
wxTextCtrl * m_permittivityCtrl
UNIT_SELECTOR_LEN_CABLE * m_wavelengthMediumUnit
UNIT_SELECTOR_SPEED * m_speedUnit
void LoadSettings(PCB_CALCULATOR_SETTINGS *aCfg) override
Load the settings into the panel.
bool m_updatingWavelengthVacuum
void OnPermittivityChange(wxCommandEvent &event) override
bool m_updatingWavelengthMedium
void updateUnits(wxCommandEvent &aEvent) override
void OnFrequencyChange(wxCommandEvent &event) override
void OnButtonPermittivity(wxCommandEvent &event) override
void OnPeriodChange(wxCommandEvent &event) override
void OnPermeabilityChange(wxCommandEvent &event) override
void OnWavelengthVacuumChange(wxCommandEvent &event) override
void OnWavelengthMediumChange(wxCommandEvent &event) override
PANEL_WAVELENGTH(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
void SaveSettings(PCB_CALCULATOR_SETTINGS *aCfg) override
Save the settings from the panel.
void update(double aFrequency)
wxArrayString StandardRelativeDielectricConstantList()
const int minSize
Push and Shove router track width and via size dialog.
bool findMatch(wxArrayString &aList, const wxString &aValue, int &aIdx)