diff options
| author | Roy <Roy.mail.net@gmail.com> | 2022-09-12 05:58:56 +0300 |
|---|---|---|
| committer | Roy <Roy.mail.net@gmail.com> | 2022-09-12 05:58:56 +0300 |
| commit | 34cb4b4ffeebb27c579c58a81320fb974f366aed (patch) | |
| tree | 009714dd5ea346c3ee13a6e805397cf82875d51c /Software/Visual_Studio/MachineStudio | |
| parent | b31c6f64122ea7fbcab951ab0980b9a0db75b41b (diff) | |
| parent | ea4957385f2d1a3da2a3a6f5e0db95ca624c8173 (diff) | |
| download | Tango-34cb4b4ffeebb27c579c58a81320fb974f366aed.tar.gz Tango-34cb4b4ffeebb27c579c58a81320fb974f366aed.zip | |
Added RML Extensions Washing properties.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
13 files changed, 1022 insertions, 296 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs index 30e17d6db..feee2637a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs @@ -100,9 +100,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels } - private void OnChangeSelectedRML() + private async void OnChangeSelectedRML() { - Invalidate(); + await Invalidate(); } #region RML @@ -113,7 +113,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels { IsFree = false; - await Task.Factory.StartNew(() => + await Task.Run(() => { using (_notification.PushTaskItem("Loading RML data...")) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs index c2b00fe92..bac5f62b8 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs @@ -26,6 +26,17 @@ namespace Tango.MachineStudio.ThreadExtensions.Models } } + private DateTime _lastUpdated; + /// <summary> + /// Gets or sets the entity last updated data and time. + /// </summary> + public DateTime LastUpdated + { + get { return _lastUpdated; } + set { _lastUpdated = value; + RaisePropertyChanged(nameof(LastUpdated)); } + } + private bool _hasRMLTest; public bool HasRMLTest diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/WashingMaterialColorModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/WashingMaterialColorModel.cs new file mode 100644 index 000000000..868ce1d58 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/WashingMaterialColorModel.cs @@ -0,0 +1,255 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public class WashingMaterialColorModel : ExtendedObject + { + public class MaterialColorValueModel: ExtendedObject + { + private string _materialName; + + public string MaterialName + { + get { return _materialName; } + set + { + _materialName = value; + RaisePropertyChangedAuto(); + } + } + + private double? _colorValue; + + public double? ColorValue + { + get { return _colorValue; } + set { + _colorValue= value; + RaisePropertyChangedAuto(); + } + } + + public string RmlExtensionTestWashingResultGUID { get; set; } + } + + private int _index; + + public int Index + { + get { return _index; } + set { _index = value; } + } + + private int _color; + + public int Color + { + get { return _color; } + set + { + _color = value; + RaisePropertyChangedAuto(); + } + } + + private List<MaterialColorValueModel> _colorValues; + + public List<MaterialColorValueModel> ColorValues + { + get { return _colorValues; } + set { _colorValues = value; + RaisePropertyChangedAuto(); } + } + + + public double? WashingValue1 + { + get { + if (ColorValues.Count >= 1) + return ColorValues[0].ColorValue; + return null; + } + set { + if (ColorValues.Count >= 1) + ColorValues[0].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue2 + { + get + { + if (ColorValues.Count > 1) + return ColorValues[1].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 1) + ColorValues[1].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue3 + { + get + { + if (ColorValues.Count > 2) + return ColorValues[2].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 2) + ColorValues[2].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue4 + { + get + { + if (ColorValues.Count > 3) + return ColorValues[3].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 3) + ColorValues[3].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue5 + { + get + { + if (ColorValues.Count > 4) + return ColorValues[4].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 4) + ColorValues[4].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue6 + { + get + { + if (ColorValues.Count > 5) + return ColorValues[5].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 5) + ColorValues[5].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue7 + { + get + { + if (ColorValues.Count > 6) + return ColorValues[6].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 6) + ColorValues[6].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public string Header1 + { + get + { + if (ColorValues.Count >= 1) + return ColorValues[0].MaterialName; + return null; + } + } + public string Header2 + { + get + { + if (ColorValues.Count > 1) + return ColorValues[1].MaterialName; + return null; + } + } + public string Header3 + { + get + { + if (ColorValues.Count > 2) + return ColorValues[2].MaterialName; + return null; + } + } + public string Header4 + { + get + { + if (ColorValues.Count > 3) + return ColorValues[3].MaterialName; + return null; + } + } + public string Header5 + { + get + { + if (ColorValues.Count > 4) + return ColorValues[4].MaterialName; + return null; + } + } + public string Header6 + { + get + { + if (ColorValues.Count > 5) + return ColorValues[5].MaterialName; + return null; + } + } + public string Header7 + { + get + { + if (ColorValues.Count > 6) + return ColorValues[6].MaterialName; + return null; + } + } + + public WashingMaterialColorModel() + { + ColorValues = new List<MaterialColorValueModel>(); + } + + public void AddMaterial(string rmlExtensionTestWashingResultGuid, string materialName, double? colorValue) + { + ColorValues.Add(new MaterialColorValueModel(){ MaterialName = materialName, ColorValue = colorValue, RmlExtensionTestWashingResultGUID = rmlExtensionTestWashingResultGuid}); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj index f8d6419f6..000ab221a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj @@ -117,6 +117,7 @@ <Compile Include="Excel\TestResultsExcelModel.cs" /> <Compile Include="Excel\ThreadCharacteristicsExelModel.cs" /> <Compile Include="Models\UserModel.cs" /> + <Compile Include="Models\WashingMaterialColorModel.cs" /> <Compile Include="ViewModelLocator.cs" /> <Compile Include="ViewModels\AddItemDialogVM.cs" /> <Compile Include="ViewModels\CalibrationDataVM.cs" /> @@ -258,6 +259,10 @@ <Project>{b60c695c-61e8-4091-b506-4c45349c04aa}</Project> <Name>Tango.ColorCalibration</Name> </ProjectReference> + <ProjectReference Include="..\..\..\Tango.ColorPicker\Tango.ColorPicker.csproj"> + <Project>{a2f5af44-29ff-45d6-9d25-ecda5cce88b5}</Project> + <Name>Tango.ColorPicker</Name> + </ProjectReference> <ProjectReference Include="..\..\..\Tango.Core\Tango.Core.csproj"> <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project> <Name>Tango.Core</Name> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs index 2144d05f5..01c3b2d4f 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs @@ -223,7 +223,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels /// <summary> /// Applies calibration points to RML. /// </summary> - private void ApplyToRML(object obj) + private async void ApplyToRML(object obj) { if(SelectedTab != null && ActiveRML != null) { @@ -232,7 +232,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { IsFree = false; DateTime lastUpdated = DateTime.UtcNow; - var rml = new RmlBuilder(_active_context).Set(ActiveRML.Guid).WithLiquidFactors().Build(); + var rml = await new RmlBuilder(_active_context).Set(ActiveRML.Guid).WithLiquidFactors().BuildAsync(); if (rml != null) { var liquidTypesRmls = rml.LiquidTypesRmls; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs index 2ab1f81f1..d784c69a9 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs @@ -209,7 +209,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels OnRMLExtensionGUIDChanged(); } } - + protected string _selectedMachineGuid; /// <summary> /// Gets or sets the selected machine. @@ -431,8 +431,8 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels _active_context = ObservablesContext.CreateDefault(); - await Task.Factory.StartNew(() => - { + await Task.Run(async () => + { using (_notification.PushTaskItem("Loading Color Process Parameters ...")) { @@ -441,6 +441,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { SelectedColorProcessParameter = new ColorProcessParametersBuilder(_active_context).Set(currentcolorProcessParameter.Guid).WithColorProcessData().WithColorProcessFactor().WithColorProcessInkUptake().Build(); } + if (SelectedColorProcessParameter == null) { @@ -448,6 +449,8 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels SelectedColorProcessParameter.WhitePointL = 0.0; SelectedColorProcessParameter.WhitePointA = 0.0; SelectedColorProcessParameter.WhitePointB = 0.0; + + SelectedColorProcessParameter.ColorProcessFactors.Add(new ColorProcessFactor() { FactorColor = FactorColors.CYAN, FactorPercent = 100, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessFactors.Add(new ColorProcessFactor() { FactorColor = FactorColors.MAGENTA, FactorPercent = 100, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessFactors.Add(new ColorProcessFactor() { FactorColor = FactorColors.YELLOW, FactorPercent = 100, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); @@ -461,7 +464,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MININKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MAXINKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); _active_context.ColorProcessParameters.Add(SelectedColorProcessParameter); - _active_context.SaveChangesAsync(); + await _active_context.SaveChangesAsync(); } else if(SelectedColorProcessParameter.ColorProcessInkUptake.Count == 0) { @@ -470,7 +473,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MININKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MAXINKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); } - + var rml = await new RmlBuilder(_active_context).Set(RMLGUID).BuildAsync(); + if (rml != null && SelectedColorProcessParameter != null) + { + SelectedColorProcessParameter.WhitePointL = rml.WhitePointL; + SelectedColorProcessParameter.WhitePointA = rml.WhitePointA; + SelectedColorProcessParameter.WhitePointB = rml.WhitePointB; + } } }); @@ -775,6 +784,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels IsFree = false; SelectedColorProcessParameter.LastUpdated = DateTime.UtcNow; + var rml = await new RmlBuilder(_active_context).Set(RMLGUID).BuildAsync(); + if (rml != null) + { + rml.WhitePointL = SelectedColorProcessParameter.WhitePointL; + rml.WhitePointA = SelectedColorProcessParameter.WhitePointA; + rml.WhitePointB = SelectedColorProcessParameter.WhitePointB; + } foreach (var item in RemovedColorProcessDataBeforeSave) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs index 164d37b74..458bc913a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs @@ -303,11 +303,66 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels set { - _machines = value; RaisePropertyChanged(nameof(Machines)); + _machines = value; + LoadFilteredMachines(); + RaisePropertyChanged(nameof(Machines)); } } + private ObservableCollection<MachineModel> _filteremachines; + /// <summary> + /// Gets or sets the Machines. + /// </summary> + public ObservableCollection<MachineModel> FilteredMachines + { + get + { + return _filteremachines; + } + + set + { + _filteremachines = value; RaisePropertyChanged(nameof(FilteredMachines)); + } + + } + + private bool _showWithData; + /// <summary> + /// Gets or sets the bool show with data only. + /// </summary> + public bool ShowWithData + { + get { return _showWithData; } + set { + if(_showWithData != value) + { + _showWithData = value; + RaisePropertyChangedAuto(); + LoadFilteredMachines(); + } + } + } + + private void LoadFilteredMachines() + { + if(_showWithData) + FilteredMachines = Machines.Where(x => x.HasRMLTest).OrderBy(x => x.LastUpdated).ToObservableCollection(); + else + { + FilteredMachines = Machines.OrderBy(x=>x.Name).ToObservableCollection(); + } + + } + + private bool _canEdit; + public bool CanEdit + { + get { return _canEdit; } + set { _canEdit = value; + RaisePropertyChangedAuto(); } + } //private MachineTestResultsTabs PreviosSelectedTab { get; set; } //private MachineTestResultsTabs _selectedTab; @@ -792,19 +847,14 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels #endregion - private bool _canEdit; - public bool CanEdit - { - get { return _canEdit; } - set { _canEdit = value; - RaisePropertyChangedAuto(); } - } + public MainViewVM(INotificationProvider notificationProvider, IAuthenticationProvider authentication, IActionLogManager actionLogManager) { _notification = notificationProvider; _authentication = authentication; _actionLogManager = actionLogManager; + _showWithData = false; BackToThreadExtensionViewsCommand = new RelayCommand(BackToThreadExtensionViews, () => IsFree); SaveCommand = new RelayCommand(Save, () => IsFree); @@ -853,7 +903,6 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels AddGlossLevelItemCommand = new RelayCommand(AddGlossLevelItem); EditGlossLevelItemCommand = new RelayCommand(EditGlossLevelItem); - } @@ -924,7 +973,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } } - private void LoadRmlProperties() + private void LoadRmlProperties() { Applications = _active_context.YarnApplications.ToObservableCollection(); Brands = _active_context.YarnBrands.ToObservableCollection(); @@ -942,12 +991,16 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels Texturing = _active_context.YarnTexturings.ToObservableCollection(); YarnTypes = _active_context.YarnTypes.ToObservableCollection(); IndustrySector = _active_context.YarnIndustrysectors.ToObservableCollection(); - Machines = ObservablesStaticCollections.Instance.Machines.Select(x => new MachineModel() + + var machines = new MachinesCollectionBuilder(_active_context).SetAll().WithConfiguration().Build(); + Machines = machines.Select(x => new MachineModel() { Guid = x.Guid, Name = x.Name, SerialNumber = x.SerialNumber, - IdsPacks = x.Configuration.IdsPacks.Where(z => !z.IsEmpty) + IdsPacks = x.Configuration.IdsPacks.Where(z => !z.IsEmpty), + LastUpdated = x.LastUpdated, + HasRMLTest = false }).ToObservableCollection(); } @@ -1014,12 +1067,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels guid = rml_extention.Guid; } + + + ActiveRML = await new RmlBuilder(_active_context).Set(SelectedRMLExtension.RMLGuid).WithLiquidFactors().BuildAsync(); + ActiveRMLExtension = await new RmlExtensionsBuilder(_active_context) .Set(guid) - .WithUser() .BuildAsync(); - - ActiveRML = new RmlBuilder(_active_context).Set(SelectedRMLExtension.RMLGuid).WithLiquidFactors().Build(); if (!String.IsNullOrEmpty(ActiveRML.Manufacturer) && false == Manufacturers.Any(x => x == ActiveRML.Manufacturer)) { @@ -1028,6 +1082,17 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels Manufacturers.Add(ActiveRML.Manufacturer); } + //var colorProcessParameters = _active_context.ColorProcessParameters.Where(x => x.RmlsExtensionsGuid == guid).Select(x=>x.MachineGuid).ToList(); + //var TestResultsCollection = await new RMLExtensionTestResultsCollectionBuilder(_active_context).SetAll().ForRMLExtension(guid).BuildAsync(); + //var test1 = TestResultsCollection.Select(x => x.MachineGuid).ToList(); + //var ColorCalibration = await new RMLExtensionColorCalibrationBuilder(_active_context).SetAll().ForRMLExtension(guid).WithTests().BuildAsync(); + //var test12 = ColorCalibration.Where(x=>x.RmlExtensionColorCalibrationsTests!= null && x.RmlExtensionColorCalibrationsTests.Count() > 0).Select(x => x.MachineGuid).ToList(); + //var testResults = await new RMLExtensionColorShadeBuilder(_active_context).SetAll().ForRMLExtension(guid).WithTests().BuildAsync(); + //var test13 = testResults.Where(x => x.RmlExtensionColorShadesTests != null && x.RmlExtensionColorShadesTests.Count() > 0).Select(x => x.MachineGuid).ToList(); + + //var ulist = colorProcessParameters.Union(test1).Union(test12).Union(test13).ToList(); + + var machineIdsHasTest = (from c in _active_context.ColorProcessParameters.Where(x => x.RmlsExtensionsGuid == guid) select new { MichineGUID = c.MachineGuid }). Union(from p in _active_context.RmlExtensionTestResults.Where(x => x.RmlsExtensionsGuid == guid) @@ -1035,9 +1100,11 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels if (machineIdsHasTest.Count > 0) { + ShowWithData = true; var MachineGuid = machineIdsHasTest.First().MichineGUID; Machines.Where(x => machineIdsHasTest.Any(y => y.MichineGUID == x.Guid)).ToList().ForEach(x => x.HasRMLTest = true); - SelectedMachine = Machines.First(x => x.Guid == MachineGuid); + LoadFilteredMachines(); + SelectedMachine = FilteredMachines.First(); } else { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs index 68a886f99..624ee7216 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs @@ -18,6 +18,7 @@ using Tango.Core.Commands; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.ThreadExtensions.Models; using Tango.SharedUI; +using System.Collections.ObjectModel; namespace Tango.MachineStudio.ThreadExtensions.ViewModels { @@ -66,6 +67,18 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels RaisePropertyChanged(nameof(TestResultsFiles)); } } + + private ObservableCollection<WashingMaterialColorModel> _colorsToMaterialCollection; + + public ObservableCollection<WashingMaterialColorModel> ColorsToMaterialCollection + { + get { return _colorsToMaterialCollection; } + set { _colorsToMaterialCollection = value; + RaisePropertyChangedAuto(); + } + } + + public List<RmlExtensionTestResultsFile> TestResultsFiles { @@ -91,6 +104,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels DownLoadFileCommand = new RelayCommand<RmlExtensionTestResultsFile>(DownLoadFile); DeleteCommand = new RelayCommand<RmlExtensionTestResultsFile>(DeleteFile); DownLoadAllCommand = new RelayCommand(DownLoadAllFiles); + } #region TestResultsFiles diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs index 8a75c526f..ba7ae7238 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs @@ -34,6 +34,10 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels public event EventHandler SaveTestResults; #region Properties + + public List<WashingTestMaterial> WashingTestMaterials { get; set; } + + private SynchronizedObservableCollection<RmlExtensionTestResult> _selectedTestResults; public SynchronizedObservableCollection<RmlExtensionTestResult> SelectedTestResults @@ -125,6 +129,20 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } } + private ObservableCollection<BtsrApplicationType> _btsrApplicationTypes; + public ObservableCollection<BtsrApplicationType> BtsrApplicationTypes + { + get { return _btsrApplicationTypes; } + set { _btsrApplicationTypes = value; RaisePropertyChangedAuto(); } + } + + private ObservableCollection<BtsrYarnType> _btsrYarnTypes; + public ObservableCollection<BtsrYarnType> BtsrYarnTypes + { + get { return _btsrYarnTypes; } + set { _btsrYarnTypes = value; RaisePropertyChangedAuto(); } + } + #endregion #region Commands @@ -269,15 +287,26 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } _active_context = ObservablesContext.CreateDefault(); ResultTabs.Clear(); - LogManager.Log("Loading selected test results..."); + + if(WashingTestMaterials == null) + WashingTestMaterials = _active_context.WashingTestMaterials.OrderBy(x=> x.Name).ToList(); + + LogManager.Log("Loading selected test results..."); using (_notification.PushTaskItem("Loading Test Results Parameters ...")) { - var testResults = await new RMLExtensionTestResultsCollectionBuilder(_active_context).SetAll().ForRMLExtension(RMLExtemtionGUID).ForMachine(SelectedMachineGUID).WithRubbingAndTensileResults().WithTestResultsFiles().BuildAsync(); + + BtsrApplicationTypes = _active_context.BtsrApplicationTypes.ToObservableCollection(); + + BtsrYarnTypes = _active_context.BtsrYarnTypes.ToObservableCollection(); + + var testResults = await new RMLExtensionTestResultsCollectionBuilder(_active_context).SetAll().ForRMLExtension(RMLExtemtionGUID).ForMachine(SelectedMachineGUID).WithRubbingAndTensileResults().WithTestResultsFiles().WithWashingTestResults().WithBtsrApplicationTypes().WithBtsrYarnTypes().BuildAsync(); SelectedTestResults = testResults.OrderBy(x => x.ResultIndex).ToSynchronizedObservableCollection(); foreach (var result in SelectedTestResults) { - ResultTabs.Add(new TestResultViewVM(_notification, _actionLogManager) { TestResult = result, ThreadName = ThreadName }); + var testResultViewVM = new TestResultViewVM(_notification, _actionLogManager) { TestResult = result, ThreadName = ThreadName }; + CreateWashingResult(testResultViewVM); + ResultTabs.Add(testResultViewVM); if (result.ResultIndex == 1) { SelectedTab = ResultTabs[ResultTabs.Count - 1]; @@ -324,9 +353,57 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels tensileresults.Add(new TensileResult() { RmlExtensionTestResultsGuid = newtab.TestResult.Guid, TestResultColor = TestResultColors.WHITE, ColorPercent = null }); newtab.TestResult.TensileResults = tensileresults; + CreateWashingResult(newtab); + + return newtab; } + private void CreateWashingResult(TestResultViewVM testresultViewVM) + { + if(testresultViewVM.TestResult.RmlExtensionTestWashingResults != null && testresultViewVM.TestResult.RmlExtensionTestWashingResults.Count > 0 ) + { + var collection = new ObservableCollection<WashingMaterialColorModel>(); + Dictionary<int, WashingMaterialColorModel> colorDictionary = new Dictionary<int, WashingMaterialColorModel>(); + List< RmlExtensionTestWashingResult > washingResultsOrdersByColor = testresultViewVM.TestResult.RmlExtensionTestWashingResults.OrderBy(x=>x.IndexRow).ThenBy(c => c.WashingTestMaterials != null ? c.WashingTestMaterials.Name : c.WashingTestMaterialsGuid).ToList(); + foreach (var res in washingResultsOrdersByColor) + { + WashingMaterialColorModel wmodel = null; + if(false == colorDictionary.TryGetValue(res.IndexRow, out wmodel)) + { + wmodel = new WashingMaterialColorModel() { Color = res.Color }; + colorDictionary.Add(res.IndexRow, wmodel); + collection.Add(wmodel); + } + wmodel.AddMaterial(res.Guid, res.GetMaterialName, res.WashingValue); + } + testresultViewVM.ColorsToMaterialCollection = collection; + } + else + { + var whashingresults = new SynchronizedObservableCollection<RmlExtensionTestWashingResult>(); + var collecction = new ObservableCollection<WashingMaterialColorModel>(); + for (int index_row = 0; index_row < 6; index_row++) + { + var model = new WashingMaterialColorModel() { Color = -1 }; + + foreach (var material in WashingTestMaterials) + { + var rmlExtensionTestWashingResult = new RmlExtensionTestWashingResult() { RmlExtensionTestResultsGuid = testresultViewVM.TestResult.Guid, WashingTestMaterialsGuid = material.Guid, Color = -1, IndexRow = index_row }; + model.AddMaterial(rmlExtensionTestWashingResult.Guid, material.Name, null); + rmlExtensionTestWashingResult.WashingTestMaterials = material; + whashingresults.Add(rmlExtensionTestWashingResult); + + } + collecction.Add( model); + } + testresultViewVM.ColorsToMaterialCollection = collecction; + + testresultViewVM.TestResult.RmlExtensionTestWashingResults = whashingresults; + } + } + + #endregion #region Save @@ -369,6 +446,22 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } } + public void ApplyToWashingResults(TestResultViewVM testresultViewVM) + { + foreach ( var model in testresultViewVM.ColorsToMaterialCollection) + { + foreach( var colormodel in model.ColorValues) + { + var result = testresultViewVM.TestResult.RmlExtensionTestWashingResults.FirstOrDefault(x=> x.Guid == colormodel.RmlExtensionTestWashingResultGUID); + if( result != null) + { + result.Color = model.Color; + result.WashingValue = colormodel.ColorValue; + } + } + } + } + public async void Save() { if (String.IsNullOrEmpty(SelectedMachineGUID)) @@ -383,6 +476,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { foreach (var tab in ResultTabs) { + ApplyToWashingResults(tab); tab.TestResult.LastUpdated = DateTime.UtcNow; } _active_context.SaveChanges(); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml index 504bf0610..376392d89 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml @@ -335,13 +335,13 @@ <TextBlock FontSize="12" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0" Foreground="{StaticResource GrayBrush200}">White point</TextBlock> </Border> <Border BorderThickness="1 1 0 0" Background="Transparent" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown Minimum="-500" Maximum="500" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=DataContext.ActiveRML.WhitePointL, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path= WhitePointL, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> </Border> <Border BorderThickness="1 1 0 0" Background="Transparent" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown Minimum="-500" Maximum="500" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=DataContext.ActiveRML.WhitePointA,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown Minimum="-128" Maximum="127" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path= WhitePointA,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> </Border> <Border BorderThickness="1 1 0 0" Background="Transparent" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown Minimum="-500" Maximum="500" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=DataContext.ActiveRML.WhitePointB,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown Minimum="-128" Maximum="127" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=WhitePointB,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> </Border> </UniformGrid> </Border> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml index 820c68715..4a0839164 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml @@ -24,9 +24,13 @@ <Grid> <DockPanel> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top"> - <TextBlock Margin="40 10" FontSize="20" FontWeight="SemiBold" FontStyle="Italic">TARGET MACHINE</TextBlock> + <StackPanel Margin="40 10"> + <TextBlock FontSize="20" FontWeight="SemiBold" FontStyle="Italic">TARGET MACHINE</TextBlock> + <CheckBox Margin="0 10" IsChecked="{Binding ShowWithData}" >Show machines with data only</CheckBox> + </StackPanel> - <controls:SearchComboBox FontSize="20" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}" materialDesign:HintAssist.Hint="Serial Number" Width="280" HorizontalContentAlignment="Stretch" SearchProperty="Name" ItemsSource="{Binding Machines}"> + + <controls:SearchComboBox FontSize="20" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}" materialDesign:HintAssist.Hint="Serial Number" Width="280" HorizontalContentAlignment="Stretch" SearchProperty="Name" ItemsSource="{Binding FilteredMachines}" > <controls:SearchComboBox.ItemTemplate> <DataTemplate> <StackPanel> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml index f6262b52d..4ebc9077b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml @@ -12,10 +12,12 @@ xmlns:localconverters="clr-namespace:Tango.MachineStudio.ThreadExtensions.Converters" xmlns:global="clr-namespace:Tango.MachineStudio.ThreadExtensions" xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls" + xmlns:colorPicker="clr-namespace:Tango;assembly=Tango.ColorPicker" + xmlns:components="clr-namespace:Tango.SharedUI.Components;assembly=Tango.SharedUI" xmlns:autoComplete="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete" xmlns:fa="http://schemas.fontawesome.io/icons/" mc:Ignorable="d" - d:DesignHeight="950" d:DesignWidth="1200" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}" FontSize="16"> + d:DesignHeight="950" d:DesignWidth="1200" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}" FontSize="14"> <UserControl.Resources> @@ -23,7 +25,8 @@ <localconverters:ColorWithPercentToBrushConverter x:Key="ColorWithPercentToBrushConverter"/> <converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" /> <autoCompleteMachine:MachinesProvider x:Key="MachinesProvider" /> - + <converters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" /> + <Style TargetType="{x:Type ListBoxItem}" x:Key="basicListBoxItem"> <Setter Property="Background" Value="Transparent"/> @@ -156,6 +159,8 @@ </Setter> </Style> + + </UserControl.Resources> <Grid DataContext="{Binding TestResultsViewVM}"> <!--<Grid.RowDefinitions> @@ -169,7 +174,7 @@ <RowDefinition Height="1*"/> </Grid.RowDefinitions> - <StackPanel Orientation="Horizontal" Margin="35 0 0 0"> + <StackPanel x:Name="TabControlbuttons" Orientation="Horizontal" Margin="35 0 0 0"> <ListBox Style="{x:Null}" HorizontalAlignment="Left" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ItemContainerStyle="{StaticResource basicListBoxItem}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Background="Transparent" BorderThickness="0" ItemsSource="{Binding ResultTabs}" SelectedItem="{Binding SelectedTab}"> <ListBox.ItemsPanel> <ItemsPanelTemplate> @@ -244,10 +249,7 @@ </ItemsControl> <Grid Grid.Column="0" MinWidth="600" HorizontalAlignment="Left" > - <Grid.RowDefinitions> - <RowDefinition Height="3*"/> - <RowDefinition Height="1*"/> - </Grid.RowDefinitions> + <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> @@ -255,70 +257,155 @@ <Border Padding="10 10 20 10" Grid.ColumnSpan="2" Grid.Row="0" BorderBrush="Transparent" BorderThickness="1" > <ScrollViewer VerticalScrollBarVisibility="Auto" > - <Grid HorizontalAlignment="Left"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="1*"></ColumnDefinition> - <ColumnDefinition Width="1*"></ColumnDefinition> - </Grid.ColumnDefinitions> - <Grid.RowDefinitions> - <RowDefinition Height="Auto"/> - <RowDefinition Height="Auto"/> - <RowDefinition Height="1*"/> - </Grid.RowDefinitions> - <Border> - <StackPanel x:Name="DryerTempPanel" HorizontalAlignment="Stretch" Grid.Column="0" Grid.Row="0" > - <DockPanel Margin="0 10 0 0"> - <Button DockPanel.Dock="Right" Margin="0 0 40 0" HorizontalAlignment="Left" Padding="0" Width="200" Command="{Binding ApplyToProcessParametersCommand}" ToolTip="Apply to Process Parameters" VerticalContentAlignment="Center"> - <TextBlock FontSize="14" Background="Transparent" VerticalAlignment="Center" Margin="0 2 0 0">Apply to Process Parameters</TextBlock> + <Grid HorizontalAlignment="Left"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="1*"></ColumnDefinition> + <ColumnDefinition Width="1*"></ColumnDefinition> + </Grid.ColumnDefinitions> + <DockPanel Grid.Column="0" > + <Border DockPanel.Dock="Top"> + <StackPanel x:Name="DryerTempPanel" HorizontalAlignment="Stretch" > + <DockPanel Margin="0 0 0 0"> + <Button DockPanel.Dock="Right" Margin="0 0 40 0" HorizontalAlignment="Left" Padding="0" Width="200" Command="{Binding ApplyToProcessParametersCommand}" ToolTip="Apply to Process Parameters" VerticalContentAlignment="Center" Height="28"> + <TextBlock FontSize="14" Background="Transparent" VerticalAlignment="Center">Apply to Process Parameters</TextBlock> </Button> - <TextBlock HorizontalAlignment="Center" FontSize="21" Margin="180 10 0 0"> Process Parameters</TextBlock> - </DockPanel> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="20 10 40 10"> - <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=RubbingResultsGrid, Path= ActualWidth }" > + <TextBlock HorizontalAlignment="Center" FontSize="18" Margin="180 10 0 0"> Process Parameters</TextBlock> + </DockPanel> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="20 5 40 5"> + <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=RubbingResultsGrid, Path= ActualWidth }" > <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Dryer temperature</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Dryer temperature</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown HasDecimals="False" HorizontalContentAlignment="Left" Minimum="0" Maximum="300" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" Value="{Binding SelectedTab.TestResult.DryerTemperature, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> - </Border> + <mahapps:NumericUpDown HasDecimals="False" HorizontalContentAlignment="Left" Minimum="0" Maximum="300" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" Value="{Binding SelectedTab.TestResult.DryerTemperature, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel temperature</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel temperature</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="False" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> - </Border> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="False" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel flow</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel flow</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="20" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelFlow,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> - </Border> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="20" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelFlow,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel AVG temperature</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel AVG temperature</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelAvgTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelAvgTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> + </UniformGrid> </Border> - </UniformGrid> - </Border> - </StackPanel></Border> - <StackPanel x:Name="RubbingResultsPanel" Grid.Column="0" Grid.Row="1" Margin="0 5 0 0"> - <TextBlock HorizontalAlignment="Center" FontSize="21"> Rubbing results</TextBlock> + </StackPanel> + </Border> + <StackPanel x:Name="RubbingResultsPanel" DockPanel.Dock="Top" Margin="0 5 0 0"> + <TextBlock HorizontalAlignment="Center" FontSize="18"> Rubbing results</TextBlock> + + <DataGrid x:Name="RubbingResultsGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.RubbingResults}" Margin="20 5 40 5" FontSize="14"> + <DataGrid.ColumnHeaderStyle > + <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> + <Setter Property="FontSize" Value="14"/> + <Setter Property="HorizontalAlignment" Value="Left"/> + <Setter Property="Margin" Value="2 0 0 0"/> + <Setter Property="Padding" Value="0 5"/> + <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> + <Setter Property="HorizontalContentAlignment" Value="Left"/> + </Style> + </DataGrid.ColumnHeaderStyle> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="VerticalContentAlignment" Value="Center"></Setter> + <Setter Property="Padding" Value="0"></Setter> + <Setter Property="Margin" Value="0 0 0 0"></Setter> + <Setter Property="VerticalAlignment" Value="Center"></Setter> + </Style> + </DataGrid.CellStyle> + <DataGrid.Columns> + <DataGridTemplateColumn Header="Color" Width="80"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Border BorderThickness="0" Background="{Binding TestResultColor, Converter={StaticResource ColorNameToBrushConverter}}"> + <TextBlock Text="{Binding TestResultColor, Converter={StaticResource EnumToDescriptionConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0"></TextBlock> + </Border> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 100%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie100, StringFormat={}{0:F2}}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" FontSize="14" TextBlock.FontSize="14"/> + + + <DataGridTemplateColumn Header="GS 100%" Width="1*"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" VerticalAlignment="Center" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs100,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 200%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie200}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" FontSize="14" TextBlock.FontSize="14"/> + + <DataGridTemplateColumn Header="GS 200%" Width="1*"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" VerticalAlignment="Center" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs200,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + </DataGrid.Columns> + </DataGrid> + + </StackPanel> + + <StackPanel x:Name="WashingTestResultsPanel" DockPanel.Dock="Top" Margin="0 5 0 0"> + <TextBlock HorizontalAlignment="Center" FontSize="18"> Washing results</TextBlock> + <!--<DataGrid x:Name="WashingTestResultsHeader" HeadersVisibility="None" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.ColorsToMaterialCollection}" Margin="20 10 40 10" FontSize="14"> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="VerticalContentAlignment" Value="Center"></Setter> + <Setter Property="Padding" Value="0"></Setter> + <Setter Property="Margin" Value="0 0 0 0"></Setter> + </Style> + </DataGrid.CellStyle> + <DataGrid.Columns> + <DataGridTextColumn Width="100"></DataGridTextColumn> + <DataGridTextColumn Width="1*" Binding="{Binding Header1}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header2}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header3}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header4}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header5}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header6}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header7}" FontSize="14"/> + </DataGrid.Columns> + </DataGrid>--> + + <DataGrid x:Name="WashingTestResultsGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.ColorsToMaterialCollection}" Margin="20 10 40 10" FontSize="14"> + + <DataGrid.Resources> + <components:BindingProxy x:Key="proxy" Data="{Binding SelectedTab.ColorsToMaterialCollection}" /> + </DataGrid.Resources> - <DataGrid x:Name="RubbingResultsGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="26" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.RubbingResults}" Margin="20 10 40 10" FontSize="16"> <DataGrid.ColumnHeaderStyle > <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> - <Setter Property="FontSize" Value="16"/> + <Setter Property="FontSize" Value="14"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="Margin" Value="2 0 0 0"/> - <Setter Property="Padding" Value="0 5"/> + <Setter Property="Padding" Value="0 4"/> <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> </Style> </DataGrid.ColumnHeaderStyle> <DataGrid.CellStyle> <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> - <Setter Property="BorderThickness" Value="0"/> <Setter Property="FocusVisualStyle" Value="{x:Null}"/> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> <Setter Property="Padding" Value="0"></Setter> @@ -326,36 +413,146 @@ </Style> </DataGrid.CellStyle> <DataGrid.Columns> - <DataGridTemplateColumn Header="Color" Width="80"> + <DataGridTemplateColumn Header="" Width="100"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> - <Border BorderThickness="0" Background="{Binding TestResultColor, Converter={StaticResource ColorNameToBrushConverter}}"> - <TextBlock Text="{Binding TestResultColor, Converter={StaticResource EnumToDescriptionConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0"></TextBlock> - </Border> + <Grid> + <ToggleButton Cursor="Hand" x:Name="PopupButton" BorderThickness="0" Height="26" Background="Transparent" VerticalAlignment="Center" Margin="0 0 0 0" IsChecked="{Binding ElementName=Popup, Path=IsOpen}"> + <ToggleButton.Style> + <Style TargetType="ToggleButton" BasedOn="{StaticResource emptyToggleButton}"> + <Style.Triggers> + <DataTrigger Binding="{Binding IsOpen, ElementName=Popup}" Value="True"> + <Setter Property="IsEnabled" Value="False" /> + </DataTrigger> + </Style.Triggers> + </Style> + </ToggleButton.Style> + + <StackPanel Orientation="Horizontal"> + <materialDesign:PackIcon VerticalAlignment="Center" Kind="Pencil" Width="20" Height="20"> + <materialDesign:PackIcon.Foreground> + <SolidColorBrush Color="{Binding Color,Mode=OneWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource ColorToIntegerConverter},Delay=100}"></SolidColorBrush> + </materialDesign:PackIcon.Foreground> + </materialDesign:PackIcon> + <TextBlock Margin="5 0 0 0" FontSize="14" VerticalAlignment="Center">COLOR</TextBlock> + </StackPanel> + </ToggleButton> + <Popup x:Name="Popup" MouseDown="Popup_MouseDown" PopupAnimation="Fade" StaysOpen="False" PlacementTarget="{Binding ElementName=PopupButton}" Placement="Bottom" AllowsTransparency="True"> + <Border Background="{StaticResource WhiteBrush}" CornerRadius="5" Margin="10"> + <Border.Effect> + <DropShadowEffect ShadowDepth="0" BlurRadius="10" /> + </Border.Effect> + <Grid Margin="10" x:Name="pgrid"> + <DockPanel> + <TextBlock DockPanel.Dock="Top" HorizontalAlignment="Center">COLOR</TextBlock> + <Viewbox Width="300" Height="180" VerticalAlignment="Center" Stretch="Fill"> + <colorPicker:ColorCanvas SelectedColor="{Binding Color ,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource ColorToIntegerConverter}}" Background="Transparent" BorderThickness="0" Height="150" Width="230" /> + </Viewbox> + </DockPanel> + </Grid> + </Border> + </Popup> + </Grid> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> - <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 100%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie100, StringFormat={}{0:F2}}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" /> - + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color1grid" > + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header1}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> - <DataGridTemplateColumn Header="GS 100%" Width="1*"> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color2grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header2}"/> + </Grid> + </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs100,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> - <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 200%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie200}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" FontSize="16"/> - - <DataGridTemplateColumn Header="GS 200%" Width="1*"> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color53grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header3}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color4grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header4}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue4, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color5grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header5}"/> + </Grid> + </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs200,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue5, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color6grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header6}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue6, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="2" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color7grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header7}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue7, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="2" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> @@ -364,91 +561,200 @@ </DataGrid> </StackPanel> - <StackPanel x:Name="TensionresultsPanel" Grid.Column="1" Grid.Row="0" Margin="0 20 0 0" > - <TextBlock HorizontalAlignment="Center" FontSize="21"> Tension through the thread path</TextBlock> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 10 20 10" > - <UniformGrid Columns="4" Background="{StaticResource TransparentBackgroundBrush}" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=MechanicalPropertiesGrid, Path= ActualWidth }" > - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Tension in Zone</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Tensiometer (gr)</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Tension in Zone</TextBlock> - </Border> + + <Grid VerticalAlignment="Stretch" DockPanel.Dock="Top" Margin="10 30 10 20"> + <DockPanel x:Name="ImportExcelFile" LastChildFill="True"> + <DockPanel DockPanel.Dock="Top" Margin="0 0 20 0"> + <Button Margin="10 0 0 0" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.UploadCommand}" ToolTip="Upload selected files">Upload</Button> + <Button DockPanel.Dock="Right" Margin="0 0 10 0" HorizontalAlignment="Right" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.DownLoadAllCommand}" ToolTip="Upload selected files">Download All</Button> + </DockPanel> + + <Grid Margin="0 0 20 0" VerticalAlignment="Stretch" > + <DataGrid Margin="10" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResultsFiles}" IsReadOnly="True" + ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" MinHeight="40"> + <DataGrid.ColumnHeaderStyle > + <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> + <Setter Property="FontSize" Value="14"/> + <Setter Property="HorizontalAlignment" Value="Left"/> + <Setter Property="Margin" Value="2 0 0 0"/> + <Setter Property="Padding" Value="0 5"/> + <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> + <Setter Property="HorizontalContentAlignment" Value="Left"/> + </Style> + </DataGrid.ColumnHeaderStyle> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="VerticalContentAlignment" Value="Center"></Setter> + <Setter Property="Padding" Value="0"></Setter> + <Setter Property="Margin" Value="0 0 0 0"></Setter> + </Style> + </DataGrid.CellStyle> + <DataGrid.Columns> + <DataGridTextColumn Header="File Name" Binding="{Binding FileName}" Width="1*" FontSize="14"/> + <DataGridTextColumn Header="Progress" Width="1*" /> + <DataGridTemplateColumn Header="DownLoad" Width="140"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DownLoadFileCommand}" CommandParameter="{Binding}"> + <StackPanel Orientation="Horizontal"> + <TextBlock FontSize="14" Text="Download" VerticalAlignment="Center"></TextBlock> + <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Download" Width="18" /> + </StackPanel> + </Button> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Header="Delete" Width="140"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DeleteCommand}" CommandParameter="{Binding}"> + <StackPanel Orientation="Horizontal"> + <TextBlock FontSize="14" Text="Delete" VerticalAlignment="Center"></TextBlock> + <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Delete" Width="18" /> + </StackPanel> + </Button> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + </DataGrid.Columns> + </DataGrid> + </Grid> + </DockPanel> + </Grid> + </DockPanel> + <DockPanel Grid.Column="1" LastChildFill="True"> + <StackPanel x:Name="TensionresultsPanel" DockPanel.Dock="Top" Margin="0 20 0 0" > + <TextBlock HorizontalAlignment="Center" FontSize="18"> Tension through the thread path</TextBlock> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 5 20 5" > + <Grid Background="{StaticResource TransparentBackgroundBrush}" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=MechanicalPropertiesGrid, Path= ActualWidth }" > + <Grid.ColumnDefinitions> + <ColumnDefinition Width="2*"/> + <ColumnDefinition Width="1*"/> + <ColumnDefinition Width="2*"/> + <ColumnDefinition Width="1*"/> + <ColumnDefinition Width="2*"/> + <ColumnDefinition Width="1*"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="24"/> + <RowDefinition Height="24"/> + <RowDefinition Height="24"/> + <RowDefinition Height="24"/> + </Grid.RowDefinitions> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">MS</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">Head</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">Tension in Zone</TextBlock> + </Border> + <Border Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14">Tensiometer (gr)</TextBlock> + </Border> + <Border Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">Tension in Zone</TextBlock> + </Border> + <Border Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">MS</TextBlock> + </Border> + + <Border Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">BTSR options</TextBlock> + </Border> + <Border Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14"></TextBlock> + </Border> + <Border Grid.Row="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Head</TextBlock> + </Border> + <Border Grid.Row="1" Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">BTSR</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="1" Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">BTSR</TextBlock> + </Border> + <Border Grid.Row="1" Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">After dryer</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="1" Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Application Type</TextBlock> + </Border> + <Border Grid.Row="1" Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Margin="0 0 5 2"> + <ComboBox HorizontalAlignment="Stretch" ItemsSource="{Binding BtsrApplicationTypes}" SelectedItem="{Binding SelectedTab.TestResult.BtsrApplicationType}" DisplayMemberPath="Description" FontSize="14" Background="{StaticResource MainWindow.Background}" Padding="0" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox> + </Border> + </Border> + <Border Grid.Row="2" Grid.Column="0" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">After dryer</TextBlock> + </Border> + <Border Grid.Row="2" Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionAfterDryerMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensioinAfterDryerMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionAfterDryerMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensioinAfterDryerMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" >Puller tension</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="2" Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Puller tension</TextBlock> + </Border> + <Border Grid.Row="2" Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">Winder</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="2" Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Yarn Type</TextBlock> + </Border> + <Border Grid.Row="2" Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Margin="0 0 5 2"> + <ComboBox HorizontalAlignment="Stretch" ItemsSource="{Binding BtsrYarnTypes}" SelectedItem="{Binding SelectedTab.TestResult.BtsrYarnType}" DisplayMemberPath="Description" FontSize="14" Background="{StaticResource MainWindow.Background}" Padding="0" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox> + </Border> + </Border> + <Border Grid.Row="3" Grid.Column="0" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Winder</TextBlock> + </Border> + <Border Grid.Row="3" Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">Winder Exit Tension</TextBlock> + <Border Grid.Row="3" Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Winder Exit Tension</TextBlock> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="3" Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - </UniformGrid> - </Border> + <Border Grid.Row="3" Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tension Error</TextBlock> + </Border> + <Border Grid.Row="3" Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <StackPanel Orientation="Horizontal"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrTensionError,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + </StackPanel> + </Border> + </Grid> + </Border> </StackPanel> - <StackPanel x:Name="MechanicalPropertiesPanel" Grid.Column="1" Grid.Row="1" Margin="0 5 0 0"> - <TextBlock HorizontalAlignment="Center" FontSize="21" >Mechanical properties</TextBlock> - <DataGrid x:Name="MechanicalPropertiesGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="250" RowHeight="26" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.TensileResults}" Margin="0 10 20 10" FontSize="16"> + <StackPanel x:Name="MechanicalPropertiesPanel" DockPanel.Dock="Top" Margin="0 5 0 0"> + <TextBlock HorizontalAlignment="Center" FontSize="18" >Mechanical properties</TextBlock> + <DataGrid x:Name="MechanicalPropertiesGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="250" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.TensileResults}" Margin="0 5 20 5" FontSize="14"> <DataGrid.ColumnHeaderStyle > <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> - <Setter Property="FontSize" Value="16"/> + <Setter Property="FontSize" Value="14"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="Margin" Value="2 0 0 0"/> <Setter Property="Padding" Value="0 5"/> @@ -466,8 +772,8 @@ </Style> </DataGrid.CellStyle> <DataGrid.Columns> - <DataGridTextColumn Header="% Color" Binding="{ Binding ColorPercent}" MinWidth="100"></DataGridTextColumn> - <DataGridTemplateColumn Header="Color" Width="80"> + <DataGridTextColumn Header="% Color" Binding="{ Binding ColorPercent}" MinWidth="100" FontSize="14" TextBlock.FontSize="14" ></DataGridTextColumn> + <DataGridTemplateColumn Header="Color" Width="80" > <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Border BorderThickness="0"> @@ -483,12 +789,13 @@ </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> - <mahapps:DataGridNumericUpDownColumn Header="Load at 
Maximum 
Load(N)" Minimum="0" Maximum="100" Binding="{Binding MaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> - <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" Binding="{Binding StdevMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> - <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" Binding="{Binding PercentChangeLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}" > + <mahapps:DataGridNumericUpDownColumn Header="Load at 
Maximum 
Load(N)" Minimum="0" Maximum="100" Binding="{Binding MaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" FontSize="14"/> + <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" Binding="{Binding StdevMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" FontSize="14"/> + <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" Binding="{Binding PercentChangeLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}" FontSize="14"> <mahapps:DataGridNumericUpDownColumn.CellStyle> <Style TargetType="DataGridCell"> <Setter Property="Visibility" Value="Visible"/> + <Setter Property="FontSize" Value="14"/> <Style.Triggers> <DataTrigger Binding="{ Binding IsWhiteColor}" Value="True"> <Setter Property="Visibility" Value="Hidden"/> @@ -498,15 +805,16 @@ </mahapps:DataGridNumericUpDownColumn.CellStyle> </mahapps:DataGridNumericUpDownColumn> - <mahapps:DataGridNumericUpDownColumn Header="Percentage 
Strain at 
Maximum Load" Minimum="0" Maximum="100" Binding="{Binding StrainMaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" > - - </mahapps:DataGridNumericUpDownColumn> - - <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" Binding="{Binding StdevStrainMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> + <mahapps:DataGridNumericUpDownColumn Header="Percentage 
Strain at 
Maximum Load" Minimum="0" Maximum="100" FontSize="14" TextBlock.FontSize="14" Binding="{Binding StrainMaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> + + - <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" Binding="{Binding PercentChangeStrain, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}"> + <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" FontSize="14" Binding="{Binding StdevStrainMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" TextBlock.FontSize="14"/> + + <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" FontSize="14" TextBlock.FontSize="14" Binding="{Binding PercentChangeStrain, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}"> <mahapps:DataGridNumericUpDownColumn.CellStyle> <Style TargetType="DataGridCell"> + <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="Visibility" Value="Visible"/> <Style.Triggers> <DataTrigger Binding="{ Binding IsWhiteColor}" Value="True"> @@ -515,74 +823,40 @@ </Style.Triggers> </Style> </mahapps:DataGridNumericUpDownColumn.CellStyle> - </mahapps:DataGridNumericUpDownColumn> + </mahapps:DataGridNumericUpDownColumn> </DataGrid.Columns> </DataGrid> </StackPanel> - <StackPanel x:Name="UniformityPanel" HorizontalAlignment="Center" Grid.Column="0" Grid.Row="2" > - <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="21"> Uniformity</TextBlock> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="20 10 40 10"> - <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=RubbingResultsGrid, Path= ActualWidth }" > - <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Uniformity</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">Severity</TextBlock> - </Border> - <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}" > - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 1</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone1Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="16" MinWidth="26"></mahapps:NumericUpDown> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">-</TextBlock> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone1Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Width="Auto" FontSize="16" StringFormat="{}{0:F1}" ></mahapps:NumericUpDown> - </StackPanel> - </Border> - <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 2</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone2Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="16" MinWidth="26"></mahapps:NumericUpDown> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">-</TextBlock> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone2Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Width="Auto" FontSize="16" StringFormat="{}{0:F1}" ></mahapps:NumericUpDown> - </StackPanel> - </Border> - </UniformGrid> - </Border> - </StackPanel> - <StackPanel x:Name="COFPanel" HorizontalAlignment="Center" Grid.Column="1" Grid.Row="2" > - <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="21"> COF</TextBlock> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 10 20 10" > + <StackPanel x:Name="COFPanel" HorizontalAlignment="Center" DockPanel.Dock="Top" > + <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="18"> COF</TextBlock> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 5 20 5" > <UniformGrid Columns="4" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=MechanicalPropertiesGrid, Path= ActualWidth }" > <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Thread name</TextBlock> + <TextBlock FontWeight="Normal" Margin="5 0 0 0" VerticalAlignment="Center" FontSize="14">Thread name</TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">Lub version</TextBlock> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="5 0 0 0" FontSize="14">Lub version</TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">COF</TextBlock> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="10 0 0 0" FontSize="14">COF</TextBlock> </Border> <Border BorderThickness="0 1 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">Lub amount</TextBlock> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="10 0 0 0" HorizontalAlignment="Left" FontSize="14">Lub amount</TextBlock> </Border> - <Border BorderThickness="1 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}" > <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">REF</TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBox Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding SelectedTab.TestResult.RefLubVersion}"></TextBox> + <TextBox Margin="5 0 25 0" VerticalAlignment="Center" Text="{Binding SelectedTab.TestResult.RefLubVersion}"></TextBox> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> @@ -590,97 +864,70 @@ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding ThreadName}"></TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBox Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding SelectedTab.TestResult.ThreadLubVersion}"></TextBox> + <TextBox Margin="5 0 25 0" VerticalAlignment="Stretch" Text="{Binding SelectedTab.TestResult.ThreadLubVersion}" ></TextBox> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> </UniformGrid> - </Border> + </Border> </StackPanel> - </Grid> - </ScrollViewer> - </Border> - - <Grid Grid.Row="1" Grid.Column="1" Margin="0 0 20 20"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="120"/> - <ColumnDefinition Width="1*"/> - </Grid.ColumnDefinitions> - <Grid.RowDefinitions> - <RowDefinition Height="1*"/> - <RowDefinition Height="1*" /> - </Grid.RowDefinitions> - - <TextBlock FontSize="21" HorizontalAlignment="Left" VerticalAlignment="Center">Conclusion:</TextBlock> - <TextBox Grid.Column="1" Margin="20 0 20 0" HorizontalAlignment="Stretch" Height="46" Text="{Binding SelectedTab.TestResult.Conclusions}" Style="{StaticResource Rounded_Corners_TextBox_Multiline}"></TextBox> + <StackPanel x:Name="UniformityPanel" HorizontalAlignment="Center" DockPanel.Dock="Top"> + <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="18"> Uniformity</TextBlock> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 5 20 0"> + <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=COFPanel, Path= ActualWidth }" > + <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Normal" Margin="5 0 0 0" VerticalAlignment="Center" FontSize="14">Uniformity</TextBlock> + </Border> + <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="0" FontSize="14">Severity</TextBlock> + </Border> + <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}" > + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 1</TextBlock> + </Border> + <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <DockPanel HorizontalAlignment="Left" VerticalAlignment="Center"> + <mahapps:NumericUpDown DockPanel.Dock="Left" VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone1Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="14" MinWidth="0"></mahapps:NumericUpDown> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" DockPanel.Dock="Left">-</TextBlock> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone1Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" FontSize="14" StringFormat="{}{0:F1}" MinWidth="0"></mahapps:NumericUpDown> + </DockPanel> + </Border> + <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 2</TextBlock> + </Border> + <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <DockPanel HorizontalAlignment="Left" VerticalAlignment="Center"> + <mahapps:NumericUpDown DockPanel.Dock="Left" VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone2Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="14" MinWidth="0"></mahapps:NumericUpDown> + <TextBlock DockPanel.Dock="Left" Margin="5 0 0 0" VerticalAlignment="Center">-</TextBlock> + <mahapps:NumericUpDown DockPanel.Dock="Left" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone2Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Width="Auto" StringFormat="{}{0:F1}" FontSize="14" MinWidth="0"></mahapps:NumericUpDown> + </DockPanel> + </Border> + </UniformGrid> + </Border> + </StackPanel> + <DockPanel Margin="0 0 0 0" DockPanel.Dock="Top"> + <DockPanel DockPanel.Dock="Left" HorizontalAlignment="Stretch"> + <TextBlock FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center">Conclusion:</TextBlock> + <TextBox Margin="20 0 20 0" HorizontalAlignment="Stretch" Height="80" Text="{Binding SelectedTab.TestResult.Conclusions}" Style="{StaticResource Rounded_Corners_TextBox_Multiline}" Width="315"></TextBox> + </DockPanel> + <DockPanel DockPanel.Dock="Right" HorizontalAlignment="Stretch"> + <TextBlock FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center">Comments:</TextBlock> + <TextBox Margin="20 0 20 0" Style="{StaticResource Rounded_Corners_TextBox_Multiline}" HorizontalAlignment="Stretch" Height="80" Text="{Binding SelectedTab.TestResult.Comment}" VerticalAlignment="Center" Width="315"></TextBox> + </DockPanel> - <TextBlock Grid.Row="1" FontSize="21" HorizontalAlignment="Left" VerticalAlignment="Center">Comments:</TextBlock> - <TextBox Grid.Column="1" Grid.Row="1" Margin="20 0 20 0" Style="{StaticResource Rounded_Corners_TextBox_Multiline}" HorizontalAlignment="Stretch" Height="46" Text="{Binding SelectedTab.TestResult.Comment}" VerticalAlignment="Center"></TextBox> - - </Grid> - <DockPanel Grid.Row="1" Grid.Column="0" Margin="20 0 20 20" x:Name="ImportExcelFile"> - <DockPanel DockPanel.Dock="Top" Margin="0 0 20 0"> - <Button Margin="10 0 0 0" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.UploadCommand}" ToolTip="Upload selected files">Upload</Button> - <Button DockPanel.Dock="Right" Margin="0 0 10 0" HorizontalAlignment="Right" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.DownLoadAllCommand}" ToolTip="Upload selected files">Download All</Button> - </DockPanel> + </DockPanel> + </DockPanel> + </Grid> + </ScrollViewer> + </Border> + - <Grid DockPanel.Dock="Bottom" Margin="0 0 20 0"> - <DataGrid Margin="10" RowHeight="30" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResultsFiles}" IsReadOnly="True" - ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" MinHeight="100"> - <DataGrid.ColumnHeaderStyle > - <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> - <Setter Property="FontSize" Value="16"/> - <Setter Property="HorizontalAlignment" Value="Left"/> - <Setter Property="Margin" Value="2 0 0 0"/> - <Setter Property="Padding" Value="0 5"/> - <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> - <Setter Property="HorizontalContentAlignment" Value="Left"/> - </Style> - </DataGrid.ColumnHeaderStyle> - <DataGrid.CellStyle> - <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> - <Setter Property="BorderThickness" Value="0"/> - <Setter Property="FocusVisualStyle" Value="{x:Null}"/> - <Setter Property="VerticalContentAlignment" Value="Center"></Setter> - <Setter Property="Padding" Value="0"></Setter> - <Setter Property="Margin" Value="0 0 0 0"></Setter> - </Style> - </DataGrid.CellStyle> - <DataGrid.Columns> - <DataGridTextColumn Header="File Name" Binding="{Binding FileName}" Width="1*" FontSize="16"/> - <DataGridTextColumn Header="Progress" Width="1*" /> - <DataGridTemplateColumn Header="DownLoad" Width="140"> - <DataGridTemplateColumn.CellTemplate> - <DataTemplate> - <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DownLoadFileCommand}" CommandParameter="{Binding}"> - <StackPanel Orientation="Horizontal"> - <TextBlock FontSize="16" Text="Download" VerticalAlignment="Center"></TextBlock> - <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Download" Width="18" /> - </StackPanel> - </Button> - </DataTemplate> - </DataGridTemplateColumn.CellTemplate> - </DataGridTemplateColumn> - <DataGridTemplateColumn Header="Delete" Width="140"> - <DataGridTemplateColumn.CellTemplate> - <DataTemplate> - <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DeleteCommand}" CommandParameter="{Binding}"> - <StackPanel Orientation="Horizontal"> - <TextBlock FontSize="16" Text="Delete" VerticalAlignment="Center"></TextBlock> - <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Delete" Width="18" /> - </StackPanel> - </Button> - </DataTemplate> - </DataGridTemplateColumn.CellTemplate> - </DataGridTemplateColumn> - </DataGrid.Columns> - </DataGrid> - </Grid> - </DockPanel> + + + </Grid> </Grid> </Grid> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs index a75dc5d09..20be37970 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs @@ -52,5 +52,18 @@ namespace Tango.MachineStudio.ThreadExtensions.Views } } } + private void Popup_MouseDown(object sender, MouseButtonEventArgs e) + { + e.Handled = true; + } + private void ColorCanvas_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color?> e) + { + if (e.NewValue.HasValue) + { + //_vm.OnSelectedBrushColorChanged((Color)e.NewValue); + } + } + } } + |
