From b5c5758e431077d84fb53a3ff62f8e751fca2731 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 23 Sep 2019 18:22:32 +0300 Subject: Implemented Insufficient liquid levels !!! --- .../Views/EmbroideryDisplayView.xaml | 2 +- .../Views/EmbroideryImportView.xaml | 2 +- .../Views/InsufficientLiquidQuantityView.xaml | 81 ++++++++++++++++++++++ .../Views/InsufficientLiquidQuantityView.xaml.cs | 54 +++++++++++++++ 4 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml.cs (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryDisplayView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryDisplayView.xaml index 22414b4b2..2e1eaf6a1 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryDisplayView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryDisplayView.xaml @@ -9,7 +9,7 @@ xmlns:converters="clr-namespace:Tango.MachineStudio.Developer.Converters" xmlns:local="clr-namespace:Tango.MachineStudio.Developer.Views" mc:Ignorable="d" - Width="1280" Height="720" Background="White" d:DataContext="{d:DesignInstance Type=vm:EmbroideryDisplayViewVM, IsDesignTimeCreatable=False}"> + Width="1280" Height="720" Background="{StaticResource WhiteBackgroundBrush}" d:DataContext="{d:DesignInstance Type=vm:EmbroideryDisplayViewVM, IsDesignTimeCreatable=False}"> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryImportView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryImportView.xaml index 8d25719e8..d9ff176d9 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryImportView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/EmbroideryImportView.xaml @@ -10,7 +10,7 @@ xmlns:brushPicker="clr-namespace:Tango.BrushPicker;assembly=Tango.BrushPicker" xmlns:local="clr-namespace:Tango.MachineStudio.Developer.Views" mc:Ignorable="d" - Height="720" Width="1280" Background="White" d:DataContext="{d:DesignInstance Type=vm:EmbroideryImportViewVM, IsDesignTimeCreatable=False}"> + Height="720" Width="1280" Background="{StaticResource WhiteBackgroundBrush}" d:DataContext="{d:DesignInstance Type=vm:EmbroideryImportViewVM, IsDesignTimeCreatable=False}"> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml new file mode 100644 index 000000000..f0e9dc29c --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml @@ -0,0 +1,81 @@ + + + + + Insufficient Liquid Level + + There seems to be an insufficient ink levels in one or more of the following dispensers. + + The job cannot be completed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml.cs new file mode 100644 index 000000000..171cb754e --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Tango.Integration.Operation; +using static Tango.Integration.Operation.InsufficientLiquidQuantityException; + +namespace Tango.MachineStudio.Developer.Views +{ + /// + /// Interaction logic for InsufficientLiquidQuantityView.xaml + /// + public partial class InsufficientLiquidQuantityView : UserControl + { + public InsufficientLiquidQuantityView() + { + InitializeComponent(); + } + + private void IdsPackLoaded(object sender, RoutedEventArgs e) + { + Border border = sender as Border; + Grid parent = border.Parent as Grid; + IDSPackLevel packLevel = border.DataContext as IDSPackLevel; + + border.Height = ((double)packLevel.Current / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualHeight; + } + + private void Limit_Loaded(object sender, RoutedEventArgs e) + { + Rectangle rect = sender as Rectangle; + Grid parent = rect.Parent as Grid; + IDSPackLevel packLevel = rect.DataContext as IDSPackLevel; + + var top = ((double)packLevel.Required / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualHeight; + rect.Margin = new Thickness(0, 0, 0, top); + + if (packLevel.IsValid) + { + rect.Visibility = Visibility.Hidden; + } + } + } +} -- cgit v1.3.1 From cb769a96ca8841ced9cff6ed4a6c99939e139610 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 24 Sep 2019 12:07:14 +0300 Subject: Implemented auto process selection on Research module. --- ...Foundation.ProcessTools.TemplateEditor__2_.vsix | Bin 0 -> 3347595 bytes .../DeveloperModuleSettings.cs | 2 + .../ViewModels/MainViewVM.cs | 60 ++++++++++++++++++++- .../Views/JobView.xaml | 60 ++++++++++++--------- .../Views/JobView.xaml.cs | 32 ++++++----- .../Tango.ColorConversion/DefaultColorConverter.cs | 11 ++-- .../Tango.ColorConversion/IColorConverter.cs | 1 + 7 files changed, 123 insertions(+), 43 deletions(-) create mode 100644 Software/Visual_Studio/Installers/VS Extensions/Microsoft.TeamFoundation.ProcessTools.TemplateEditor__2_.vsix (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views') diff --git a/Software/Visual_Studio/Installers/VS Extensions/Microsoft.TeamFoundation.ProcessTools.TemplateEditor__2_.vsix b/Software/Visual_Studio/Installers/VS Extensions/Microsoft.TeamFoundation.ProcessTools.TemplateEditor__2_.vsix new file mode 100644 index 000000000..6e752a2ae Binary files /dev/null and b/Software/Visual_Studio/Installers/VS Extensions/Microsoft.TeamFoundation.ProcessTools.TemplateEditor__2_.vsix differ diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs index 3d0ee2461..ce2c02fe7 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs @@ -44,6 +44,8 @@ namespace Tango.MachineStudio.Developer set { _usePreferredLiquidVolumeIndex = value; RaisePropertyChangedAuto(); } } + public bool AutoProcessSelection { get; set; } + public DeveloperModuleSettings() { ProcessParametersIndices = new List(); 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 c2fad9d87..f5313d4cd 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 @@ -552,14 +552,35 @@ namespace Tango.MachineStudio.Developer.ViewModels set { _enableColorConversion = value; RaisePropertyChangedAuto(); } } + /// + /// Gets or sets the authentication provider. + /// public IAuthenticationProvider AuthenticationProvider { get; set; } + /// + /// Gets or sets the module settings. + /// public DeveloperModuleSettings Settings { get { return _settings; } set { _settings = value; RaisePropertyChangedAuto(); } } + private bool _autoProcessSelection; + /// + /// Gets or sets a value indicating whether [automatic process selection]. + /// + public bool AutoProcessSelection + { + get { return _autoProcessSelection; } + set + { + _autoProcessSelection = value; + RaisePropertyChangedAuto(); + Settings.AutoProcessSelection = _autoProcessSelection; + } + } + #endregion #region Commands @@ -864,6 +885,23 @@ namespace Tango.MachineStudio.Developer.ViewModels catch { } } + if (AutoProcessSelection) + { + try + { + var recommendedProcess = _converter.GetRecommendedProcessParameters(ActiveJob, RmlProcessParametersTableGroup); + + if (recommendedProcess != null && recommendedProcess != SelectedProcessParametersTable) + { + SelectedProcessParametersTable = recommendedProcess; + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error resolving recommended process parameters."); + } + } + Thread.Sleep(500); } } @@ -1338,6 +1376,26 @@ namespace Tango.MachineStudio.Developer.ViewModels stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML, SelectedProcessParametersTable); } + if (AutoProcessSelection) + { + LogManager.Log("Auto process parameters selection enabled. Trying to resolve the recommended process parameters..."); + try + { + var recommendedProcess = _converter.GetRecommendedProcessParameters(ActiveJob, RmlProcessParametersTableGroup); + + if (recommendedProcess != null && recommendedProcess != SelectedProcessParametersTable) + { + SelectedProcessParametersTable = recommendedProcess; + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error resolving recommended process parameters."); + _notification.ShowError("An error occurred while trying to resolve the recommended process parameters.Please try to disable the auto selection."); + return; + } + } + JobEvents.Clear(); IsJobFailed = false; IsJobCanceled = false; @@ -1448,7 +1506,7 @@ namespace Tango.MachineStudio.Developer.ViewModels } catch (InsufficientLiquidQuantityException ex) { - _notification.ShowModalDialog(new InsufficientLiquidQuantityViewVM(ex), (x) => + _notification.ShowModalDialog(new InsufficientLiquidQuantityViewVM(ex), (x) => { MachineOperator.EnableJobLiquidQuantityValidation = false; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml index 742798ce4..3bda86036 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml @@ -1431,20 +1431,15 @@ - + - - + @@ -1526,7 +1526,8 @@ - + + @@ -1559,6 +1560,7 @@ + @@ -1566,24 +1568,32 @@ - - - - + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs index 18dc795bd..28e488aae 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs @@ -251,7 +251,7 @@ namespace Tango.MachineStudio.Developer.Views private void BrushPicker_ColorChanged(object sender, BrushPicker.ColorChangedEventArgs e) { - + } private void ColorCanvas_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs e) @@ -284,7 +284,7 @@ namespace Tango.MachineStudio.Developer.Views private void listBoxSegments_PreviewMouseDown(object sender, MouseButtonEventArgs e) { - + } private void listBoxSegments_MouseEnter(object sender, MouseEventArgs e) @@ -295,22 +295,26 @@ namespace Tango.MachineStudio.Developer.Views private void OnBrushStopFieldValueChanged(object sender, RoutedPropertyChangedEventArgs e) { - BrushStop stop = null; - var dataContext = (sender as FrameworkElement).DataContext; - - if (dataContext != null) + try { - if (dataContext is BrushStop) - { - stop = dataContext as BrushStop; - } - else + BrushStop stop = null; + var dataContext = (sender as FrameworkElement).DataContext; + + if (dataContext != null) { - stop = (dataContext as LiquidVolume).BrushStop; - } + if (dataContext is BrushStop) + { + stop = dataContext as BrushStop; + } + else + { + stop = (dataContext as LiquidVolume).BrushStop; + } - _vm.OnBrushStopFieldValueChanged(stop); + _vm.OnBrushStopFieldValueChanged(stop); + } } + catch { } } private void OnBrushStopMouseDown(object sender, MouseButtonEventArgs e) diff --git a/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs b/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs index 9adbd59c3..46792f311 100644 --- a/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs +++ b/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs @@ -127,7 +127,7 @@ namespace Tango.ColorConversion conversionInput.ForwardData = ByteString.CopyFrom(rml.Cct.Data); - foreach (var processTable in rml.ProcessParametersTablesGroups.First(x => x.Active).ProcessParametersTables) + foreach (var processTable in rml.GetActiveProcessGroup().ProcessParametersTables) { conversionInput.ProcessRanges.Add(new ProcessRange() { @@ -223,6 +223,11 @@ namespace Tango.ColorConversion } public ProcessParametersTable GetRecommendedProcessParameters(Job job) + { + return GetRecommendedProcessParameters(job, job.Rml.GetActiveProcessGroup()); + } + + public ProcessParametersTable GetRecommendedProcessParameters(Job job, ProcessParametersTablesGroup group) { var stops = job.Segments.SelectMany(x => x.BrushStops).ToList(); @@ -257,11 +262,11 @@ namespace Tango.ColorConversion index = Math.Max(max_standard, max_catalog); } - var processParameters = job.Rml.GetActiveProcessGroup().ProcessParametersTables.FirstOrDefault(x => x.TableIndex == index); + var processParameters = group.ProcessParametersTables.FirstOrDefault(x => x.TableIndex == index); if (processParameters == null) { - processParameters = job.Rml.GetActiveProcessGroup().ProcessParametersTables.FirstOrDefault(); + processParameters = group.ProcessParametersTables.FirstOrDefault(); } return processParameters; diff --git a/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs b/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs index b6b569034..64615f4ae 100644 --- a/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs +++ b/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs @@ -20,5 +20,6 @@ namespace Tango.ColorConversion ConversionOutput Convert(Job job, Color color, bool generateHive); bool IsOutOfGamut(BrushStop stop); ProcessParametersTable GetRecommendedProcessParameters(Job job); + ProcessParametersTable GetRecommendedProcessParameters(Job job, ProcessParametersTablesGroup group); } } -- cgit v1.3.1