aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-09-23 10:18:08 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-09-23 10:18:08 +0300
commitd6974df76b1401f101ca3c7fc3182f73e493ca51 (patch)
treeeb0d6373d7edd84224bf91c25b0da3fcede41c03 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner
parentcd5a926df30ea7e7a4f4f4a55d71b43ec7aee3e1 (diff)
parent31f6935ac607a3767fa391d87deed6d2c2a300b7 (diff)
downloadTango-d6974df76b1401f101ca3c7fc3182f73e493ca51.tar.gz
Tango-d6974df76b1401f101ca3c7fc3182f73e493ca51.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj13
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs208
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs49
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/ColorCalibrationView.xaml95
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml2
5 files changed, 346 insertions, 21 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
index d5ad86e2a..71f5ec864 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
@@ -40,6 +40,10 @@
<Reference Include="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath>
</Reference>
+ <Reference Include="Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\packages\Google.Protobuf.3.4.1\lib\net45\Google.Protobuf.dll</HintPath>
+ </Reference>
<Reference Include="MahApps.Metro, Version=1.5.0.23, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll</HintPath>
</Reference>
@@ -78,6 +82,7 @@
<Compile Include="AutoComplete\MachineVersionsProvider.cs" />
<Compile Include="Contracts\IMainView.cs" />
<Compile Include="ViewModelLocator.cs" />
+ <Compile Include="ViewModels\ColorCalibrationViewVM.cs" />
<Compile Include="ViewModels\MachineCreationDialogVM.cs" />
<Compile Include="ViewModels\MachineVersionDialogVM.cs" />
<Compile Include="ViewModels\MainViewVM.cs" />
@@ -237,9 +242,9 @@
<Project>{cb0b0aa2-bb24-4bca-a720-45e397684e12}</Project>
<Name>Tango.MachineStudio.Common</Name>
</ProjectReference>
- <ProjectReference Include="..\Tango.MachineStudio.ColorLab\Tango.MachineStudio.ColorLab.csproj">
- <Project>{4d183aca-552b-4135-ae81-7c5a8e5fc3b1}</Project>
- <Name>Tango.MachineStudio.ColorLab</Name>
+ <ProjectReference Include="..\Tango.MachineStudio.RML\Tango.MachineStudio.RML.csproj">
+ <Project>{d0186ac0-0fcf-4d3b-9619-54812b6e524b}</Project>
+ <Name>Tango.MachineStudio.RML</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
@@ -287,7 +292,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
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
new file mode 100644
index 000000000..b75fe7e03
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs
@@ -0,0 +1,208 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL;
+using Tango.BL.Builders;
+using Tango.BL.Entities;
+using Tango.MachineStudio.Common.Notifications;
+using Tango.MachineStudio.RML.Models;
+using Tango.MachineStudio.RML.ViewModels;
+using Tango.PMR.ColorLab;
+using Tango.Settings;
+using Tango.SharedUI;
+
+namespace Tango.MachineStudio.MachineDesigner.ViewModels
+{
+ public class ColorCalibrationViewVM : ViewModel
+ {
+ private INotificationProvider _notification;
+ private ObservablesContext _dbContext;
+
+ #region Properties
+
+ private ColorConversionViewVM _colorConversionViewVM;
+ public ColorConversionViewVM ColorConversionViewVM
+ {
+ get { return _colorConversionViewVM; }
+ set { _colorConversionViewVM = value; RaisePropertyChangedAuto(); }
+ }
+
+ private CalibrationDataViewVM _calibrationDataViewVM;
+ public CalibrationDataViewVM CalibrationDataViewVM
+ {
+ get { return _calibrationDataViewVM; }
+ set
+ {
+ _calibrationDataViewVM = value;
+ RaisePropertyChangedAuto();
+ OnChangeCalibrationDataViewVM();
+ }
+ }
+
+ private ObservableCollection<LiquidTypesRml> _liquidTypesRmls;
+ public ObservableCollection<LiquidTypesRml> LiquidTypesRmls
+ {
+ get { return _liquidTypesRmls; }
+ set
+ {
+ _liquidTypesRmls = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+
+ private ObservableCollection<Rml> _rmls;
+ /// <summary>
+ /// Gets or sets the RMLS.
+ /// </summary>
+ public ObservableCollection<Rml> Rmls
+ {
+ get { return _rmls; }
+ set { _rmls = value; RaisePropertyChangedAuto(); }
+ }
+
+ private Rml _selectedRML;
+ /// <summary>
+ /// Gets or sets the selected RML.
+ /// </summary>
+ public Rml SelectedRML
+ {
+ get { return _selectedRML; }
+ set
+ {
+ _selectedRML = value;
+ RaisePropertyChangedAuto();
+ OnChangeSelectedRML();
+ }
+ }
+
+ private Machine _machine;
+ public Machine Machine
+ {
+ get { return _machine; }
+ set { _machine = value; RaisePropertyChangedAuto(); }
+ }
+
+ #endregion
+
+ public ColorCalibrationViewVM(INotificationProvider notification, Machine machine, ObservablesContext context)
+ {
+ _notification = notification;
+ _machine = machine;
+ _dbContext = context;
+ }
+
+ private void OnChangeCalibrationDataViewVM()
+ {
+
+ }
+
+ private void OnChangeSelectedRML()
+ {
+ Invalidate();
+ }
+
+ #region RML
+
+ public async void Invalidate()
+ {
+ if (SelectedRML != null && Machine != null)
+ {
+ IsFree = false;
+
+ await Task.Factory.StartNew(() =>
+ {
+ using (_notification.PushTaskItem("Loading RML data..."))
+ {
+ _selectedRML = new RmlBuilder(_dbContext)
+ .Set(_selectedRML.Guid)
+ .WithActiveParametersGroup()
+ .WithCAT(Machine.Guid)
+ .WithCCT()
+ .WithLiquidFactors().Build();
+
+ LiquidTypesRmls = SelectedRML.LiquidTypesRmls;
+ }
+ });
+
+ InvalidateCalibrationDataAndColorConversion();
+
+ IsFree = true;
+ }
+ }
+
+ public void InvalidateCalibrationDataAndColorConversion()
+ {
+ if (SelectedRML != null)
+ {
+ var liquidsCalibrationData = new ObservableCollection<CalibrationDataVM>();
+ CalibrationDataViewVM = new CalibrationDataViewVM(_notification, liquidsCalibrationData);
+ liquidsCalibrationData.EnableCrossThreadOperations();
+
+ foreach (var liquidTypeRml in SelectedRML.LiquidTypesRmls)
+ {
+ var idsPack = Machine.Configuration.GetSupportedIdsPacks(_selectedRML).FirstOrDefault(x => x.LiquidType == liquidTypeRml.LiquidType);
+
+ if (idsPack != null)
+ {
+ CalibrationDataVM vm = new CalibrationDataVM(idsPack);
+
+ var cat = idsPack.LiquidType.Cats.FirstOrDefault(x => x.Machine == Machine && x.Rml == SelectedRML);
+
+ if (cat != null)
+ {
+ var calData = cat.GetCalibrationData();
+ vm.CalibrationPoints = calData.CalibrationPoints.Select(x => new CalibrationDataPointVM(x)).ToObservableCollection();
+ }
+
+ liquidsCalibrationData.Add(vm);
+ }
+ }
+
+ ColorConversionViewVM = new ColorConversionViewVM(_notification)
+ {
+ RML = SelectedRML,
+ CCT = new CctModel()
+ {
+ Data = SelectedRML.Cct?.Data,
+ },
+ LiquidsCalibrationData = CalibrationDataViewVM.LiquidsCalibrationData,
+ LiquidTypesRmls = LiquidTypesRmls,
+ };
+ }
+ }
+
+ #endregion
+
+ #region Save
+
+ public void Save()
+ {
+ foreach (var calDataVM in ColorConversionViewVM.LiquidsCalibrationData)
+ {
+ var cat = calDataVM.IdsPack.LiquidType.Cats.FirstOrDefault(x => x.Machine == Machine && x.Rml == SelectedRML);
+
+ if (cat == null)
+ {
+ cat = new Cat();
+ cat.Name = "untitled";
+ _dbContext.Cats.Add(cat);
+ }
+
+ cat.Rml = SelectedRML;
+ cat.Machine = Machine;
+ cat.LiquidType = calDataVM.IdsPack.LiquidType;
+
+ CalibrationData calData = new CalibrationData();
+ calData.LiquidType = (PMR.ColorLab.LiquidType)cat.LiquidType.Code;
+ calData.CalibrationPoints.AddRange(calDataVM.CalibrationPoints.Select(x => new CalibrationPoint() { X = x.X, Y = x.Y }));
+
+ cat.PutCalibrationData(calData);
+ }
+ }
+
+ #endregion
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index 935cfe5ee..eaca7cd6a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -22,6 +22,9 @@ using Tango.BL.Builders;
using Tango.MachineStudio.MachineDesigner.Contracts;
using System.Windows.Threading;
using Tango.Core.Threading;
+using Tango.MachineStudio.RML.ViewModels;
+using Tango.Settings;
+using Tango.MachineStudio.RML.Models;
namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
@@ -112,11 +115,11 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
set { _selectedSpool = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
}
- private ColorLab.ViewModels.MainViewVM _colorLabVM;
- public ColorLab.ViewModels.MainViewVM ColorLabVM
+ private ColorCalibrationViewVM _colorCalibrationViewVM;
+ public ColorCalibrationViewVM ColorCalibrationViewVM
{
- get { return _colorLabVM; }
- set { _colorLabVM = value; RaisePropertyChangedAuto(); }
+ get { return _colorCalibrationViewVM; }
+ set { _colorCalibrationViewVM = value; RaisePropertyChangedAuto(); }
}
#endregion
@@ -210,7 +213,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public override async void OnApplicationReady()
{
MachinesAdapter.MachineVersions = (await MachinesAdapter.Context.MachineVersions.ToListAsync()).ToObservableCollection();
- ColorLabVM = new ColorLab.ViewModels.MainViewVM(_notification) { IsHosted = true };
+
}
#endregion
@@ -239,7 +242,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public void DropIdsPack(IdsPack idsPack1, IdsPack idsPack2)
{
ActiveMachine.Configuration.IdsPacks.Swap(idsPack1, idsPack2);
- ColorLabVM.InvalidateLiquidFactorsCalibrationData();
+ ColorCalibrationViewVM.InvalidateCalibrationDataAndColorConversion();
}
/// <summary>
@@ -334,7 +337,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
idsPack.LiquidType = liquidType;
idsPack.LiquidTypeGuid = liquidType.Guid;
- ColorLabVM.InvalidateLiquidFactorsCalibrationData();
+ ColorCalibrationViewVM.InvalidateCalibrationDataAndColorConversion();
}
/// <summary>
@@ -360,7 +363,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
ActiveMachineAdapter.Context.IdsPacks.Remove(SelectedIds);
SelectedIds = null;
- ColorLabVM.InvalidateLiquidFactorsCalibrationData();
+ ColorCalibrationViewVM.InvalidateCalibrationDataAndColorConversion();
}
/// <summary>
@@ -432,7 +435,12 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
}
- ColorLabVM.InitHost(ActiveMachineAdapter.Context, ActiveMachine, ActiveMachineAdapter.Rmls, ActiveMachineAdapter.Rmls.FirstOrDefault());
+ ColorCalibrationViewVM = new ColorCalibrationViewVM(_notification, ActiveMachine, _activeMachineAdapter.Context)
+ {
+ Rmls = ActiveMachineAdapter.Rmls,
+ LiquidTypesRmls = ActiveMachineAdapter.Rmls.FirstOrDefault().LiquidTypesRmls,
+ SelectedRML = ActiveMachineAdapter.Rmls.FirstOrDefault(),
+ };
View.NavigateTo(MachineDesignerNavigationView.MachineDetailsView);
}
@@ -574,14 +582,17 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
ActiveMachine.ConfigurationGuid = ActiveMachine.Configuration.Guid;
ActiveMachine.LastUpdated = DateTime.UtcNow;
ActiveMachine.ProductionDate = DateTime.UtcNow;
- await ActiveMachineAdapter.Context.SaveChangesAsync();
- await ColorLabVM.SaveChanges();
+ ColorCalibrationViewVM.Save();
+
+ await ActiveMachineAdapter.Context.SaveChangesAsync();
if (SelectedMachine != null)
{
await SelectedMachine.Reload(MachinesAdapter.Context);
}
+
+ ColorCalibrationViewVM.Invalidate();
}
}
catch (Exception ex)
@@ -669,9 +680,19 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
Task.Factory.StartNew(() =>
{
- IsFree = false;
- MachinesAdapter.Machines = MachinesAdapter.Context.Machines.Where(x => x.SerialNumber.StartsWith(Filter)).Include(x => x.Organization).Include(x => x.MachineVersion).ToSynchronizedObservableCollection();
- IsFree = true;
+ try
+ {
+ IsFree = false;
+ MachinesAdapter.Machines = MachinesAdapter.Context.Machines.Where(x => x.SerialNumber.StartsWith(Filter)).Include(x => x.Organization).Include(x => x.MachineVersion).ToSynchronizedObservableCollection();
+ }
+ catch
+ {
+
+ }
+ finally
+ {
+ IsFree = true;
+ }
});
});
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/ColorCalibrationView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/ColorCalibrationView.xaml
index e73c9661f..0d8acbc53 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/ColorCalibrationView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/ColorCalibrationView.xaml
@@ -11,10 +11,101 @@
xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
- xmlns:colorLab="clr-namespace:Tango.MachineStudio.ColorLab.Views;assembly=Tango.MachineStudio.ColorLab"
+ xmlns:rml="clr-namespace:Tango.MachineStudio.RML.Views;assembly=Tango.MachineStudio.RML"
+ xmlns:commonControls="clr-namespace:Tango.MachineStudio.Common.Controls;assembly=Tango.MachineStudio.Common"
+ xmlns:shapes="clr-namespace:Tango.SharedUI.Shapes;assembly=Tango.SharedUI"
mc:Ignorable="d"
d:DesignHeight="1080" d:DesignWidth="1920" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
+
+ <UserControl.Resources>
+ <converters:ColorToIntegerConverter x:Key="ColorToIntegerConverter"></converters:ColorToIntegerConverter>
+ <converters:ColorComponentToOpacityConverter x:Key="ColorComponentToOpacityConverter" />
+ <converters:ColorToComponentsConverter x:Key="ColorToComponentsConverter" />
+ <converters:NullObjectToBooleanConverter x:Key="NullObjectToBooleanConverter" />
+ <converters:ObjectToObjectTypeConverter x:Key="ObjectToObjectTypeConverter" />
+ <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
+ <converters:BooleanInverseConverter x:Key="BooleanInverseConverter" />
+ <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" />
+ </UserControl.Resources>
<Grid>
- <colorLab:MainView DataContext="{Binding ColorLabVM}" />
+ <Grid DataContext="{Binding ColorCalibrationViewVM}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="500"/>
+ <ColumnDefinition Width="1*"/>
+ </Grid.ColumnDefinitions>
+
+ <Grid>
+ <StackPanel>
+ <commonControls:MachineView Width="500" Margin="0 40 0 0" DataContext="{Binding Machine}" />
+ <StackPanel Margin="40 40">
+ <TextBlock FontSize="16">MEDIA</TextBlock>
+ <ComboBox ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML}" FontSize="16" IsEnabled="{Binding Machine,Converter={StaticResource NullObjectToBooleanConverter}}" Background="Transparent" Style="{StaticResource TransparentComboBoxStyle}" >
+
+ <ComboBox.ItemTemplate>
+ <DataTemplate>
+ <StackPanel>
+ <TextBlock Text="{Binding Name}" FontWeight="Bold" FontStyle="Italic" Foreground="{StaticResource MainWindow.Foreground}"></TextBlock>
+ <TextBlock FontSize="11" Text="{Binding Manufacturer}" Foreground="{StaticResource GrayBrush}"></TextBlock>
+ </StackPanel>
+ </DataTemplate>
+ </ComboBox.ItemTemplate>
+ </ComboBox>
+
+
+ <TextBlock FontSize="16" Margin="0 40 0 0">LIQUID FACTORS</TextBlock>
+ <ItemsControl ItemsSource="{Binding LiquidTypesRmls}" Margin="0 10 0 0" IsEnabled="False">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <WrapPanel IsItemsHost="True"></WrapPanel>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate DataType="{x:Type observables:LiquidTypesRml}">
+ <StackPanel Margin="0 0 10 0">
+ <TextBlock HorizontalAlignment="Center" FontSize="10" Foreground="{StaticResource Hexagon.ForegroundBrush}" Text="{Binding LiquidType.Name}"></TextBlock>
+ <Grid Width="58" Height="48" Margin="0 5 0 0">
+ <shapes:Hexagon StrokeThickness="1" Stroke="{StaticResource GrayBrush}">
+ <shapes:Hexagon.Fill>
+ <LinearGradientBrush Opacity="0.7" >
+ <GradientStop Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
+ <GradientStop Color="White" Offset="1"/>
+ </LinearGradientBrush>
+ </shapes:Hexagon.Fill>
+ </shapes:Hexagon>
+
+ <TextBox Style="{x:Null}" Background="Transparent" BorderThickness="0" Text="{Binding MaxNlPerCm}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" FontStyle="Italic" Foreground="{StaticResource Hexagon.ForegroundBrush}"/>
+ </Grid>
+ </StackPanel>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+
+ <Grid Grid.Column="1">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="370"/>
+ </Grid.RowDefinitions>
+
+ <rml:ColorConversionView DataContext="{Binding ColorConversionViewVM}" />
+ <Grid Grid.Row="1">
+ <Rectangle VerticalAlignment="Top" Stroke="{StaticResource borderBrush}"></Rectangle>
+ <DockPanel>
+ <Grid DockPanel.Dock="Top">
+ <TextBlock FontSize="20" Margin="0 20 0 0" TextAlignment="Center">CALIBRATION DATA</TextBlock>
+ </Grid>
+
+ <ScrollViewer x:Name="calibrationDataScrollViewer" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto" Margin="15 0 20 0">
+ <rml:CalibrationDataView DataContext="{Binding CalibrationDataViewVM}" />
+
+ </ScrollViewer>
+ </DockPanel>
+ </Grid>
+ </Grid>
+ </Grid>
+ </Grid>
</Grid>
</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml
index 466e6f458..35b578b6a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml
@@ -25,7 +25,7 @@
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="0 0 0 10">
<materialDesign:PackIcon VerticalAlignment="Center" Kind="BarcodeScan" Width="32" Height="32" />
- <TextBox Width="400" FontSize="20" Margin="10 0 0 0" materialDesign:HintAssist.Hint="Serial Number" Text="{Binding Filter,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
+ <TextBox Width="400" FontSize="20" Margin="10 0 0 0" materialDesign:HintAssist.Hint="Serial Number" Text="{Binding Filter,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,Delay=500}"></TextBox>
</StackPanel>
</StackPanel>
</Grid>