//protected override void CreateCodeFromAction(ArcMoveAction programAction, ref StringBuilder code) //{ // code.AppendLine(); // SetMoveType(programAction.MoveType, ref code); // var codeX = "X"; // var codeY = "Y"; // if (G112Activated) // { // codeY = "C"; // } // if (programAction.X.HasValue) // code.Append(codeX + FormatCoordinate(programAction.X.Value)); // if (programAction.Y.HasValue) // code.Append(codeY + FormatCoordinate(programAction.Y.Value)); // if (programAction.Z.HasValue) // code.Append("Z" + FormatCoordinate(programAction.Z.Value)); // code.Append("R" + FormatCoordinate(programAction.Radius)); // if (programAction.Feed != CurrentFeed) // SetFeed(programAction.Feed, ref code); //} //protected override void CreateCodeFromAction(LinearMoveAction programAction, ref StringBuilder code) //{ // code.AppendLine(); // SetMoveType(programAction.MoveType, ref code); // var codeX = "X"; // var codeY = "Y"; // if (G112Activated) // { // codeY = "C"; // } // if (programAction.X.HasValue) // code.Append(codeX + FormatCoordinate(programAction.X.Value)); // if (programAction.Y.HasValue) // code.Append(codeY + FormatCoordinate(programAction.Y.Value)); // if (programAction.Z.HasValue) // code.Append("Z" + FormatCoordinate(programAction.Z.Value)); // if (programAction.Feed != CurrentFeed) // SetFeed(programAction.Feed, ref code); //} private void WriteToolParameter(double speed, SpindleRotation spindleRotation, ref StringBuilder code) { //var speedCode = PostProcessor.GetSpeedCode(speed); var speedFormated = FormatSpeed(speed); var speedCode = NumericControl.GetSpeedCode(speedFormated); string spindleRotationCode; switch (spindleRotation) { case SpindleRotation.Cw: { spindleRotationCode = NumericControl.CmdRotaryToolCw; } break; case SpindleRotation.Ccw: default: { spindleRotationCode = NumericControl.CmdRotaryToolCcw; } break; } code.AppendLine(speedCode + spindleRotationCode); }
public CylinderBrush() { _numSides = new NumericControl(this) { LabelText = "Number of sides" }; }
public Task OnInitialise() { _numSides = new NumericControl(this) { LabelText = NumberOfSides }; return(Task.CompletedTask); }
public PipeBrush() { _numSides = new NumericControl(this) { LabelText = "Number of sides" }; _wallWidth = new NumericControl(this) { LabelText = "Wall width", Minimum = 1, Maximum = 1024, Value = 32, Precision = 1 }; }
public async Task OnInitialise() { _numSides = new NumericControl(this) { LabelText = NumberOfSides }; _wallWidth = new NumericControl(this) { LabelText = WallWidth, Minimum = 1, Maximum = 1024, Value = 32, Precision = 1 }; }
public TextBrush() { _fontChooser = new FontChooserControl(this); _flattenFactor = new NumericControl(this) { LabelText = "Aliasing Factor", Minimum = 0.1m, Maximum = 10m, Value = 1, Precision = 1, Increment = 0.1m }; _text = new TextControl(this) { EnteredText = "Enter text here" }; }
public CompetitionOptionsDisplay(ControllerSkeleton red, ControllerSkeleton blue) { this.red = red; this.blue = blue; layout = new VerticalLayout(VerticalLayout.VerticalAlign.Center); roundsNumberControl = new NumericControl(new NumericControl.NumericControlParameters("# of rounds", false, 1, 100000, 10, 1000)); millisecondControl = new NumericControl(new NumericControl.NumericControlParameters("Millisecond delay", false, 0, 10000, 5, 0)); showBoards = new CheckboxControl("Show ASCII boards"); layout.Add(roundsNumberControl); //layout.Add(new CheckboxControl("Play out rounds")); layout.Add(millisecondControl); layout.Add(showBoards); layout.Add(new ButtonControl("Confirm", ButtonConfirmEvent)); AddControlLayout(layout); }
public Task OnInitialise() { _fontChooser = new FontChooserControl(this) { LabelText = Font }; _flattenFactor = new NumericControl(this) { LabelText = AliasingFactor, Minimum = 0.1m, Maximum = 10m, Value = 1, Precision = 1, Increment = 0.1m }; _text = new TextControl(this) { EnteredText = EnteredText, LabelText = Text }; return(Task.CompletedTask); }
public Task OnInitialise() { _crossSides = new NumericControl(this) { LabelText = CrossSectionSides }; _crossRadius = new NumericControl(this) { LabelText = RingWidth, Minimum = 16, Maximum = 1024, Value = 32, Precision = 1 }; _crossStartAngle = new NumericControl(this) { LabelText = CrossSectionStart, Minimum = 0, Maximum = 359, Value = 0 }; _crossMakeHollow = new BooleanControl(this) { LabelText = MakeHollow, Checked = false }; _crossArc = new NumericControl(this) { LabelText = CrossSectionArc, Minimum = 1, Maximum = 360, Value = 360, Enabled = false }; _crossWallWidth = new NumericControl(this) { LabelText = HollowWallWidth, Minimum = 1, Maximum = 1024, Value = 16, Precision = 1, Enabled = false }; _ringSides = new NumericControl(this) { LabelText = RingSides }; _ringArc = new NumericControl(this) { LabelText = RingArc, Minimum = 1, Maximum = 1080, Value = 360 }; _ringStartAngle = new NumericControl(this) { LabelText = RingStart, Minimum = 0, Maximum = 359, Value = 0 }; _rotationHeight = new NumericControl(this) { LabelText = RotationHeight, Minimum = -1024, Maximum = 1024, Value = 0, Precision = 1 }; _crossMakeHollow.ValuesChanged += (s, b) => _crossWallWidth.Enabled = _crossArc.Enabled = _crossMakeHollow.GetValue(); return(Task.CompletedTask); }
//constructorul care ia ca parametrii controalele respective public Bridge( TextBox _QuestionContent, TextBox _AnswerContent, CheckBox _AnswerState, ListView _Answers, NumericControl _QuestionIndex) { this.QuestionContent = _QuestionContent; this.AnswerContent = _AnswerContent; this.AnswerState = _AnswerState; this.Answers = _Answers; this.QuestionIndex = _QuestionIndex; //intitializam un quiz gol la inceput this.Q = new Quiz(); this.onLoad(); }
public TorusBrush() { _crossSides = new NumericControl(this) { LabelText = "Cross sec. sides" }; _crossRadius = new NumericControl(this) { LabelText = "Ring width", Minimum = 16, Maximum = 1024, Value = 32, Precision = 1 }; _crossStartAngle = new NumericControl(this) { LabelText = "Cross sec. start", Minimum = 0, Maximum = 359, Value = 0 }; _crossMakeHollow = new BooleanControl(this) { LabelText = "Make hollow", Checked = false }; _crossArc = new NumericControl(this) { LabelText = "Cross sec. arc", Minimum = 1, Maximum = 360, Value = 360, Enabled = false }; _crossWallWidth = new NumericControl(this) { LabelText = "Hollow wall width", Minimum = 1, Maximum = 1024, Value = 16, Precision = 1, Enabled = false }; _ringSides = new NumericControl(this) { LabelText = "Ring sides" }; _ringArc = new NumericControl(this) { LabelText = "Ring arc", Minimum = 1, Maximum = 1080, Value = 360 }; _ringStartAngle = new NumericControl(this) { LabelText = "Ring start", Minimum = 0, Maximum = 359, Value = 0 }; _rotationHeight = new NumericControl(this) { LabelText = "Rotation height", Minimum = -1024, Maximum = 1024, Value = 0, Precision = 1 }; _crossMakeHollow.ValuesChanged += (s, b) => _crossWallWidth.Enabled = _crossArc.Enabled = _crossMakeHollow.GetValue(); }
private void WriteToolParameter(ModalitaVelocita modalitaVelocita, double speed, SpindleRotation spindleRotation, ref StringBuilder code) { string speedTypeCode; switch (modalitaVelocita) { case ModalitaVelocita.VelocitaTaglio: { speedTypeCode = NumericControl.CMDG_SpeedSync; } break; case ModalitaVelocita.GiriFissi: default: { speedTypeCode = NumericControl.CMDG_SpeedASync; } break; } var formatedSpeed = FormatSpeed(speed); var speedCode = NumericControl.GetSpeedCode(formatedSpeed); string spindleRotationCode; switch (spindleRotation) { case SpindleRotation.Cw: { spindleRotationCode = NumericControl.CMDM_SpindleCW; } break; case SpindleRotation.Ccw: default: { spindleRotationCode = NumericControl.CMDM_SpindleCCW; } break; } code.AppendLine(speedTypeCode + speedCode + spindleRotationCode); }
private static string GetMoveCode(MoveType movetype, NumericControl numericControl) { switch (movetype) { case MoveType.Rapid: return(numericControl.CmdMoveRapid); case MoveType.SecureRapidFeed: case MoveType.PlungeFeed: case MoveType.Work: return(numericControl.CmdMoveWork); case MoveType.Ccw: return(numericControl.CMD_MoveCCW); case MoveType.Cw: return(numericControl.CMD_MoveCW); default: throw new NotImplementedException(); break; } }
public async Task OnInitialise() { _numSides = new NumericControl(this) { LabelText = NumberOfSides }; _wallWidth = new NumericControl(this) { LabelText = WallWidth, Minimum = 1, Maximum = 1024, Value = 32, Precision = 1 }; _arc = new NumericControl(this) { LabelText = Arc, Minimum = 1, Maximum = 360 * 4, Value = 360 }; _startAngle = new NumericControl(this) { LabelText = StartAngle, Minimum = 0, Maximum = 359, Value = 0 }; _addHeight = new NumericControl(this) { LabelText = AddHeight, Minimum = -1024, Maximum = 1024, Value = 0, Precision = 1 }; _curvedRamp = new BooleanControl(this) { LabelText = CurvedRamp, Checked = false }; _tiltAngle = new NumericControl(this) { LabelText = TiltAngle, Minimum = -Atan2, Maximum = Atan2, Value = 0, Enabled = false, Precision = 1 }; _tiltInterp = new BooleanControl(this) { LabelText = TiltInterpolation, Checked = false, Enabled = false }; _curvedRamp.ValuesChanged += (s, b) => _tiltAngle.Enabled = _tiltInterp.Enabled = _curvedRamp.GetValue(); }
public ArchBrush() { _numSides = new NumericControl(this) { LabelText = "Number of sides" }; _wallWidth = new NumericControl(this) { LabelText = "Wall width", Minimum = 1, Maximum = 1024, Value = 32, Precision = 1 }; _arc = new NumericControl(this) { LabelText = "Arc", Minimum = 1, Maximum = 360 * 4, Value = 360 }; _startAngle = new NumericControl(this) { LabelText = "Start angle", Minimum = 0, Maximum = 359, Value = 0 }; _addHeight = new NumericControl(this) { LabelText = "Add height", Minimum = -1024, Maximum = 1024, Value = 0, Precision = 1 }; _curvedRamp = new BooleanControl(this) { LabelText = "Curved ramp", Checked = false }; _tiltAngle = new NumericControl(this) { LabelText = "Tilt angle", Minimum = -Atan2, Maximum = Atan2, Value = 0, Enabled = false, Precision = 1 }; _tiltInterp = new BooleanControl(this) { LabelText = "Tilt interpolation", Checked = false, Enabled = false }; _curvedRamp.ValuesChanged += (s, b) => _tiltAngle.Enabled = _tiltInterp.Enabled = _curvedRamp.GetValue(); }
private async Task LoadCommandsAsync() { PropertiesStkPnl.Children.Clear(); var scene = await Context.Scenes .Include(o => o.SettingValues) .FirstOrDefaultAsync(sc => sc.Id == SceneId); if (scene == null) { return; } #region Scene Properties foreach (var sp in await Context.SceneSettings.ToListAsync()) { var sceneSetting = sp; var sceneSettingValue = await Context.SceneSettingValues .FirstOrDefaultAsync(v => v.SceneSetting.Id == sceneSetting.Id && v.SceneId == scene.Id); var _default = sceneSettingValue == null ? sceneSetting.Value : sceneSettingValue.Value; switch (sceneSetting.ValueType) { case DataType.BOOL: { //get the current value from the value table list bool defaultValue; bool.TryParse(_default, out defaultValue); var control = new CheckboxControl(async isChecked => { if (sceneSettingValue != null) { sceneSettingValue.Value = isChecked.ToString(); } else { sceneSettingValue = new SceneSettingValue() { SceneSetting = sceneSetting, Value = isChecked.ToString() }; scene.SettingValues.Add(sceneSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving scene. {0}", result.Message); } }, icon) { Header = sceneSetting.Name, Description = string.Empty, Value = defaultValue }; PropertiesStkPnl.Children.Add(control); break; } case DataType.DECIMAL: case DataType.INTEGER: case DataType.BYTE: case DataType.SHORT: { var control = new NumericControl(async value => { if (sceneSettingValue != null) { sceneSettingValue.Value = value; } else { sceneSettingValue = new SceneSettingValue() { SceneSetting = sceneSetting, Value = value }; scene.SettingValues.Add(sceneSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving scene. {0}", result.Message); } }, icon, sceneSetting.ValueType) { Header = sceneSetting.Name, Description = string.Empty, Value = _default }; PropertiesStkPnl.Children.Add(control); break; } case DataType.STRING: { var control = new StringControl( async value => { if (sceneSettingValue != null) { sceneSettingValue.Value = value; } else { sceneSettingValue = new SceneSettingValue { SceneSetting = sceneSetting, Value = value }; scene.SettingValues.Add(sceneSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving scene. {0}", result.Message); } }, icon) { Header = sceneSetting.Name, Description = string.Empty, Value = _default }; PropertiesStkPnl.Children.Add(control); break; } case DataType.LIST: { var control = new ComboboxControl(async value => { if (sceneSettingValue != null) { sceneSettingValue.Value = value.ToString(); } else { //assign sceneSettingValue so above null check is ran in the case this is called 2 times before the save changes hits. sceneSettingValue = new SceneSettingValue { SceneSetting = sceneSetting, Value = value.ToString() }; scene.SettingValues.Add(sceneSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving scene. {0}", result.Message); } }, icon, sceneSetting.Options.Select(o => o.Name).ToList()) { Header = sceneSetting.Name, Description = string.Empty, SelectedItem = _default }; PropertiesStkPnl.Children.Add(control); break; } } } #endregion }
private async Task LoadCommandsAsync() { DeviceCommandsStkPnl.Children.Clear(); TypeCommandsStkPnl.Children.Clear(); var d = await _context.Devices .Include(o => o.Values) .Include(o => o.Type.Commands) .FirstOrDefaultAsync(dv => dv.Id == _deviceId); if (d != null) { #region Device Commands foreach (var dc in d.Commands.OrderByDescending(c => c.SortOrder)) { var deviceCommand = dc; switch (deviceCommand.ArgumentType) { case DataType.NONE: { var bc = new ButtonControl(async() => { await _app.ZvsEngine.RunCommandAsync(deviceCommand.Id, string.Empty, string.Empty, CancellationToken.None); }, _icon) { Header = deviceCommand.Name, ButtonContent = deviceCommand.Name, Description = deviceCommand.Description }; DeviceCommandsStkPnl.Children.Add(bc); break; } case DataType.BOOL: { //get the current value from the value table list var defaultValue = false; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceCommand.CustomData2); if (dv != null) { bool.TryParse(dv.Value, out defaultValue); } var control = new CheckboxControl(async isChecked => { await _app.ZvsEngine.RunCommandAsync(deviceCommand.Id, isChecked.ToString(), string.Empty, CancellationToken.None); }, _icon) { Header = deviceCommand.Name, Description = deviceCommand.Description, Value = defaultValue }; DeviceCommandsStkPnl.Children.Add(control); break; } case DataType.INTEGER: case DataType.DECIMAL: case DataType.BYTE: case DataType.SHORT: { //get the current value from the value table list var defaultValue = "0"; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } var control = new NumericControl(async value => { await _app.ZvsEngine.RunCommandAsync(deviceCommand.Id, value, string.Empty, CancellationToken.None); }, _icon, deviceCommand.ArgumentType) { Header = deviceCommand.Name, Description = deviceCommand.Description, Value = defaultValue }; DeviceCommandsStkPnl.Children.Add(control); break; } case DataType.STRING: { //get the current value from the value table list var defaultValue = "0"; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } var control = new StringControl( async value => { await _app.ZvsEngine.RunCommandAsync(deviceCommand.Id, value, string.Empty, CancellationToken.None); }, _icon) { Header = deviceCommand.Name, Description = deviceCommand.Description, Value = defaultValue }; DeviceCommandsStkPnl.Children.Add(control); break; } case DataType.LIST: { //get the current value from the value table list var defaultValue = "0"; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } var control = new ComboboxControl(async value => { await _app.ZvsEngine.RunCommandAsync(deviceCommand.Id, value.ToString(), string.Empty, CancellationToken.None); }, _icon, deviceCommand.Options.Select(o => o.Name).ToList()) { Header = deviceCommand.Name, Description = deviceCommand.Description, SelectedItem = defaultValue }; DeviceCommandsStkPnl.Children.Add(control); break; } } } #endregion #region Device Type Commands foreach (var dtc in d.Type.Commands.OrderByDescending(c => c.SortOrder)) { var deviceTypeCommand = dtc; switch (deviceTypeCommand.ArgumentType) { case DataType.NONE: { var bc = new ButtonControl(async() => { await _app.ZvsEngine.RunCommandAsync(deviceTypeCommand.Id, string.Empty, d.Id.ToString(CultureInfo.InvariantCulture), CancellationToken.None); }, _icon) { Header = deviceTypeCommand.Name, ButtonContent = deviceTypeCommand.Name, Description = deviceTypeCommand.Description }; TypeCommandsStkPnl.Children.Add(bc); break; } case DataType.BOOL: { //get the current value from the value table list var defaultValue = false; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { bool.TryParse(dv.Value, out defaultValue); } var control = new CheckboxControl(async isChecked => { await _app.ZvsEngine.RunCommandAsync(deviceTypeCommand.Id, isChecked.ToString(), d.Id.ToString(CultureInfo.InvariantCulture), CancellationToken.None); }, _icon) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, Value = defaultValue }; TypeCommandsStkPnl.Children.Add(control); break; } case DataType.DECIMAL: case DataType.INTEGER: case DataType.SHORT: case DataType.BYTE: { //get the current value from the value table list var defaultValue = "0"; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } var control = new NumericControl(async value => { await _app.ZvsEngine.RunCommandAsync(deviceTypeCommand.Id, value, d.Id.ToString(CultureInfo.InvariantCulture), CancellationToken.None); }, _icon, deviceTypeCommand.ArgumentType) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, Value = defaultValue }; TypeCommandsStkPnl.Children.Add(control); break; } case DataType.STRING: { //get the current value from the value table list var defaultValue = "0"; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } var control = new StringControl( async value => { await _app.ZvsEngine.RunCommandAsync(deviceTypeCommand.Id, value, d.Id.ToString(CultureInfo.InvariantCulture), CancellationToken.None); }, _icon) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, Value = defaultValue }; TypeCommandsStkPnl.Children.Add(control); break; } case DataType.LIST: { //get the current value from the value table list var defaultValue = "0"; var dv = d.Values.FirstOrDefault(v => v.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } var control = new ComboboxControl(async value => { await _app.ZvsEngine.RunCommandAsync(deviceTypeCommand.Id, value.ToString(), d.Id.ToString(CultureInfo.InvariantCulture), CancellationToken.None); }, _icon, deviceTypeCommand.Options.Select(o => o.Name).ToList()) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, SelectedItem = defaultValue }; TypeCommandsStkPnl.Children.Add(control); break; } } } #endregion } }
private async Task LoadCommandsAsync() { PropertiesStkPnl.Children.Clear(); var device = await Context.Devices .Include(o => o.DeviceSettingValues) .Include(o => o.Type.Settings) .FirstOrDefaultAsync(dv => dv.Id == _deviceId); if (device == null) { return; } #region Device Type Settings foreach (var deviceTypeSetting in device.Type.Settings) { //default var value = deviceTypeSetting.Value; //check if this settings has already been set var setting = deviceTypeSetting; var deviceTypeSettingValue = await Context.DeviceTypeSettingValues .Where(o => o.DeviceId == device.Id) .FirstOrDefaultAsync(o => o.DeviceTypeSettingId == setting.Id); if (deviceTypeSettingValue != null) { value = deviceTypeSettingValue.Value; } switch (deviceTypeSetting.ValueType) { case DataType.BOOL: { #region CheckboxControl //get the current value from the value table list bool defaultValue; bool.TryParse(value, out defaultValue); var control = new CheckboxControl(async isChecked => { if (deviceTypeSettingValue != null) { deviceTypeSettingValue.Value = isChecked.ToString(); } else { deviceTypeSettingValue = new DeviceTypeSettingValue { DeviceId = device.Id, DeviceTypeSettingId = setting.Id, Value = isChecked.ToString() }; Context.DeviceTypeSettingValues.Add(deviceTypeSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device type setting. {0}", result.Message); } }, _icon) { Header = deviceTypeSetting.Name, Description = deviceTypeSetting.Description, Value = defaultValue }; PropertiesStkPnl.Children.Add(control); break; #endregion } case DataType.INTEGER: case DataType.DECIMAL: case DataType.SHORT: case DataType.BYTE: { #region NumericControl var control = new NumericControl( async v => { if (deviceTypeSettingValue != null) { deviceTypeSettingValue.Value = v; } else { deviceTypeSettingValue = new DeviceTypeSettingValue() { DeviceId = device.Id, DeviceTypeSettingId = setting.Id, Value = v }; Context.DeviceTypeSettingValues.Add(deviceTypeSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device type setting. {0}", result.Message); } }, _icon, deviceTypeSetting.ValueType) { Header = deviceTypeSetting.Name, Description = deviceTypeSetting.Description, Value = value }; PropertiesStkPnl.Children.Add(control); break; #endregion } case DataType.STRING: { #region StringControl var control = new StringControl(async v => { if (deviceTypeSettingValue != null) { deviceTypeSettingValue.Value = v; } else { deviceTypeSettingValue = new DeviceTypeSettingValue() { DeviceId = device.Id, DeviceTypeSettingId = setting.Id, Value = v }; Context.DeviceTypeSettingValues.Add(deviceTypeSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device type setting. {0}", result.Message); } }, _icon) { Header = deviceTypeSetting.Name, Description = deviceTypeSetting.Description, Value = value, }; PropertiesStkPnl.Children.Add(control); break; #endregion } case DataType.LIST: { #region ComboboxControl var control = new ComboboxControl(async v => { if (deviceTypeSettingValue != null) { deviceTypeSettingValue.Value = v.ToString(); } else { deviceTypeSettingValue = new DeviceTypeSettingValue { DeviceId = device.Id, DeviceTypeSettingId = setting.Id, Value = v.ToString() }; Context.DeviceTypeSettingValues.Add(deviceTypeSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device type setting. {0}", result.Message); } }, _icon, deviceTypeSetting.Options.Select(o => o.Name).ToList()) { Header = deviceTypeSetting.Name, Description = deviceTypeSetting.Description, SelectedItem = value }; PropertiesStkPnl.Children.Add(control); break; #endregion } } } #endregion #region Device Settings foreach (var s in await Context.DeviceSettings.ToListAsync()) { var deviceSetting = s; //See if the device has a value stored for it for this property var deviceSettingValue = await Context.DeviceSettingValues.FirstOrDefaultAsync(v => v.DeviceSetting.Id == deviceSetting.Id && v.DeviceId == device.Id); var _default = deviceSettingValue == null ? deviceSetting.Value : deviceSettingValue.Value; switch (deviceSetting.ValueType) { case DataType.BOOL: { #region CheckboxControl //get the current value from the value table list bool defaultValue; bool.TryParse(_default, out defaultValue); var control = new CheckboxControl(async isChecked => { if (deviceSettingValue != null) { deviceSettingValue.Value = isChecked.ToString(); } else { deviceSettingValue = new DeviceSettingValue() { DeviceSetting = deviceSetting, Value = isChecked.ToString() }; device.DeviceSettingValues.Add(deviceSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device setting. {0}", result.Message); } }, _icon) { Header = deviceSetting.Name, Description = deviceSetting.Description, Value = defaultValue }; PropertiesStkPnl.Children.Add(control); break; #endregion } case DataType.INTEGER: case DataType.DECIMAL: case DataType.SHORT: case DataType.BYTE: { #region NumericControl var control = new NumericControl(async value => { if (deviceSettingValue != null) { deviceSettingValue.Value = value; } else { deviceSettingValue = new DeviceSettingValue() { DeviceSetting = deviceSetting, Value = value }; device.DeviceSettingValues.Add(deviceSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device setting. {0}", result.Message); } }, _icon, deviceSetting.ValueType) { Header = deviceSetting.Name, Description = deviceSetting.Description, Value = _default }; PropertiesStkPnl.Children.Add(control); break; #endregion } case DataType.STRING: { #region StringControl var control = new StringControl( async value => { if (deviceSettingValue != null) { deviceSettingValue.Value = value; } else { deviceSettingValue = new DeviceSettingValue() { DeviceSetting = deviceSetting, Value = value }; device.DeviceSettingValues.Add(deviceSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device setting. {0}", result.Message); } }, _icon) { Header = deviceSetting.Name, Description = deviceSetting.Description, Value = _default, }; PropertiesStkPnl.Children.Add(control); break; #endregion } case DataType.LIST: { #region ComboboxControl var control = new ComboboxControl(async value => { if (deviceSettingValue != null) { deviceSettingValue.Value = value.ToString(); } else { deviceSettingValue = new DeviceSettingValue { DeviceSetting = deviceSetting, Value = value.ToString() }; device.DeviceSettingValues.Add(deviceSettingValue); } var result = await Context.TrySaveChangesAsync(_app.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(_app.Cts.Token, "Error saving device setting. {0}", result.Message); } }, _icon, deviceSetting.Options.Select(o => o.Name).ToList()) { Header = deviceSetting.Name, Description = deviceSetting.Description, SelectedItem = _default }; PropertiesStkPnl.Children.Add(control); break; #endregion } } } #endregion }
protected NumericControl NumericControl = new NumericControl(); // per adesso ok cosi . poi fare proprieta cosi da poter modificare.. /// <summary> /// Metodo per cambiare codice numerico alla macchina /// </summary> /// <param name="numericControl"></param> internal void SetController(NumericControl numericControl) { NumericControl = numericControl; }
private void AdapterListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { ControlsStkPnl.Children.Clear(); var adapter = (Adapter)AdapterListView.SelectedItem; if (adapter == null) { return; } //ADD THE ENABLED BUTTON var c = new CheckboxControl( async isChecked => { //Save to the database adapter.IsEnabled = isChecked; var result = await Context.TrySaveChangesAsync(App.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(App.Cts.Token, "Error enabling adapter. {0}", result.Message); } //STOP OR START if (isChecked) { await App.ZvsEngine.AdapterManager.EnableAdapterAsync(adapter.AdapterGuid, App.Cts.Token); } else { await App.ZvsEngine.AdapterManager.DisableAdapterAsync(adapter.AdapterGuid, App.Cts.Token); } }, _icon) { Header = $"{adapter.Name} is enabled", Description = "Starts and stops the selected adapter", Value = adapter.IsEnabled }; ControlsStkPnl.Children.Add(c); //Add all the settings foreach (var a in adapter.Settings) { var adapterSetting = a; switch (adapterSetting.ValueType) { case DataType.BOOL: { bool defaultValue; bool.TryParse(adapterSetting.Value, out defaultValue); var control = new CheckboxControl(async isChecked => { adapterSetting.Value = isChecked.ToString(); var result = await Context.TrySaveChangesAsync(App.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(App.Cts.Token, "Error saving adapter setting. {0}", result.Message); } }, _icon) { Header = adapterSetting.Name, Description = adapterSetting.Description, Value = defaultValue }; ControlsStkPnl.Children.Add(control); break; } case DataType.BYTE: case DataType.DECIMAL: case DataType.SHORT: case DataType.INTEGER: case DataType.COMPORT: { var control = new NumericControl(async value => { adapterSetting.Value = value; var result = await Context.TrySaveChangesAsync(App.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(App.Cts.Token, "Error saving adapter setting. {0}", result.Message); } }, _icon, adapterSetting.ValueType) { Header = adapterSetting.Name, Description = adapterSetting.Description, Value = adapterSetting.Value }; ControlsStkPnl.Children.Add(control); break; } case DataType.STRING: { var control = new StringControl( async value => { adapterSetting.Value = value; var result = await Context.TrySaveChangesAsync(App.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(App.Cts.Token, "Error saving adapter setting. {0}", result.Message); } }, _icon) { Header = adapterSetting.Name, Description = adapterSetting.Description, Value = adapterSetting.Value }; ControlsStkPnl.Children.Add(control); break; } case DataType.LIST: { var control = new ComboboxControl(async value => { adapterSetting.Value = value.ToString(); var result = await Context.TrySaveChangesAsync(App.Cts.Token); if (result.HasError) { await Log.ReportErrorFormatAsync(App.Cts.Token, "Error saving adapter setting. {0}", result.Message); } }, _icon, adapterSetting.Options.Select(o => o.Name).ToList()) { Header = adapterSetting.Name, Description = adapterSetting.Description, SelectedItem = adapterSetting.Value }; ControlsStkPnl.Children.Add(control); break; } } } }
private async void BuiltinCmdsCmboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e) { BuiltinArgSckPnl.Children.Clear(); var selectedCmd = (BuiltinCommand)BuiltinCmdsCmboBox.SelectedItem; switch (selectedCmd.UniqueIdentifier) { #region Do Custom things for some Builtin Commands case "REPOLL_ME": { Device selectedDevice = null; //Lookup the device involved in the command int deviceId = int.TryParse(StoredCommand.Argument, out deviceId) ? deviceId : 0; var device = await Context.Devices.FirstOrDefaultAsync(o => o.Id == deviceId) ?? await Context.Devices.FirstOrDefaultAsync(); if (device != null) { selectedDevice = device; _selectedBuiltinArg = device.Id.ToString(CultureInfo.InvariantCulture); } var control = new ComboboxControl(obj => { var d = obj as Device; if (d != null) { _selectedBuiltinArg = d.Id.ToString(CultureInfo.InvariantCulture); } return(Task.FromResult(0)); }, _icon, await Context.Devices.ToListAsync()) { Header = selectedCmd.Name, Description = selectedCmd.Description, SelectedItem = selectedDevice }; BuiltinArgSckPnl.Children.Add(control); break; } case "GROUP_ON": case "GROUP_OFF": { Group selectedGroup = null; //Lookup the group involved in the command int groupId = int.TryParse(StoredCommand.Argument, out groupId) ? groupId : 0; var group = await Context.Groups.FirstOrDefaultAsync(o => o.Id == groupId) ?? await Context.Groups.FirstOrDefaultAsync(); if (group != null) { selectedGroup = group; _selectedBuiltinArg = group.Id.ToString(CultureInfo.InvariantCulture); } var control = new ComboboxControl(arg => { var g = arg as Group; if (g != null) { _selectedBuiltinArg = g.Id.ToString(CultureInfo.InvariantCulture); } return(Task.FromResult(0)); }, _icon, await Context.Groups.ToListAsync()) { Header = selectedCmd.Name, Description = selectedCmd.Description, SelectedItem = selectedGroup, }; control.ComboBox.DisplayMemberPath = "Name"; BuiltinArgSckPnl.Children.Add(control); } break; case "RUN_SCENE": { Scene selectedScene = null; //Try to match supplied arg (sceneID) with a scene int sceneId = int.TryParse(StoredCommand.Argument, out sceneId) ? sceneId : 0; var scene = await Context.Scenes.FirstOrDefaultAsync(o => o.Id == sceneId) ?? await Context.Scenes.FirstOrDefaultAsync(); //If this is a new command or we cannot find the old scene, //just preselect the first scene. if (scene != null) { selectedScene = scene; _selectedBuiltinArg = scene.Id.ToString(CultureInfo.InvariantCulture); } var control = new ComboboxControl(arg => { var s = arg as Scene; if (s != null) { _selectedBuiltinArg = s.Id.ToString(CultureInfo.InvariantCulture); } return(Task.FromResult(0)); }, _icon, await Context.Scenes.ToListAsync()) { Header = selectedCmd.Name, Description = selectedCmd.Description, SelectedItem = selectedScene }; control.ComboBox.DisplayMemberPath = "Name"; BuiltinArgSckPnl.Children.Add(control); break; } #endregion default: { #region Built-in Commands switch (selectedCmd.ArgumentType) { case DataType.NONE: { _selectedBuiltinArg = string.Empty; BuiltinArgSckPnl.Children.Add(new TextBlock { Text = "None", Margin = new Thickness(30, 0, 0, 0) }); break; } case DataType.BOOL: { //get the current value from the value table list bool defaultValue; bool.TryParse(StoredCommand.Argument, out defaultValue); _selectedBuiltinArg = defaultValue.ToString(); var control = new CheckboxControl(isChecked => { _selectedBuiltinArg = isChecked.ToString(); return(Task.FromResult(0)); }, _icon) { Header = selectedCmd.Name, Description = selectedCmd.Description, Value = defaultValue }; BuiltinArgSckPnl.Children.Add(control); break; } case DataType.INTEGER: case DataType.DECIMAL: case DataType.BYTE: case DataType.SHORT: { var defaultValue = "0"; if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } _selectedBuiltinArg = defaultValue; var control = new NumericControl(value => { _selectedBuiltinArg = value; return(Task.FromResult(0)); }, _icon, selectedCmd.ArgumentType) { Header = selectedCmd.Name, Description = selectedCmd.Description, Value = defaultValue }; BuiltinArgSckPnl.Children.Add(control); break; } case DataType.STRING: { //get the current value from the value table list var defaultValue = "0"; if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } _selectedBuiltinArg = defaultValue; var control = new StringControl(value => { _selectedBuiltinArg = value; return(Task.FromResult(0)); }, _icon) { Header = selectedCmd.Name, Description = selectedCmd.Description, Value = defaultValue }; BuiltinArgSckPnl.Children.Add(control); break; } case DataType.LIST: { var defaultValue = ""; var firstOrDefault = selectedCmd.Options.FirstOrDefault(); if (firstOrDefault != null) { var option = firstOrDefault.Name; if (option != null) { defaultValue = option; } } if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } _selectedBuiltinArg = defaultValue; var control = new ComboboxControl(value => { _selectedBuiltinArg = value.ToString(); return(Task.FromResult(0)); }, _icon, selectedCmd.Options.Select(o => o.Name).ToList()) { Header = selectedCmd.Name, Description = selectedCmd.Description, SelectedItem = defaultValue }; BuiltinArgSckPnl.Children.Add(control); break; } } #endregion break; } } }
private async void DeviceCmdsCmboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e) { var selectedDevice = (Device)DevicesCmboBox.SelectedItem; DeviceArgSckPnl.Children.Clear(); var deviceTypeCommand = DeviceCmdsCmboBox.SelectedItem as DeviceTypeCommand; if (deviceTypeCommand != null) { #region Device Type Commands switch (deviceTypeCommand.ArgumentType) { case DataType.NONE: { DeviceArgSckPnl.Children.Add(new TextBlock { Text = "None", Margin = new Thickness(30, 0, 0, 0) }); break; } case DataType.BOOL: { //get the current value from the value table list bool defaultValue; if (!bool.TryParse(StoredCommand.Argument, out defaultValue)) { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { bool.TryParse(dv.Value, out defaultValue); } } _selectedDeviceArg = defaultValue.ToString(); var control = new CheckboxControl(isChecked => { _selectedDeviceArg = isChecked.ToString(); return(Task.FromResult(0)); }, _icon) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, Value = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } case DataType.DECIMAL: case DataType.INTEGER: case DataType.BYTE: case DataType.SHORT: { //get the current value from the value table list var defaultValue = "0"; var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } _selectedDeviceArg = defaultValue; var control = new NumericControl(value => { _selectedDeviceArg = value; return(Task.FromResult(0)); }, _icon, deviceTypeCommand.ArgumentType) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, Value = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } case DataType.STRING: { //get the current value from the value table list var defaultValue = "0"; if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } else { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } } _selectedDeviceArg = defaultValue; var control = new StringControl( value => { _selectedDeviceArg = value; return(Task.FromResult(0)); }, _icon) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, Value = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } case DataType.LIST: { //get the current value from the value table list var defaultValue = "0"; if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } else { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == deviceTypeCommand.CustomData2); if (dv != null) { defaultValue = dv.Value; } } _selectedDeviceArg = defaultValue; var control = new ComboboxControl(value => { _selectedDeviceArg = value.ToString(); return(Task.FromResult(0)); }, _icon, deviceTypeCommand.Options.Select(o => o.Name).ToList()) { Header = deviceTypeCommand.Name, Description = deviceTypeCommand.Description, SelectedItem = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } } #endregion } var item = DeviceCmdsCmboBox.SelectedItem as DeviceCommand; if (item != null) { var dCmd = item; #region Device Commands switch (dCmd.ArgumentType) { case DataType.NONE: { DeviceArgSckPnl.Children.Add(new TextBlock { Text = "None", Margin = new Thickness(30, 0, 0, 0) }); break; } case DataType.BOOL: { //get the current value from the value table list bool defaultValue; if (!bool.TryParse(StoredCommand.Argument, out defaultValue)) { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == dCmd.CustomData2); if (dv != null) { bool.TryParse(dv.Value, out defaultValue); } } _selectedDeviceArg = defaultValue.ToString(); var control = new CheckboxControl(isChecked => { _selectedDeviceArg = isChecked.ToString(); return(Task.FromResult(0)); }, _icon) { Header = dCmd.Name, Description = dCmd.Description, Value = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } case DataType.DECIMAL: case DataType.INTEGER: case DataType.BYTE: case DataType.SHORT: { //get the current value from the value table list var defaultValue = StoredCommand.Argument; if (defaultValue == "0") { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == dCmd.CustomData2); if (dv != null) { defaultValue = dv.Value; } } _selectedDeviceArg = defaultValue; var control = new NumericControl(value => { _selectedDeviceArg = value; return(Task.FromResult(0)); }, _icon, dCmd.ArgumentType) { Header = dCmd.Name, Description = dCmd.Description, Value = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } case DataType.STRING: { //get the current value from the value table list var defaultValue = ""; if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } else { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == dCmd.CustomData2); if (dv != null) { defaultValue = dv.Value; } } _selectedDeviceArg = defaultValue; var control = new StringControl( value => { _selectedDeviceArg = value; return(Task.FromResult(0)); }, _icon) { Header = dCmd.Name, Description = dCmd.Description, Value = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } case DataType.LIST: { //get the current value from the value table list var defaultValue = "0"; if (!string.IsNullOrEmpty(StoredCommand.Argument)) { defaultValue = StoredCommand.Argument; } else { var dv = await Context.DeviceValues.FirstOrDefaultAsync(o => o.DeviceId == selectedDevice.Id && o.UniqueIdentifier == dCmd.CustomData2); if (dv != null) { defaultValue = dv.Value; } } _selectedDeviceArg = defaultValue; var control = new ComboboxControl(value => { _selectedDeviceArg = value.ToString(); return(Task.FromResult(0)); }, _icon, dCmd.Options.Select(o => o.Name).ToList()) { Header = dCmd.Name, Description = dCmd.Description, SelectedItem = defaultValue }; DeviceArgSckPnl.Children.Add(control); break; } } #endregion } }