KiCad PCB EDA Suite
|
#include <units_provider.h>
Public Member Functions | |
UNITS_PROVIDER (const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits) | |
virtual | ~UNITS_PROVIDER () |
EDA_UNITS | GetUserUnits () const |
void | SetUserUnits (EDA_UNITS aUnits) |
virtual void | GetUnitPair (EDA_UNITS &aPrimaryUnit, EDA_UNITS &aSecondaryUnits) |
const EDA_IU_SCALE & | GetIuScale () const |
virtual ORIGIN_TRANSFORMS & | GetOriginTransforms () |
wxString | StringFromValue (double aValue, bool aAddUnitLabel=false, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const |
Converts aValue in internal units into a united string. More... | |
wxString | StringFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=false) const |
wxString | MessageTextFromValue (double aValue, bool aAddUnitLabel=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const |
A lower-precision version of StringFromValue(). More... | |
wxString | MessageTextFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=true) const |
wxString | MessageTextFromMinOptMax (const MINOPTMAX< int > &aValue) const |
int | ValueFromString (const wxString &aTextValue, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const |
Converts aTextValue in aUnits to internal units used by the frame. More... | |
EDA_ANGLE | AngleValueFromString (const wxString &aTextValue) const |
Private Attributes | |
const EDA_IU_SCALE & | m_iuScale |
EDA_UNITS | m_userUnits |
Definition at line 32 of file units_provider.h.
|
inline |
Definition at line 35 of file units_provider.h.
|
inlinevirtual |
Definition at line 40 of file units_provider.h.
|
inline |
Definition at line 138 of file units_provider.h.
References DEGREES_T, EDA_UNIT_UTILS::UI::DoubleValueFromString(), and GetIuScale().
Referenced by FP_TEXT_GRID_TABLE::SetValue().
|
inline |
Definition at line 57 of file units_provider.h.
References m_iuScale.
Referenced by AngleValueFromString(), GRID_MENU::BuildChoiceList(), PGPROPERTY_DISTANCE::DistanceToString(), RC_ITEM::GetJsonViolation(), MessageTextFromMinOptMax(), MessageTextFromValue(), UNIT_BINDER::onUnitsChanged(), PANEL_GRID_SETTINGS::RebuildGridSizes(), COMMON_TOOLS::Reset(), StringFromValue(), DIALOG_GRID_SETTINGS::TransferDataFromWindow(), GRID::UserUnitsMessageText(), and ValueFromString().
|
inlinevirtual |
Reimplemented in EDA_BASE_FRAME, and PCB_BASE_FRAME.
Definition at line 60 of file units_provider.h.
|
inlinevirtual |
Reimplemented in EDA_DRAW_FRAME.
Definition at line 46 of file units_provider.h.
References GetUserUnits(), and EDA_UNIT_UTILS::IsImperialUnit().
Referenced by PANEL_GRID_SETTINGS::RebuildGridSizes().
|
inline |
Definition at line 43 of file units_provider.h.
References m_userUnits.
Referenced by DIALOG_BOOK_REPORTER::AddHTMLPage(), PANEL_SYMBOL_CHOOSER::constructRightPanel(), PG_UNIT_EDITOR::CreateControls(), PCB::IFACE::CreateKiWindow(), DIALOG_SHIM::DIALOG_SHIM(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), PL_EDITOR_FRAME::DisplayGridMsg(), EDA_DRAW_FRAME::DisplayUnitsMsg(), PGPROPERTY_DISTANCE::DistanceToString(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawSpecificationStackup(), EVT_GRID_CMD_CELL_CHANGED(), FOOTPRINT_PREVIEW_PANEL::FOOTPRINT_PREVIEW_PANEL(), FP_TEXT_GRID_TABLE::FP_TEXT_GRID_TABLE(), RC_ITEM::GetJsonViolation(), GERBER_DRAW_ITEM::GetMsgPanelInfo(), GetUnitPair(), EDA_DRAW_FRAME::GetUnitPair(), WX_GRID::GetUnitValue(), GetUserUnits(), UNIT_BINDER::init(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), MessageTextFromMinOptMax(), MessageTextFromValue(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), PANEL_SETUP_BOARD_STACKUP::onExportToClipboard(), DIALOG_NET_INSPECTOR::onReport(), DIALOG_ERC::OnSaveReport(), PANEL_PREVIEW_3D_MODEL::onUnitsChanged(), PANEL_SETUP_NETCLASSES::onUnitsChanged(), UNIT_BINDER::onUnitsChanged(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), DIALOG_GENERATORS::onUnitsChanged(), DIALOG_NET_INSPECTOR::onUnitsChanged(), PANEL_FOOTPRINT_CHOOSER::PANEL_FOOTPRINT_CHOOSER(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PG_UNIT_EDITOR::PG_UNIT_EDITOR(), PIN_TABLE_DATA_MODEL::PIN_TABLE_DATA_MODEL(), POSITION_RELATIVE_TOOL::PositionRelative(), DRC_TOOL::RunTests(), EDA_DRAW_FRAME::SaveSettings(), PCB_BASE_FRAME::SetBoard(), WX_GRID::SetUnitsProvider(), PIN_TABLE_DATA_MODEL::SetValue(), FP_TEXT_GRID_TABLE::SetValue(), GERBVIEW_INSPECTION_TOOL::ShowDCodes(), StringFromValue(), COMMON_TOOLS::ToggleUnits(), EDA_DRAW_FRAME::ToggleUserUnits(), PCB_BASE_FRAME::unitsChangeRefresh(), EDITOR_CONDITIONS::unitsFunc(), GERBVIEW_FRAME::updateDCodeSelectBox(), PG_UNIT_EDITOR::UpdateFrame(), PL_EDITOR_FRAME::UpdateStatusBar(), DRC_TOOL::userUnits(), GRID::UserUnitsMessageText(), and ValueFromString().
|
inline |
Definition at line 115 of file units_provider.h.
References GetIuScale(), GetUserUnits(), and EDA_UNIT_UTILS::UI::MessageTextFromMinOptMax().
Referenced by PCB_TUNING_PATTERN::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), and PCB_CONTROL::UpdateMessagePanel().
|
inline |
Definition at line 108 of file units_provider.h.
References EDA_ANGLE::AsDegrees(), EDA_UNIT_UTILS::UI::MessageTextFromValue(), and unityScale.
|
inline |
A lower-precision version of StringFromValue().
Should ONLY be used for status text and messages. Not suitable for dialogs, files, etc. where the loss of precision matters.
Definition at line 101 of file units_provider.h.
References GetIuScale(), GetUserUnits(), and EDA_UNIT_UTILS::UI::MessageTextFromValue().
Referenced by CheckLibSymbol(), CheckLibSymbolGraphics(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DIALOG_BOARD_REANNOTATE::CoordTowxString(), GERBVIEW_FRAME::DisplayGridMsg(), GERBER_FILE_IMAGE::DisplayImageInfo(), DRAWING_TOOL::DrawBoardCharacteristics(), DRC_ENGINE::EvalRules(), DIALOG_NET_INSPECTOR::formatLength(), DRC_TEST_PROVIDER::formatMsg(), LIB_SHAPE::GetItemDescription(), SCH_LINE::GetItemDescription(), SCH_SHAPE::GetItemDescription(), DS_DRAW_ITEM_LINE::GetItemDescription(), DS_DRAW_ITEM_RECT::GetItemDescription(), PCB_TRACK::GetItemDescription(), LIB_FIELD::GetMsgPanelInfo(), LIB_PIN::GetMsgPanelInfo(), LIB_TEXT::GetMsgPanelInfo(), LIB_TEXTBOX::GetMsgPanelInfo(), SCH_BITMAP::GetMsgPanelInfo(), SCH_FIELD::GetMsgPanelInfo(), SCH_JUNCTION::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_PIN::GetMsgPanelInfo(), SCH_TEXT::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), DS_DRAW_ITEM_BASE::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_ALIGNED::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_REFERENCE_IMAGE::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), STROKE_PARAMS::GetMsgPanelInfo(), GetNetNavigatorItemText(), SYMBOL_SEARCH_HANDLER::getResultCell(), TEXT_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), DIALOG_BOARD_REANNOTATE::MakeSampleText(), PCB_BASE_FRAME::MessageTextFromCoord(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DIALOG_BOARD_STATISTICS::saveReportClicked(), TUNING_STATUS_VIEW_ITEM::SetCurrent(), TUNING_STATUS_VIEW_ITEM::SetMinMax(), EDA_SHAPE::ShapeGetMsgPanelInfo(), showCoord(), TRACK_WIDTH_MENU::update(), DIFF_PAIR_MENU::update(), VIA_SIZE_MENU::update(), PCB_TUNING_PATTERN::Update(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), DIALOG_BOARD_STATISTICS::updateDrillGrid(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_FRAME::UpdateMsgPanelInfo(), SCH_BASE_FRAME::UpdateStatusBar(), GERBVIEW_FRAME::UpdateStatusBar(), PCB_BASE_FRAME::UpdateStatusBar(), and DIALOG_BOARD_STATISTICS::updateWidets().
|
inline |
Definition at line 44 of file units_provider.h.
References m_userUnits.
Referenced by EDA_BASE_FRAME::ChangeUserUnits(), PCB::IFACE::CreateKiWindow(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_ALIGNED::GetMsgPanelInfo(), EDA_DRAW_FRAME::LoadSettings(), DRC_TEST_PROVIDER::RunTests(), DRC_ENGINE::RunTests(), and EDA_DRAW_FRAME::ToggleUserUnits().
|
inline |
Definition at line 88 of file units_provider.h.
References EDA_ANGLE::AsDegrees(), EDA_UNIT_UTILS::UI::StringFromValue(), and unityScale.
|
inline |
Converts aValue in internal units into a united string.
For readability, trailing 0s are removed if the mantissa has 3 or more digits. This function should be used to display values in dialogs because a value entered in mm (for instance 2.0 mm) could need up to 8 digits mantissa if displayed in inch to avoid truncation or rounding made just by the printf function.
aValue | = value in internal units |
aAddUnitLabel | = true to add symbol unit to the string value |
aType | is the type of this value, and controls the way the value is converted to a string, and the suitable unit |
Definition at line 81 of file units_provider.h.
References GetIuScale(), GetUserUnits(), and EDA_UNIT_UTILS::UI::StringFromValue().
Referenced by DIALOG_PLOT::applyPlotSettings(), PANEL_SETUP_BOARD_STACKUP::computeBoardThickness(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DRAWING_TOOL::DrawSpecificationStackup(), VALIDATION_ERROR_TOO_LARGE< T >::Format(), VALIDATION_ERROR_TOO_SMALL< T >::Format(), DRC_TEST_PROVIDER::formatMsg(), PIN_TABLE_DATA_MODEL::GetValue(), FP_TEXT_GRID_TABLE::GetValue(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), PANEL_SETUP_BOARD_STACKUP::lazyBuildRowUI(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), reportMax(), reportMin(), reportOpt(), PANEL_SETUP_BOARD_STACKUP::setDefaultLayerWidths(), WX_GRID::SetUnitValue(), PANEL_SETUP_BOARD_STACKUP::synchronizeWithBoard(), PANEL_SETUP_CONSTRAINTS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::Validate(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::Validate().
|
inline |
Converts aTextValue in aUnits to internal units used by the frame.
aType | is the type of this value, and controls the way the string is converted to a value |
aTextValue | A reference to a wxString object containing the string to convert. |
Definition at line 129 of file units_provider.h.
References EDA_UNIT_UTILS::UI::DoubleValueFromString(), GetIuScale(), and GetUserUnits().
Referenced by PIN_TABLE_DATA_MODEL::compare(), PANEL_SETUP_BOARD_STACKUP::computeBoardThickness(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), WX_GRID::GetUnitValue(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), PANEL_SETUP_BOARD_STACKUP::onCopperLayersSelCount(), PANEL_SETUP_TRACKS_AND_VIAS::OnSortDiffPairsClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnSortTrackWidthsClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnSortViaSizesClick(), PANEL_SETUP_BOARD_STACKUP::onThicknessChange(), PANEL_SETUP_BOARD_STACKUP::setDefaultLayerWidths(), PIN_TABLE_DATA_MODEL::SetValue(), FP_TEXT_GRID_TABLE::SetValue(), PANEL_SETUP_BOARD_STACKUP::transferDataFromUIToStackup(), and DIALOG_FOOTPRINT_PROPERTIES::Validate().
|
private |
Definition at line 147 of file units_provider.h.
Referenced by GetIuScale().
|
private |
Definition at line 148 of file units_provider.h.
Referenced by GetUserUnits(), and SetUserUnits().