aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2024-12-05 02:38:10 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2024-12-05 02:38:10 +0200
commitb77fbb01ed5b63b65f6e755fef9ca49c3e58ea50 (patch)
tree40013e359a230404d0bf4fd4e6fbfb7bdd862432 /Software/Visual_Studio/FSE
parentec3b8fd0d0b4d980a5d93c5fa11b4717cbd0c875 (diff)
downloadTango-b77fbb01ed5b63b65f6e755fef9ca49c3e58ea50.tar.gz
Tango-b77fbb01ed5b63b65f6e755fef9ca49c3e58ea50.zip
Last say on extra inks branch
Diffstat (limited to 'Software/Visual_Studio/FSE')
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/CsvModel.cs13
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/LiquidQuantityModel.cs5
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StatsModel.cs22
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs96
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs144
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml91
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.Common/Controls/MachineView.xaml40
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>