From d990cf35a8816c7447fef4552ee83d041466636d Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Wed, 25 Sep 2019 18:29:12 +0300 Subject: Implemented Hardware Configuration Tab on Machine Designer !!! --- .../ViewModels/MainViewVM.cs | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs index eaca7cd6a..5f2dcd00d 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs @@ -122,6 +122,19 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels set { _colorCalibrationViewVM = value; RaisePropertyChangedAuto(); } } + private HardwareConfigurationViewVM _hardwareConfigurationViewVM; + + public HardwareConfigurationViewVM HardwareConfigurationViewVM + { + get { return _hardwareConfigurationViewVM; } + set + { + _hardwareConfigurationViewVM = value; + RaisePropertyChangedAuto(); + } + } + + #endregion #region Commands @@ -442,6 +455,11 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels SelectedRML = ActiveMachineAdapter.Rmls.FirstOrDefault(), }; + HardwareConfigurationViewVM = new HardwareConfigurationViewVM(_notification); + HardwareConfigurationViewVM.Init(ActiveMachine.Configuration); + + ActiveMachine.Configuration.HardwareVersionChanged += Configuration_HardwareVersionChanged; + View.NavigateTo(MachineDesignerNavigationView.MachineDetailsView); } catch (Exception ex) @@ -457,6 +475,27 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels } } + private async void Configuration_HardwareVersionChanged(object sender, HardwareVersion e) + { + var version = ActiveMachine.Configuration.HardwareVersion; + + if (version != null) + { + using (_notification.PushTaskItem("Loading hardware version...")) + { + try + { + version = await new HardwareVersionBuilder(ActiveMachineAdapter.Context).Set(version.Guid).WithHardwareComponents().BuildAsync(); + HardwareConfigurationViewVM.Init(ActiveMachine.Configuration); + } + catch (Exception ex) + { + LogManager.Log(ex); + } + } + } + } + private async void SaveMachine() { foreach (var ids in ActiveMachine.Configuration.IdsPacks) @@ -585,6 +624,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels ColorCalibrationViewVM.Save(); + var hwConfig = HardwareConfigurationViewVM.GetResultingHardwareConfiguration(); + ActiveMachine.Configuration.SetHardwareConfiguration(hwConfig); + await ActiveMachineAdapter.Context.SaveChangesAsync(); if (SelectedMachine != null) -- cgit v1.3.1