public void VariablePoint_Rev6_CustomDigital() { var list = new List <byte>(); list.AddRange("TEST CUS UNITS\0\0\0\0\0\0\0TESTCUS\0\0".ToBytes()); list.AddRange(2000.ToBytes()); //Value list.Add(0); //AutoManual list.Add(0); //DigitalAnalog list.Add(1); //Control list.Add(2); //Unused list.Add(23); //Unit var actual = list.ToArray(); var customUnits = new CustomUnits(); customUnits.Digital.Add(new CustomDigitalUnitsPoint(false, "TEST1", "TEST2")); var expected = new VariablePoint("TEST CUS UNITS", "TESTCUS"); expected.Value = new VariableValue("TEST2", Unit.CustomDigital1, customUnits, 2000); expected.AutoManual = AutoManual.Automatic; expected.DigitalAnalog = DigitalAnalog.Digital; expected.Control = OffOn.On; BaseTest(actual, expected, FileVersion.Rev6, customUnits); }
public InputsForm(List <InputPoint> points, CustomUnits customUnits = null) { if (points == null) { throw new ArgumentNullException(nameof(points)); } Points = points; CustomUnits = customUnits; InitializeComponent(); //User input view.AddEditHandler(AutoManualColumn, TViewUtilities.EditEnum <AutoManual>); view.AddEditAction(ValueColumn, TViewUtilities.EditValue, UnitColumn, RangeColumn, CustomUnits); view.AddEditAction(UnitColumn, TViewUtilities.EditUnitsColumn, ValueColumn, UnitColumn, RangeColumn, CustomUnits, new Func <Unit, bool>(unit => unit.IsInputAnalog()), RangeTextColumn); view.AddEditHandler(SignColumn, TViewUtilities.EditEnum <Sign>); view.AddEditHandler(StatusColumn, TViewUtilities.EditEnum <InputStatus>); view.AddEditHandler(JumperColumn, TViewUtilities.EditEnum <Jumper>); //Formating view.AddFormating(SignColumn, o => ((Sign)o).GetName()); view.AddFormating(JumperColumn, o => ((Jumper)o).GetName()); view.AddFormating(UnitColumn, o => ((Unit)o).GetUnitName(CustomUnits)); view.AddFormating(RangeTextColumn, o => ((Unit)o).GetRange(CustomUnits)); //Show points view.Rows.Clear(); view.Rows.Add(Points.Count); for (var i = 0; i < Points.Count; ++i) { var point = Points[i]; var row = view.Rows[i]; row.SetValue(InputColumn, $"IN{i + 1}"); row.SetValue(PanelColumn, "?"); SetRow(row, point); } //Value changed handles view.AddChangedHandler(UnitColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); view.AddChangedHandler(ValueColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); //Validation view.AddValidation(DescriptionColumn, TViewUtilities.ValidateString, 21); view.AddValidation(LabelColumn, TViewUtilities.ValidateString, 9); view.AddValidation(ValueColumn, TViewUtilities.ValidateValue, ValueColumn, UnitColumn, CustomUnits); view.AddValidation(UnitColumn, TViewUtilities.ValidateValue, ValueColumn, UnitColumn, CustomUnits); view.AddValidation(CalibrationColumn, TViewUtilities.ValidateDouble); view.AddValidation(FilterColumn, TViewUtilities.ValidateInteger); view.Validate(); }
public VariablesForm(List <VariablePoint> points, CustomUnits customUnits = null) { if (points == null) { throw new ArgumentNullException(nameof(points)); } Points = points; CustomUnits = customUnits; InitializeComponent(); //User input handles view.AddEditHandler(AutoManualColumn, TViewUtilities.EditEnum <AutoManual>); view.AddEditAction(ValueColumn, TViewUtilities.EditValue, UnitColumn, RangeColumn, CustomUnits); view.AddEditAction(UnitColumn, TViewUtilities.EditUnitsColumn, ValueColumn, UnitColumn, RangeColumn, CustomUnits, new Func <Unit, bool>(unit => unit.IsVariableAnalog())); view.AddEditHandler(StatusColumn, TViewUtilities.EditEnum <OffOn>); //Value changed handles view.AddChangedHandler(StatusColumn, TViewUtilities.ChangeColor, Color.Red, Color.Blue); //Formating view.AddFormating(UnitColumn, o => ((Unit)o).GetOffOnName(CustomUnits)); //Show points view.Rows.Clear(); view.Rows.Add(Points.Count); for (var i = 0; i < Points.Count; ++i) { var point = Points[i]; var row = view.Rows[i]; //Read only row.SetValue(NumberColumn, $"VAR{i + 1}"); SetRow(row, point); } //Value changed handles view.AddChangedHandler(UnitColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); view.AddChangedHandler(ValueColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); //Validation view.AddValidation(DescriptionColumn, TViewUtilities.ValidateString, 21); view.AddValidation(LabelColumn, TViewUtilities.ValidateString, 9); view.AddValidation(ValueColumn, TViewUtilities.ValidateValue, ValueColumn, UnitColumn, CustomUnits); view.AddValidation(UnitColumn, TViewUtilities.ValidateValue, ValueColumn, UnitColumn, CustomUnits); view.Validate(); Vars = view; }
public static VariableValue GetVariableValue(DataGridViewRow row, DataGridViewColumn value, DataGridViewColumn units, DataGridViewColumn range, CustomUnits customUnits) => new VariableValue( row.GetValue <string>(value), row.GetValue <Unit>(units), customUnits, row.GetValue <int>(range));
public void VariableVariantToFromTest(VariableValue value, CustomUnits customUnits) { var tempValue = new VariableValue(value.ToString(), value.Unit, customUnits, value.MaxRange); ObjectAssert.AreEqual(value, tempValue, $@"Variable value toFrom string test failed. Value.ToString(): {value.ToString()} Value.ToFromToString(): {tempValue.ToString()} "); }
public SelectUnitsForm( Unit selectedUnit = Unit.Unused, CustomUnits customUnits = null, Func <Unit, bool> analogPredicate = null) { InitializeComponent(); SelectedUnit = selectedUnit; CustomUnits = customUnits; AnalogPredicate = analogPredicate; UpdateUnits(); }
public ControllersForm(List <ControllerPoint> points, CustomUnits customUnits = null) { if (points == null) { throw new ArgumentNullException(nameof(points)); } Points = points; CustomUnits = customUnits; InitializeComponent(); //User input handles view.AddEditHandler(AutoManualColumn, TViewUtilities.EditEnum <AutoManual>); view.AddEditHandler(ActionColumn, TViewUtilities.EditEnum <DirectReverse>); view.AddEditHandler(TimeColumn, TViewUtilities.EditEnum <Periodicity>); //Cell changed handles view.AddChangedHandler(UnitsColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); view.AddChangedHandler(ValueColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); //Formating view.AddFormating(ActionColumn, o => ((DirectReverse)o).GetName()); //Show points view.Rows.Clear(); view.Rows.Add(Points.Count); for (var i = 0; i < Points.Count; ++i) { var point = Points[i]; var row = view.Rows[i]; row.SetValue(NumberColumn, $"{i + 1}"); SetRow(row, point); } //Validation view.Validate(); }
public EditCustomUnitsForm(CustomUnits customUnits) { InitializeComponent(); CustomUnits = customUnits; //User input handles digitalView.AddEditHandler(DirectColumn, TViewUtilities.EditBoolean); digitalView.Rows.Clear(); digitalView.Rows.Add(CustomUnits.Digital.Count); for (var i = 0; i < CustomUnits.Digital.Count; ++i) { var point = CustomUnits.Digital[i]; var row = digitalView.Rows[i]; row.SetValue(NumberColumn, $"{i + 1}"); row.SetValue(OffNameColumn, point.DigitalUnitsOff); row.SetValue(OnNameColumn, point.DigitalUnitsOn); row.SetValue(DirectColumn, point.Direct); } //Validation digitalView.AddValidation(OffNameColumn, TViewUtilities.ValidateString, 12); digitalView.AddValidation(OnNameColumn, TViewUtilities.ValidateString, 12); digitalView.Validate(); analogView.Rows.Clear(); analogView.Rows.Add(CustomUnits.Analog.Count); for (var i = 0; i < CustomUnits.Analog.Count; ++i) { var point = CustomUnits.Analog[i]; var row = analogView.Rows[i]; row.SetValue(AnalogNumberColumn, $"{i + 1}"); row.SetValue(NameColumn, point.Name); } //Validation analogView.AddValidation(NameColumn, TViewUtilities.ValidateString, 20); analogView.Validate(); }
public void BaseTest(byte[] actualBytes, VariablePoint expected, FileVersion version, CustomUnits customUnits = null) { var actual = new VariablePoint(actualBytes, 0, version); actual.Value.CustomUnits = customUnits; BytesAssert.AreEqual(actual.ToBytes(), expected.ToBytes()); BytesAssert.AreEqual(actualBytes, expected.ToBytes()); ObjectAssert.AreEqual(actual, expected); }
public OutputsForm(List <OutputPoint> points, CustomUnits customUnits = null) { if (points == null) { throw new ArgumentNullException(nameof(points)); } Points = points; CustomUnits = customUnits; InitializeComponent(); //User input handles view.AddEditHandler(AutoManualColumn, TViewUtilities.EditEnum <AutoManual>); view.AddEditHandler(HOASwitchColumn, TViewUtilities.EditEnum <SwitchStatus>); view.AddEditAction(ValueColumn, TViewUtilities.EditValue, UnitColumn, RangeColumn, CustomUnits); view.AddEditAction(UnitColumn, TViewUtilities.EditUnitsColumn, ValueColumn, UnitColumn, RangeColumn, CustomUnits, new Func <Unit, bool>(unit => unit.IsOutputAnalog()), RangeTextColumn); view.AddEditHandler(StatusColumn, TViewUtilities.EditEnum <OffOn>); //Value changed handles view.AddChangedHandler(StatusColumn, TViewUtilities.ChangeColor, Color.Red, Color.Blue); //Formating view.AddFormating(UnitColumn, o => ((Unit)o).GetUnitName(CustomUnits)); view.AddFormating(RangeTextColumn, o => ((Unit)o).GetRange(CustomUnits)); //Show points view.Rows.Clear(); view.Rows.Add(Points.Count); for (var i = 0; i < Points.Count; ++i) { var point = Points[i]; var row = view.Rows[i]; row.SetValue(OutputColumn, $"OUT{i + 1}"); row.SetValue(PanelColumn, "?"); SetRow(row, point); } //Value changed handles view.AddChangedHandler(UnitColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); view.AddChangedHandler(ValueColumn, TViewUtilities.ChangeValue, AutoManualColumn, AutoManual.Manual); //Validation view.AddValidation(DescriptionColumn, TViewUtilities.ValidateString, 21); view.AddValidation(LabelColumn, TViewUtilities.ValidateString, 9); view.AddValidation(ValueColumn, TViewUtilities.ValidateValue, ValueColumn, UnitColumn, CustomUnits); view.AddValidation(UnitColumn, TViewUtilities.ValidateValue, ValueColumn, UnitColumn, CustomUnits); view.AddValidation(LowVColumn, TViewUtilities.ValidateInteger); view.AddValidation(HighVColumn, TViewUtilities.ValidateInteger); view.AddValidation(PWMPeriodColumn, TViewUtilities.ValidateInteger); view.Validate(); }