/** * @file UnitSelector.cpp * a wxChoiceBox to select units in Pcb_Calculator */ #include "UnitSelector.h" #include "units_scales.h" UNIT_SELECTOR_LEN::UNIT_SELECTOR_LEN(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, const wxArrayString& choices, long style ) : UNIT_SELECTOR( parent, id, pos, size, choices, style ) { Append( _("mm") ); Append( _("um") ); Append( _("cm") ); Append( _("mil") ); Append( _("inch") ); }; /* * Function GetUnitScale * return the scaling factor to convert users units * to normalized units (meter ) */ double UNIT_SELECTOR_LEN::GetUnitScale() { switch( GetCurrentSelection() ) { case 0: return UNIT_MM; break; case 1: return UNIT_MICRON; break; case 2: return UNIT_CM; break; case 3: return UNIT_MIL; break; case 4: return UNIT_INCH; break; } return 1.0; } UNIT_SELECTOR_FREQUENCY::UNIT_SELECTOR_FREQUENCY(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, const wxArrayString& choices, long style ) : UNIT_SELECTOR( parent, id, pos, size, choices, style ) { Append( _("GHz") ); Append( _("MHz") ); Append( _("KHz") ); Append( _("Hz") ); }; /* * Function GetUnitScale * return the scaling factor to convert users units * to normalized units (herz ) */ double UNIT_SELECTOR_FREQUENCY::GetUnitScale() { switch( GetCurrentSelection() ) { case 0: return UNIT_GHZ; break; case 1: return UNIT_MHZ; break; case 2: return UNIT_KHZ; break; case 3: return 1.0; break; } return 1.0; } UNIT_SELECTOR_ANGLE::UNIT_SELECTOR_ANGLE(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, const wxArrayString& choices, long style ) : UNIT_SELECTOR( parent, id, pos, size, choices, style ) { Append( _("Radian") ); Append( _("Degree") ); }; /* * Function GetUnitScale * return the scaling factor to convert users units * to normalized units ( radian ) */ double UNIT_SELECTOR_ANGLE::GetUnitScale() { switch( GetCurrentSelection() ) { case 0: return UNIT_RADIAN; break; case 1: return UNIT_DEGREE; break; } return 1.0; } UNIT_SELECTOR_RESISTOR::UNIT_SELECTOR_RESISTOR(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, const wxArrayString& choices, long style ) : UNIT_SELECTOR( parent, id, pos, size, choices, style ) { Append( _("Ohm") ); Append( _("KOhm") ); }; /* * Function GetUnitScale * return the scaling factor to convert users units * to normalized units ( ohm ) */ double UNIT_SELECTOR_RESISTOR::GetUnitScale() { switch( GetCurrentSelection() ) { case 0: return UNIT_OHM; break; case 1: return UNIT_KOHM; break; } return 1.0; }