void RowFormWidget::AddReadOnly(const TCHAR *label, const TCHAR *help, const TCHAR *display_format, UnitGroup unit_group, fixed value) { WndProperty *edit = Add(label, help, true); const Unit unit = Units::GetUserUnitByGroup(unit_group); value = Units::ToUserUnit(value, unit); DataFieldFloat *df = new DataFieldFloat(display_format, display_format, fixed(0), fixed(0), value, fixed(1), false, NULL); df->SetUnits(Units::GetUnitName(unit)); edit->SetDataField(df); }
void LoadFormProperty(WndForm &form, const TCHAR *control_name, UnitGroup_t unit_group, fixed value) { assert(control_name != NULL); WndProperty *ctl = (WndProperty *)form.FindByName(control_name); if (ctl == NULL) return; Units_t unit = Units::GetUserUnitByGroup(unit_group); DataFieldFloat *df = (DataFieldFloat *)ctl->GetDataField(); df->SetUnits(Units::GetUnitName(unit)); df->SetAsFloat(Units::ToUserUnit(value, unit)); ctl->RefreshDisplay(); }
WndProperty * RowFormWidget::AddFloat(const TCHAR *label, const TCHAR *help, const TCHAR *display_format, const TCHAR *edit_format, fixed min_value, fixed max_value, fixed step, bool fine, UnitGroup unit_group, fixed value, DataField::DataAccessCallback callback) { WndProperty *edit = Add(label, help); const Unit unit = Units::GetUserUnitByGroup(unit_group); value = Units::ToUserUnit(value, unit); DataFieldFloat *df = new DataFieldFloat(edit_format, display_format, min_value, max_value, value, step, fine, callback); df->SetUnits(Units::GetUnitName(unit)); edit->SetDataField(df); return edit; }