From fcbc4e2fad831e0e9bc972df86d155311f9f83a4 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 31 Jan 2018 14:33:22 +0200 Subject: Added Process Parameters Table Selection. Fixed issue with infinity values on BrushStop. --- .../ViewModels/MainViewVM.cs | 41 ++++++++++++++++++---- .../Views/MainView.xaml | 11 +++++- 2 files changed, 44 insertions(+), 8 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index 7afb099db..8fbce16a3 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -91,7 +91,6 @@ namespace Tango.MachineStudio.Developer.ViewModels } private ProcessParametersTablesGroup _selectedGroupHistory; - /// /// Gets or sets the selected process parameters tables group history. /// @@ -108,7 +107,7 @@ namespace Tango.MachineStudio.Developer.ViewModels public ProcessParametersTable SelectedProcessParametersTable { get { return _selectedProcessParametersTable; } - set { _selectedProcessParametersTable = value; RaisePropertyChangedAuto(); } + set { _selectedProcessParametersTable = value; RaisePropertyChangedAuto(); OnSelectedParametersTableChanged(); } } private Job _selectedJob; @@ -261,6 +260,11 @@ namespace Tango.MachineStudio.Developer.ViewModels /// public RelayCommand RemoveBrushStopCommand { get; set; } + /// + /// Gets or sets the save jobs command. + /// + public RelayCommand SaveJobsCommand { get; set; } + #endregion #region Constructors @@ -302,6 +306,7 @@ namespace Tango.MachineStudio.Developer.ViewModels RemoveJobCommand = new RelayCommand(RemoveJob); AddBrushStopCommand = new RelayCommand(AddBrushStop); RemoveBrushStopCommand = new RelayCommand(RemoveBrushStop); + SaveJobsCommand = new RelayCommand(SaveJobs); } #endregion @@ -325,6 +330,14 @@ namespace Tango.MachineStudio.Developer.ViewModels private void SelectedProcessParametersTable_DyeingSpeedChanged(object sender, EventArgs e) { + if (SelectedSegment != null) + { + foreach (var liquidVolume in SelectedSegment.BrushStops.SelectMany(x => x.LiquidVolumes)) + { + liquidVolume.Invalidate(); + } + } + UpdateEstimatedDuration(); } @@ -332,6 +345,11 @@ namespace Tango.MachineStudio.Developer.ViewModels #region Virtual Methods + protected virtual void OnSelectedParametersTableChanged() + { + SetSegmentBrushStopsLiquidVolumes(SelectedSegment); + } + /// /// Called when the process parameters table group has been changed /// @@ -400,6 +418,17 @@ namespace Tango.MachineStudio.Developer.ViewModels #region Private Methods + private async void SaveJobs() + { + if (SelectedMachine != null) + { + using (_notification.PushTaskItem("Saving machine jobs...")) + { + await SelectedMachine.SaveAsync(); + } + } + } + private void UpdateEstimatedDuration() { if (SelectedJob != null && SelectedProcessParametersTable != null) @@ -410,11 +439,11 @@ namespace Tango.MachineStudio.Developer.ViewModels private void SetSegmentBrushStopsLiquidVolumes(Segment segment) { - if (!DesignMode) + if (!DesignMode && segment != null) { foreach (var stop in segment.BrushStops) { - stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML); + stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML, SelectedProcessParametersTable); } } } @@ -522,7 +551,6 @@ namespace Tango.MachineStudio.Developer.ViewModels { if (SelectedJob != null && SelectedSegment != null) { - SelectedSegment.DefferedDelete(); SelectedJob.Segments.Remove(SelectedSegment); } } @@ -550,7 +578,6 @@ namespace Tango.MachineStudio.Developer.ViewModels { if (SelectedMachine != null && SelectedJob != null) { - SelectedJob.Delete(); SelectedMachine.Jobs.Remove(SelectedJob); } } @@ -591,7 +618,7 @@ namespace Tango.MachineStudio.Developer.ViewModels var stop = new BrushStop(); stop.ColorSpace = Adapter.ColorSpaces.FirstOrDefault(); stop.Color = Colors.Black; - stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML); + stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML, SelectedProcessParametersTable); SelectedSegment.BrushStops.Add(stop); } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml index 0c3cd62b5..284ffe925 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml @@ -503,6 +503,15 @@ + + + + @@ -570,7 +579,7 @@ Length - + -- cgit v1.3.1