diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2024-12-05 02:38:10 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2024-12-05 02:38:10 +0200 |
| commit | b77fbb01ed5b63b65f6e755fef9ca49c3e58ea50 (patch) | |
| tree | 40013e359a230404d0bf4fd4e6fbfb7bdd862432 /Software/Visual_Studio/FSE | |
| parent | ec3b8fd0d0b4d980a5d93c5fa11b4717cbd0c875 (diff) | |
| download | Tango-b77fbb01ed5b63b65f6e755fef9ca49c3e58ea50.tar.gz Tango-b77fbb01ed5b63b65f6e755fef9ca49c3e58ea50.zip | |
Last say on extra inks branch
Diffstat (limited to 'Software/Visual_Studio/FSE')
7 files changed, 220 insertions, 191 deletions
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/CsvModel.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/CsvModel.cs index 9e1485f07..783089fcf 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/CsvModel.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/CsvModel.cs @@ -41,6 +41,11 @@ namespace Tango.FSE.Statistics.Models public String InputMagenta { get; set; } public String InputYellow { get; set; } public String InputBlack { get; set; } + public String InputBBlue { get; set; } + public String InputOrange { get; set; } + public String InputRubine { get; set; } + public String InputNavy { get; set; } + public String InputViolet { get; set; } public String OutputCyan { get; set; } public String OutputMagenta { get; set; } public String OutputYellow { get; set; } @@ -48,6 +53,14 @@ namespace Tango.FSE.Statistics.Models public String OutputLightCyan { get; set; } public String OutputLightMagenta { get; set; } public String OutputLightYellow { get; set; } + public String OutputBlue { get; set; } + public String OutputLightBlue { get; set; } + public String OutputOrange { get; set; } + public String OutputLightOrange { get; set; } + public String OutputRubine { get; set; } + public String OutputLightRubine { get; set; } + public String OutputNavy { get; set; } + public String OutputViolet { get; set; } public String OutputTransparentInk { get; set; } public String OutputLubricant { get; set; } public String FailureReason { get; set; } diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/LiquidQuantityModel.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/LiquidQuantityModel.cs index 9ce4768b5..37602258f 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/LiquidQuantityModel.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/LiquidQuantityModel.cs @@ -3,14 +3,15 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.BL.Entities; using Tango.BL.Enumerations; namespace Tango.FSE.Statistics.Models { public class LiquidQuantityModel { - public LiquidTypes LiquidType { get; set; } public double Quantity { get; set; } + public LiquidType LiquidType { get; set; } public double Liters { @@ -21,7 +22,7 @@ namespace Tango.FSE.Statistics.Models { get { - return LiquidType.ToDescription() + $": {Liters.ToString("0.0000")} Liters"; + return LiquidType.Name + $": {Liters.ToString("0.0000")} Liters"; } } } diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StatsModel.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StatsModel.cs index 773bea60b..ab2119573 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StatsModel.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StatsModel.cs @@ -31,18 +31,18 @@ namespace Tango.FSE.Statistics.Models public StatsModel() { - LiquidQuantities = new List<LiquidQuantityModel>() + var liquidQuantities = new List<LiquidQuantityModel>(); + + foreach (var item in Enum.GetValues(typeof(LiquidTypes)).Cast<int>()) { - new LiquidQuantityModel() { LiquidType = LiquidTypes.Cyan, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.Magenta, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.Yellow, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.Black, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.LightCyan, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.LightMagenta, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.LightYellow, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.TransparentInk, Quantity = 1 }, - new LiquidQuantityModel() { LiquidType = LiquidTypes.Lubricant, Quantity = 1 }, - }; + liquidQuantities.Add(new LiquidQuantityModel() + { + LiquidType = new Tango.BL.Entities.LiquidType() { Code = item }, + Quantity = 1 + }); + } + + LiquidQuantities = liquidQuantities; FailedRuns = 1; CompletedRuns = 1; diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs index d979fe55b..6f92ca2e8 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs @@ -58,94 +58,63 @@ namespace Tango.FSE.Statistics.Models case ColorSpaces.Catalog: return $"{Catalog} => {CatalogItem}"; case ColorSpaces.Volume: - return $"{Math.Round(Cyan, 2)}, {Math.Round(Magenta, 2)}, {Math.Round(Yellow, 2)}, {Math.Round(Black, 2)}"; + return String.Join("\n", GetVolumeInputs().Where(x => x.Volume > 0).Select(x => x.LiquidType.Name + ": " + Math.Round(x.Volume, 2))); } return "Unspecified"; } } - public TimeSpan Duration + public String OutputString { get { - return JobRun.EndDate - JobRun.StartDate; + return String.Join("\n", Output.Where(x => x.Volume > 0).Select(x => x.LiquidType.Name + ": " + Math.Round(x.Volume, 2))); } } - public double CyanOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.Cyan); } - } - - public double MagentaOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.Magenta); } - } - - public double YellowOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.Yellow); } - } - - public double BlackOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.Black); } - } - - public double LightCyanOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.LightCyan); } - } - - public double LightMagentaOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.LightMagenta); } - } - - public double LightYellowOutput + public List<PresentationLiquidVolume> InputVolumes { - get { return GetLiquidTypeOfDefault(LiquidTypes.LightYellow); } - } - - public double TransparentInkOutput - { - get { return GetLiquidTypeOfDefault(LiquidTypes.TransparentInk); } + get + { + return GetVolumeInputs().Where(x => x.Volume > 0).ToList(); + } } - public double LubricantOutput + public List<PresentationLiquidVolume> Output { - get { return GetLiquidTypeOfDefault(LiquidTypes.Lubricant); } + get + { + var output = new List<PresentationLiquidVolume>(); + output.AddRange(LiquidVolumes.Where(x => x.LiquidType.HasPigment && x.Volume > 0).OrderBy(x => x.LiquidType.PreferredIndex)); + output.Add(LiquidVolumes.FirstOrDefault(x => x.LiquidType.Type == LiquidTypes.TransparentInk)); + return output; + } } - private double GetLiquidTypeOfDefault(LiquidTypes liquidType) + public TimeSpan Duration { - var lt = LiquidVolumes.FirstOrDefault(x => x.LiquidType == liquidType); - - if (lt != null) + get { - return Math.Round(lt.Volume, 2); + return JobRun.EndDate - JobRun.StartDate; } - - return 0; } public List<LiquidQuantityModel> LiquidQuantities { get { - return new List<LiquidQuantityModel>() + var quantities = new List<LiquidQuantityModel>(); + + foreach (var liquidVolume in LiquidVolumes) { - new LiquidQuantityModel(){ LiquidType = LiquidTypes.Cyan, Quantity = JobRun.CyanQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.Magenta, Quantity = JobRun.MagentaQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.Yellow, Quantity = JobRun.YellowQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.Black, Quantity = JobRun.BlackQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.LightCyan, Quantity = JobRun.LightCyanQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.LightMagenta, Quantity = JobRun.LightMagentaQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.LightYellow, Quantity = JobRun.LightYellowQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.TransparentInk, Quantity = JobRun.TransparentQuantity }, - new LiquidQuantityModel(){ LiquidType = LiquidTypes.Lubricant, Quantity = JobRun.LubricantQuantity }, - }; + LiquidQuantityModel model = new LiquidQuantityModel(); + model.LiquidType = liquidVolume.LiquidType; + model.Quantity = (double)typeof(JobRun).GetProperty(model.LiquidType.Name.Replace(" ", "") + "Quantity").GetValue(JobRun); + quantities.Add(model); + } + + return quantities; } } @@ -164,8 +133,11 @@ namespace Tango.FSE.Statistics.Models public String LogicalLength { - get { var length = IsEureka ? JobRun.JobLogicalLength * 4 : JobRun.JobLogicalLength; - return JobRun.NumberOfUnits > 1 ? $"{length} x{JobRun.NumberOfUnits}" : length.ToString(); } + get + { + var length = IsEureka ? JobRun.JobLogicalLength * 4 : JobRun.JobLogicalLength; + return JobRun.NumberOfUnits > 1 ? $"{length} x{JobRun.NumberOfUnits}" : length.ToString(); + } } public double JobLength diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs index a21619aac..c301621f6 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs @@ -1,4 +1,6 @@ -using Newtonsoft.Json; +using LiveCharts; +using LiveCharts.Wpf; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -10,6 +12,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; +using System.Windows.Media; using Tango.BL; using Tango.BL.DTO; using Tango.BL.Entities; @@ -21,6 +24,7 @@ using Tango.Core.ExtensionMethods; using Tango.CSV; using Tango.FSE.Common; using Tango.FSE.Common.AutoComplete; +using Tango.FSE.Common.Converters; using Tango.FSE.Common.Navigation; using Tango.FSE.Common.Notifications; using Tango.FSE.Common.Statistics; @@ -39,6 +43,7 @@ namespace Tango.FSE.Statistics.ViewModels private StatisticsModel _model; private String _currentFineTuningSessionID; private List<StopModel> _fineTuningStops; + private List<LiquidType> _liquidTypes; #region Properties @@ -171,6 +176,14 @@ namespace Tango.FSE.Statistics.ViewModels get { return Stops != null && Stops.Count > 0 && Stops[0].JobIndex != NULL_JOB_INDEX; } } + private SeriesCollection _seriesCollection; + public SeriesCollection SeriesCollection + { + get { return _seriesCollection; } + set { _seriesCollection = value; RaisePropertyChangedAuto(); } + } + + #endregion #region Commands @@ -350,6 +363,7 @@ namespace Tango.FSE.Statistics.ViewModels filters.RmlGuids = SelectedThreads.SynchedSource.Select(x => x.Guid).ToList(); _model = await StatisticsProvider.GetStatistics(filters); + _liquidTypes = _model.StatisticsResult.LiquidTypes.Select(x => x.ToObservable()).ToList(); List<StopModel> stops = new List<StopModel>(); @@ -447,11 +461,6 @@ namespace Tango.FSE.Statistics.ViewModels stop.Green = jobStop.Green; stop.Blue = jobStop.Blue; - stop.Cyan = jobStop.Cyan; - stop.Magenta = jobStop.Magenta; - stop.Yellow = jobStop.Yellow; - stop.Black = jobStop.Black; - stop.Catalog = jobStop.Catalog; stop.CatalogItem = jobStop.CatalogItem; @@ -495,37 +504,47 @@ namespace Tango.FSE.Statistics.ViewModels stats.TotalDyeingTime = TimeSpan.FromHours(timeRuns.Sum(x => (x.JobRun.EndDate - x.JobRun.ActualStartDate.Value).TotalHours)); stats.AverageDyeingTime = TimeSpan.FromHours(timeRuns.Average(x => (x.JobRun.EndDate - x.JobRun.ActualStartDate.Value).TotalHours)); + SeriesCollection seriesCollection = new SeriesCollection(); + List<LiquidQuantityModel> liquidQuantities = new List<LiquidQuantityModel>(); - Dictionary<LiquidTypes, double> quantities = new Dictionary<LiquidTypes, double>(); - quantities.Add(LiquidTypes.Cyan, 0); - quantities.Add(LiquidTypes.Magenta, 0); - quantities.Add(LiquidTypes.Yellow, 0); - quantities.Add(LiquidTypes.Black, 0); - quantities.Add(LiquidTypes.LightCyan, 0); - quantities.Add(LiquidTypes.LightMagenta, 0); - quantities.Add(LiquidTypes.LightYellow, 0); - quantities.Add(LiquidTypes.TransparentInk, 0); - quantities.Add(LiquidTypes.Lubricant, 0); + foreach (var liquidType in _liquidTypes.ToList()) + { + liquidQuantities.Add(new LiquidQuantityModel() + { + LiquidType = liquidType, + Quantity = 0 + }); + } foreach (var stop in Stops) { - quantities[LiquidTypes.Cyan] += stop.JobRun.CyanQuantity; - quantities[LiquidTypes.Magenta] += stop.JobRun.MagentaQuantity; - quantities[LiquidTypes.Yellow] += stop.JobRun.YellowQuantity; - quantities[LiquidTypes.Black] += stop.JobRun.BlackQuantity; - quantities[LiquidTypes.LightCyan] += stop.JobRun.LightCyanQuantity; - quantities[LiquidTypes.LightMagenta] += stop.JobRun.LightMagentaQuantity; - quantities[LiquidTypes.LightYellow] += stop.JobRun.LightYellowQuantity; - quantities[LiquidTypes.TransparentInk] += stop.JobRun.TransparentQuantity; - quantities[LiquidTypes.Lubricant] += stop.JobRun.LubricantQuantity; + foreach (var quantity in liquidQuantities) + { + quantity.Quantity += (double)typeof(JobRun).GetProperty(quantity.LiquidType.Type.ToString() + "Quantity").GetValue(stop.JobRun); + } } - foreach (var item in quantities) + var foreground = Application.Current.Resources["FSE_PrimaryForegroundBrush"] as SolidColorBrush; + var border = Application.Current.Resources["FSE_BorderBrush"] as SolidColorBrush; + + foreach (var liquidQuantity in liquidQuantities) { - liquidQuantities.Add(new LiquidQuantityModel() { LiquidType = item.Key, Quantity = item.Value }); + PieSeries series = new PieSeries(); + series.Foreground = foreground; + series.Stroke = border; + series.Fill = liquidQuantity.LiquidType.LiquidTypeBrush; + series.FontSize = 12; + series.Title = liquidQuantity.Title; + series.Values = new ChartValues<double>() { Convert.ToDouble(liquidQuantity.Quantity) }; + series.DataLabels = false; + series.LabelPoint = Stats.QuantityCounts; + + seriesCollection.Add(series); } + SeriesCollection = seriesCollection; + stats.LiquidQuantities = liquidQuantities; } catch (Exception ex) @@ -639,11 +658,11 @@ namespace Tango.FSE.Statistics.ViewModels input = $"{stop.Catalog}\t{stop.CatalogItem}"; break; case ColorSpaces.Volume: - input = $"{stop.Cyan}\t{stop.Magenta}\t{stop.Yellow}\t{stop.Black}"; + input = String.Join("\t", stop.GetVolumeInputs().Where(x => x.Volume > 0).Select(x => x.Volume)); break; } - Clipboard.SetText($"{stop.ColorSpace}\t{input}\t{stop.CyanOutput}\t{stop.MagentaOutput}\t{stop.YellowOutput}\t{stop.BlackOutput}\t{stop.LightCyanOutput}\t{stop.LightMagentaOutput}\t{stop.LightYellowOutput}\t{stop.TransparentInkOutput}", TextDataFormat.Text); + Clipboard.SetText($"{stop.ColorSpace}\t{input}\t{String.Join("\t", stop.Output.Where(x => x.LiquidType.HasPigment).Where(x => x.Volume > 0).Select(x => x.Volume))}", TextDataFormat.Text); } #endregion @@ -704,18 +723,23 @@ namespace Tango.FSE.Statistics.ViewModels "Measured B", "Delta E", "Approved", - "Input Red", - "Input Green", - "Input Blue", - "Input L", - "Input A", - "Input B", + "Input RGB (R)", + "Input RGB (G)", + "Input RGB (B)", + "Input LAB (L)", + "Input LAB (A)", + "Input LAB (B)", "Input Catalog", "Input Catalog Item", "Input Cyan", "Input Magenta", "Input Yellow", "Input Black", + "Input Blue", + "Input Orange", + "Input Rubine", + "Input Navy", + "Input Violet", "Output Cyan", "Output Magenta", "Output Yellow", @@ -723,6 +747,14 @@ namespace Tango.FSE.Statistics.ViewModels "Output Light Cyan", "Output Light Magenta", "Output Light Yellow", + "Output Blue", + "Output Light Blue", + "Output Orange", + "Output Light Orange", + "Output Rubine", + "Output Light Rubine", + "Output Navy", + "Output Violet", "Output Transparent Ink", "Output Lubricant", "Failure Reason", @@ -763,10 +795,16 @@ namespace Tango.FSE.Statistics.ViewModels model.InputCatalogItem = stop.CatalogItem; break; case ColorSpaces.Volume: - model.InputCyan = stop.Cyan.ToString(); - model.InputMagenta = stop.Magenta.ToString(); - model.InputYellow = stop.Yellow.ToString(); - model.InputBlack = stop.Black.ToString(); + model.InputCyan = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Cyan).ToString(); + model.InputMagenta = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Magenta).ToString(); + model.InputYellow = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Yellow).ToString(); + model.InputBlack = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Black).ToString(); + + model.InputBBlue = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Blue).ToString(); + model.InputOrange = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Orange).ToString(); + model.InputRubine = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Rubine).ToString(); + model.InputNavy = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Navy).ToString(); + model.InputViolet = stop.GetLiquidVolumeInputOrZero(LiquidTypes.Violet).ToString(); break; } @@ -787,15 +825,25 @@ namespace Tango.FSE.Statistics.ViewModels } } - model.OutputCyan = stop.CyanOutput.ToString(); - model.OutputMagenta = stop.MagentaOutput.ToString(); - model.OutputYellow = stop.YellowOutput.ToString(); - model.OutputBlack = stop.BlackOutput.ToString(); - model.OutputLightCyan = stop.LightCyanOutput.ToString(); - model.OutputLightMagenta = stop.LightMagentaOutput.ToString(); - model.OutputLightYellow = stop.LightYellowOutput.ToString(); - model.OutputTransparentInk = stop.TransparentInkOutput.ToString(); - model.OutputLubricant = stop.LubricantOutput.ToString(); + model.OutputCyan = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Cyan).ToString(); + model.OutputMagenta = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Magenta).ToString(); + model.OutputYellow = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Yellow).ToString(); + model.OutputBlack = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Black).ToString(); + model.OutputLightCyan = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.LightCyan).ToString(); + model.OutputLightMagenta = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.LightMagenta).ToString(); + model.OutputLightYellow = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.LightYellow).ToString(); + + model.OutputBlue = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Blue).ToString(); + model.OutputLightBlue = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.LightBlue).ToString(); + model.OutputOrange = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Orange).ToString(); + model.OutputLightOrange = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.LightOrange).ToString(); + model.OutputRubine = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Rubine).ToString(); + model.OutputLightRubine = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.LightRubine).ToString(); + model.OutputNavy = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Navy).ToString(); + model.OutputViolet = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Violet).ToString(); + + model.OutputTransparentInk = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.TransparentInk).ToString(); + model.OutputLubricant = stop.GetLiquidVolumeOutputOrZero(LiquidTypes.Lubricant).ToString(); model.FailureReason = stop.JobRun.FailedMessage; csvFile.Append(model); diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml index 0e1d8cb60..205253aa9 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml @@ -274,7 +274,7 @@ <DataGridTextColumn Header="DISTANCE" Width="100" CellStyle="{StaticResource EmptyColumnStyle2}" /> <DataGridTextColumn Header="OFFSET" Width="75" Binding="{Binding StartMeters}" /> <DataGridTextColumn Header="COLOR SPACE" Width="120" Binding="{Binding ColorSpace}" /> - <DataGridTemplateColumn Header="INPUT" Width="150"> + <DataGridTemplateColumn Header="INPUT" Width="300"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <ContentControl Content="{Binding}"> @@ -283,11 +283,39 @@ <Setter Property="ContentTemplate"> <Setter.Value> <DataTemplate> - <TextBlock Text="{Binding Input}"></TextBlock> + <TextBlock Margin="-5" Text="{Binding Input,Mode=OneWay}" TextWrapping="Wrap" FontSize="10"></TextBlock> </DataTemplate> </Setter.Value> </Setter> <Style.Triggers> + <DataTrigger Binding="{Binding ColorSpace}" Value="Volume"> + <Setter Property="ContentTemplate"> + <Setter.Value> + <DataTemplate> + <ItemsControl ClipToBounds="False" Margin="0 -15" VerticalAlignment="Center" ItemsSource="{Binding InputVolumes,Mode=OneWay}" Background="Transparent" ToolTip="{Binding Input,Mode=OneWay}"> + <ItemsControl.ItemsPanel> + <ItemsPanelTemplate> + <WrapPanel/> + </ItemsPanelTemplate> + </ItemsControl.ItemsPanel> + <ItemsControl.ItemTemplate> + <DataTemplate> + <Border ClipToBounds="False" Background="#7A7A7A" Padding="4 1" Margin="10 0 5 5" CornerRadius="5" BorderThickness="1" BorderBrush="#1B1B1B"> + <Grid> + <Grid Margin="-15 -10 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"> + <Ellipse HorizontalAlignment="Center" VerticalAlignment="Center" Fill="{Binding LiquidType.LiquidTypeBrush}" Width="15" Height="15" Stroke="#BDBDBD" StrokeThickness="0.5" /> + <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 1 0 0" Foreground="Black" Text="{Binding LiquidType.ShortName}" FontSize="10"></TextBlock> + </Grid> + <TextBlock Foreground="White" Text="{Binding Volume,StringFormat='#.##',Mode=OneWay,TargetNullValue=0}" FontSize="11"></TextBlock> + </Grid> + </Border> + </DataTemplate> + </ItemsControl.ItemTemplate> + </ItemsControl> + </DataTemplate> + </Setter.Value> + </Setter> + </DataTrigger> <DataTrigger Binding="{Binding ColorSpace}" Value="Catalog"> <Setter Property="ContentTemplate"> <Setter.Value> @@ -312,27 +340,26 @@ <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Grid> - <StackPanel Orientation="Horizontal"> - <Grid> - <TextBlock HorizontalAlignment="Center" FontWeight="Bold"> - <Run Foreground="Cyan" Text="{Binding CyanOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="Magenta" Text="{Binding MagentaOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="Yellow" Text="{Binding YellowOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="Black" Text="{Binding BlackOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="#9BFFFF" Text="{Binding LightCyanOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="#FFA5FF" Text="{Binding LightMagentaOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="#FFFF9B" Text="{Binding LightYellowOutput,Mode=OneWay,TargetNullValue=0}"></Run> - , - <Run Foreground="#BBBBBB" Text="{Binding TransparentInkOutput,Mode=OneWay,TargetNullValue=0}"></Run> - </TextBlock> - </Grid> - </StackPanel> + <ItemsControl Margin="0 -15" VerticalAlignment="Center" ItemsSource="{Binding Output,Mode=OneWay}" Background="Transparent" ToolTip="{Binding OutputString}"> + <ItemsControl.ItemsPanel> + <ItemsPanelTemplate> + <WrapPanel/> + </ItemsPanelTemplate> + </ItemsControl.ItemsPanel> + <ItemsControl.ItemTemplate> + <DataTemplate> + <Border ClipToBounds="False" Background="#7A7A7A" Padding="4 1" Margin="10 0 5 5" CornerRadius="5" BorderThickness="1" BorderBrush="#1B1B1B"> + <Grid> + <Grid Margin="-15 -10 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"> + <Ellipse HorizontalAlignment="Center" VerticalAlignment="Center" Fill="{Binding LiquidType.LiquidTypeBrush}" Width="15" Height="15" Stroke="#BDBDBD" StrokeThickness="0.5" /> + <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 1 0 0" Foreground="Black" Text="{Binding LiquidType.ShortName}" FontSize="10"></TextBlock> + </Grid> + <TextBlock Foreground="White" Text="{Binding Volume,StringFormat='#.##',Mode=OneWay,TargetNullValue=0}" FontSize="11"></TextBlock> + </Grid> + </Border> + </DataTemplate> + </ItemsControl.ItemTemplate> + </ItemsControl> <Button Command="{Binding ShowExtendedInfoCommand}" CommandParameter="{Binding}" Background="Transparent" Style="{StaticResource FSE_FlatButton_ForegroundAccentHover}" Foreground="{StaticResource FSE_PrimaryAccentBrush}" FontSize="{StaticResource FSE_SmallerFontSize}" Height="Auto" Padding="0" Cursor="Hand" Margin="0 0 0 0" Visibility="{Binding IsFineTuning,Converter={StaticResource BooleanToVisibilityConverter}}" HorizontalAlignment="Right">More info...</Button> </Grid> @@ -547,18 +574,8 @@ <DockPanel> <TextBlock FontSize="12" DockPanel.Dock="Bottom" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 0 0 3">Ink Consumption</TextBlock> - <lvc:PieChart Opacity="0.8" FontSize="{StaticResource FSE_SmallFontSize}" DisableAnimations="True" LegendLocation="None" Hoverable="True" DataTooltip="{x:Null}" HorizontalAlignment="Center" Height="155" Width="155" VerticalAlignment="Top" Margin="0 0 0 0"> - <lvc:PieChart.Series> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[0].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[0].Title}" Values="{Binding Stats.LiquidQuantities[0].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[1].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[1].Title}" Values="{Binding Stats.LiquidQuantities[1].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[2].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[2].Title}" Values="{Binding Stats.LiquidQuantities[2].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[3].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[3].Title}" Values="{Binding Stats.LiquidQuantities[3].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[4].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[4].Title}" Values="{Binding Stats.LiquidQuantities[4].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[5].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[5].Title}" Values="{Binding Stats.LiquidQuantities[5].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[6].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[6].Title}" Values="{Binding Stats.LiquidQuantities[6].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[7].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[7].Title}" Values="{Binding Stats.LiquidQuantities[7].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - <lvc:PieSeries Foreground="{StaticResource FSE_PrimaryForegroundBrush}" Stroke="{StaticResource FSE_BorderBrush}" Fill="{Binding Stats.LiquidQuantities[8].LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}" FontSize="12" Title="{Binding Stats.LiquidQuantities[8].Title}" Values="{Binding Stats.LiquidQuantities[8].Quantity,Converter={StaticResource DoubleToChartValuesConverter}}" DataLabels="False" LabelPoint="{Binding Stats.QuantityCounts}"/> - </lvc:PieChart.Series> + <lvc:PieChart Series="{Binding SeriesCollection}" Opacity="0.8" FontSize="{StaticResource FSE_SmallFontSize}" DisableAnimations="True" LegendLocation="None" Hoverable="True" DataTooltip="{x:Null}" HorizontalAlignment="Center" Height="155" Width="155" VerticalAlignment="Top" Margin="0 0 0 0"> + </lvc:PieChart> </DockPanel> @@ -572,11 +589,11 @@ <DataTemplate> <Border Background="Transparent"> <StackPanel Orientation="Horizontal" Margin="4"> - <Ellipse VerticalAlignment="Top" Margin="0 0 0 0" StrokeThickness="1" Stroke="{StaticResource FSE_BorderBrush}" Width="30" Height="30" Fill="{Binding LiquidType,Converter={StaticResource LiquidTypeToColorConverter}}"> + <Ellipse VerticalAlignment="Top" Margin="0 0 0 0" StrokeThickness="1" Stroke="{StaticResource FSE_BorderBrush}" Width="30" Height="30" Fill="{Binding LiquidType.LiquidTypeBrush}"> </Ellipse> <StackPanel Orientation="Vertical" Margin="4 2 0 0"> - <TextBlock Text="{Binding LiquidType,Converter={StaticResource EnumToDescriptionConverter}}" FontWeight="SemiBold"></TextBlock> + <TextBlock Text="{Binding LiquidType.Name}" FontWeight="SemiBold"></TextBlock> <TextBlock > <Run Text="{Binding Liters,Mode=OneWay,StringFormat='0.000'}"></Run> <Run Text=" liters"></Run> diff --git a/Software/Visual_Studio/FSE/Tango.FSE.Common/Controls/MachineView.xaml b/Software/Visual_Studio/FSE/Tango.FSE.Common/Controls/MachineView.xaml index 9db3fc735..cfdf46701 100644 --- a/Software/Visual_Studio/FSE/Tango.FSE.Common/Controls/MachineView.xaml +++ b/Software/Visual_Studio/FSE/Tango.FSE.Common/Controls/MachineView.xaml @@ -64,19 +64,6 @@ <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/> </Grid>--> - <UniformGrid Width="310" Canvas.Top="295" Canvas.Left="420" TextElement.Foreground="#252525" Rows="1" Columns="10" TextElement.FontSize="9"> - <TextBlock HorizontalAlignment="Center">1</TextBlock> - <TextBlock HorizontalAlignment="Center">2</TextBlock> - <TextBlock HorizontalAlignment="Center">3</TextBlock> - <TextBlock HorizontalAlignment="Center">4</TextBlock> - <TextBlock HorizontalAlignment="Center">5</TextBlock> - <TextBlock HorizontalAlignment="Center">6</TextBlock> - <TextBlock HorizontalAlignment="Center">7</TextBlock> - <TextBlock HorizontalAlignment="Center">8</TextBlock> - <TextBlock HorizontalAlignment="Center">9</TextBlock> - <TextBlock HorizontalAlignment="Center">10</TextBlock> - </UniformGrid> - <Grid x:Name="gridIds" Width="310" Height="195" Canvas.Top="314" Canvas.Left="420"> <ListBox ItemsSource="{Binding Configuration.IdsPacks}" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ListBox.ItemContainerStyle> @@ -95,7 +82,7 @@ <DataTemplate> <Grid MaxWidth="35"> <Grid.RowDefinitions> - <RowDefinition Height="11"/> + <RowDefinition Height="14"/> <RowDefinition Height="1*"/> <RowDefinition Height="30"/> </Grid.RowDefinitions> @@ -173,7 +160,7 @@ </Border> </Grid> - <TextBlock Grid.Row="0" FontSize="9" HorizontalAlignment="Center" VerticalAlignment="Top" Text="{Binding PackIndex}"></TextBlock> + <TextBlock Grid.Row="0" FontSize="14" Margin="0 0 0 0" HorizontalAlignment="Center" VerticalAlignment="Top" Text="{Binding PackIndex}" Foreground="Black"></TextBlock> </Grid> </DataTemplate> </ItemsControl.ItemTemplate> @@ -302,18 +289,6 @@ <Image IsHitTestVisible="False" Source="{StaticResource FSE_Machine_Eureka_Full}" MaxWidth="1000" Margin="-150 -50 0 0" RenderOptions.BitmapScalingMode="Fant"/> <StackPanel Margin="160 150 0 0" Width="410" HorizontalAlignment="Left"> - <UniformGrid TextElement.Foreground="#252525" Rows="1" Columns="10" TextElement.FontSize="20"> - <TextBlock HorizontalAlignment="Center">1</TextBlock> - <TextBlock HorizontalAlignment="Center">2</TextBlock> - <TextBlock HorizontalAlignment="Center">3</TextBlock> - <TextBlock HorizontalAlignment="Center">4</TextBlock> - <TextBlock HorizontalAlignment="Center">5</TextBlock> - <TextBlock HorizontalAlignment="Center">6</TextBlock> - <TextBlock HorizontalAlignment="Center">7</TextBlock> - <TextBlock HorizontalAlignment="Center">8</TextBlock> - <TextBlock HorizontalAlignment="Center">9</TextBlock> - <TextBlock HorizontalAlignment="Center">10</TextBlock> - </UniformGrid> <Grid Height="218"> <ListBox ItemsSource="{Binding Configuration.IdsPacks}" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Background="Transparent"> @@ -326,17 +301,18 @@ </ListBox.ItemContainerStyle> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> - <UniformGrid Columns="10"></UniformGrid> + <UniformGrid Rows="1"></UniformGrid> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> - <Grid> + <Grid MaxWidth="35"> <Grid.RowDefinitions> + <RowDefinition Height="14"/> <RowDefinition Height="1*"/> <RowDefinition Height="30"/> </Grid.RowDefinitions> - <UniformGrid Columns="1" Rows="2"> + <UniformGrid Grid.Row="1" Columns="1" Rows="2" IsHitTestVisible="False"> <Grid Margin="2"> <Image IsHitTestVisible="False" Source="../Images/dispenser.png" RenderOptions.BitmapScalingMode="Fant"> <Image.Style> @@ -382,7 +358,7 @@ </Grid> </UniformGrid> - <Grid Grid.Row="1" Margin="3" IsHitTestVisible="False"> + <Grid Grid.Row="2" Margin="3" IsHitTestVisible="False"> <Grid.Style> <Style TargetType="Grid"> <Style.Triggers> @@ -409,6 +385,8 @@ </Border.Background> </Border> </Grid> + + <TextBlock Grid.Row="0" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Top" Text="{Binding PackIndex}" Foreground="Black"></TextBlock> </Grid> </DataTemplate> </ItemsControl.ItemTemplate> |
