diff options
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs | 42 |
1 files changed, 42 insertions, 0 deletions
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) |
