aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy <Roy.mail.net@gmail.com>2022-06-30 16:58:51 +0300
committerRoy <Roy.mail.net@gmail.com>2022-06-30 16:58:51 +0300
commit3973aa5fa582c91d315d9c4281d47922e82f7c05 (patch)
tree36e7ed3ec55e0462f4bf2ee3c197ad47b14e1100 /Software/Visual_Studio
parentd573512b53b51050575025f65a7455aeb6c0734b (diff)
parentc2c59833f0f946418b69b935c62867ca5fcccd49 (diff)
downloadTango-3973aa5fa582c91d315d9c4281d47922e82f7c05.tar.gz
Tango-3973aa5fa582c91d315d9c4281d47922e82f7c05.zip
Merge branch 'software' of https://twinetfs.visualstudio.com/Tango/_git/Tango into software
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txtbin52 -> 52 bytes
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip25
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionView.xaml61
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs34
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml2
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialog.xaml8
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs10
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/BindingProxy.cs26
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/ColorLibraryNamesValidationRule.cs27
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/WrapperColorLibrary.cs24
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs47
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs43
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Reports/ColorCorrectionReport.xaml13
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Tango.PPC.JobsV2.csproj5
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/CopySegmentCommand.cs8
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/ReverseCommand.cs26
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs8
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml39
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml6
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/logo.pngbin14211 -> 6522 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.PMR/ExtensionMethods.cs4
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.cs9
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml3
-rw-r--r--Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml20
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs32
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Models/SettingsModel.cs18
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Properties/app.manifest70
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Settings.cs9
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj10
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/ViewModels/SettingsVM.cs3
31 files changed, 483 insertions, 109 deletions
diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt
index 1a2038cfa..5fe5afe5a 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt
+++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt
Binary files differ
diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
index 5f0600844..08a07593f 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
+++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
@@ -18,10 +18,10 @@
<ROW Property="ARPNOREPAIR" Value="1" MultiBuildValue="DefaultBuild:1"/>
<ROW Property="ARPSYSTEMCOMPONENT" Value="1"/>
<ROW Property="Manufacturer" Value="Twine"/>
- <ROW Property="ProductCode" Value="1033:{2EB83EBD-7508-4DD7-B9E4-7182425006B8} " Type="16"/>
+ <ROW Property="ProductCode" Value="1033:{497937BE-96C2-4192-BDA2-491A4EEF9549} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="Tango"/>
- <ROW Property="ProductVersion" Value="1.7.8.0" Type="32"/>
+ <ROW Property="ProductVersion" Value="1.7.9.0" Type="32"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
<ROW Property="UpgradeCode" Value="{F8EAB8B4-FD57-45B7-8307-D52DF760273D}"/>
<ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
@@ -217,11 +217,13 @@
<ROW Component="mscoree.dll" ComponentId="{85F439D0-8FD0-4B99-888D-336C7A125E3D}" Directory_="APPDIR" Attributes="0" KeyPath="mscoree.dll"/>
<ROW Component="msvcp140d.dll" ComponentId="{69E32675-9ACF-4C23-A495-300B78913B66}" Directory_="APPDIR" Attributes="0" KeyPath="msvcp140d.dll"/>
<ROW Component="protobufnet.dll" ComponentId="{163F1E17-6462-4ABE-BC86-E055F7690139}" Directory_="APPDIR" Attributes="0" KeyPath="protobufnet.dll"/>
+ <ROW Component="turbojpeg.dll" ComponentId="{3DA36B93-E36D-4EA1-9A9A-6E4443FD30A1}" Directory_="win7x64_Dir" Attributes="256" KeyPath="turbojpeg.dll"/>
+ <ROW Component="turbojpeg.dll.meta" ComponentId="{D1EF30BF-00D4-403A-B0B9-76C1B867E814}" Directory_="win7x64_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta" Type="0"/>
+ <ROW Component="turbojpeg.dll.meta_1" ComponentId="{B3E07B6B-45B8-4E75-89B0-AC3B2860DBEF}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta_1" Type="0"/>
+ <ROW Component="turbojpeg.dll_1" ComponentId="{11B2CB2F-D96F-4E60-84BB-3FAFDC4D60DC}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll_1"/>
<ROW Component="ucrtbased.dll" ComponentId="{B8D025EA-CD16-4EE7-A3E7-713E2BE82BF3}" Directory_="APPDIR" Attributes="0" KeyPath="ucrtbased.dll"/>
<ROW Component="vcruntime140.dll" ComponentId="{144594CC-D19B-45E4-A420-7A1BBB122EE3}" Directory_="APPDIR" Attributes="0" KeyPath="vcruntime140.dll"/>
<ROW Component="vcruntime140d.dll" ComponentId="{7653420C-C6C3-4F31-97E8-D6DE417D3DF2}" Directory_="APPDIR" Attributes="0" KeyPath="vcruntime140d.dll"/>
- <ROW Component="win7x64" ComponentId="{5FE69239-D0EC-4DB6-9960-C4202AC44985}" Directory_="win7x64_Dir" Attributes="0"/>
- <ROW Component="win7x86" ComponentId="{1EE5BE61-C29E-495A-BF21-92487A654851}" Directory_="win7x86_Dir" Attributes="0"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
<ROW Feature="MainFeature" Title="MainFeature" Description="Description" Display="1" Level="1" Directory_="APPDIR" Attributes="0"/>
@@ -493,6 +495,11 @@
<ROW File="System.Spatial.dll" Component_="System.Spatial.dll" FileName="SYSTE~11.DLL|System.Spatial.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\System.Spatial.dll" SelfReg="false"/>
<ROW File="Tango.PDF.dll" Component_="Tango.PDF.dll" FileName="TANGO~17.DLL|Tango.PDF.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PDF.dll" SelfReg="false"/>
<ROW File="Tango.PDF.pdb" Component_="Tango.PDF.dll" FileName="TANGO~18.PDB|Tango.PDF.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PDF.pdb" SelfReg="false"/>
+ <ROW File="LibGit2Sharp.dll.config" Component_="CommandLine.xml" FileName="LIBGIT~1.CON|LibGit2Sharp.dll.config" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\LibGit2Sharp.dll.config" SelfReg="false"/>
+ <ROW File="turbojpeg.dll" Component_="turbojpeg.dll" FileName="TURBOJ~1.DLL|turbojpeg.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x64\turbojpeg.dll" SelfReg="false"/>
+ <ROW File="turbojpeg.dll.meta" Component_="turbojpeg.dll.meta" FileName="TURBOJ~1.MET|turbojpeg.dll.meta" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x64\turbojpeg.dll.meta" SelfReg="false"/>
+ <ROW File="turbojpeg.dll_1" Component_="turbojpeg.dll_1" FileName="TURBOJ~1.DLL|turbojpeg.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x86\turbojpeg.dll" SelfReg="false"/>
+ <ROW File="turbojpeg.dll.meta_1" Component_="turbojpeg.dll.meta_1" FileName="TURBOJ~1.MET|turbojpeg.dll.meta" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x86\turbojpeg.dll.meta" SelfReg="false"/>
<ATTRIBUTE name="DontAddFileAttributes" value="true"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BootstrOptComponent">
@@ -502,7 +509,7 @@
<ROW Action="AI_DetectSoftware" Sequence="101"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
- <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.7.8" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.7.8"/>
+ <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.7.9" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.7.9"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
@@ -570,8 +577,6 @@
<COMPONENT cid="caphyon.advinst.msicomp.MsiCreateFolderComponent">
<ROW Directory_="SHORTCUTDIR" Component_="SHORTCUTDIR" ManualDelete="false"/>
<ROW Directory_="APPDIR" Component_="APPDIR" ManualDelete="true"/>
- <ROW Directory_="win7x64_Dir" Component_="win7x64" ManualDelete="false"/>
- <ROW Directory_="win7x86_Dir" Component_="win7x86" ManualDelete="false"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiCustActComponent">
<ROW Action="AI_BACKUP_AI_SETUPEXEPATH" Type="51" Source="AI_SETUPEXEPATH_ORIGINAL" Target="[AI_SETUPEXEPATH]"/>
@@ -777,8 +782,10 @@
<ROW Feature_="MainFeature" Component_="Microsoft.Data.Services.Client.dll"/>
<ROW Feature_="MainFeature" Component_="System.Spatial.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.PDF.dll"/>
- <ROW Feature_="MainFeature" Component_="win7x64"/>
- <ROW Feature_="MainFeature" Component_="win7x86"/>
+ <ROW Feature_="MainFeature" Component_="turbojpeg.dll"/>
+ <ROW Feature_="MainFeature" Component_="turbojpeg.dll.meta"/>
+ <ROW Feature_="MainFeature" Component_="turbojpeg.dll_1"/>
+ <ROW Feature_="MainFeature" Component_="turbojpeg.dll.meta_1"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiInstExSeqComponent">
<ROW Action="AI_STORE_LOCATION" Condition="(Not Installed) OR REINSTALL" Sequence="1502"/>
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionView.xaml
index 56dd24e86..fc38552d5 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionView.xaml
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:Tango.PPC.Jobs.Dialogs"
xmlns:vm="clr-namespace:Tango.PPC.Jobs.Dialogs"
xmlns:models="clr-namespace:Tango.PPC.Jobs.Models"
+ xmlns:helpers="clr-namespace:Tango.PPC.Jobs.Helpers"
xmlns:controls="clr-namespace:Tango.PPC.Jobs.Controls"
xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
@@ -57,7 +58,7 @@
</Style>
<DataTemplate x:Key="brushColorPanel">
- <Grid Height="180" Margin="93 10 0 0" HorizontalAlignment="Stretch">
+ <Grid Height="180" Margin="83 10 0 0" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="270"/>
@@ -74,11 +75,11 @@
</StackPanel>
<StackPanel Orientation="Vertical" Margin="0 0 0 0" >
<TextBlock FontSize="{StaticResource TangoDataGridHeaderFontSize}" HorizontalAlignment="Center" Visibility="{Binding IsEditMode, Converter={StaticResource BooleanToVisibilityInverseConverter}}">
- <Run Text="First Choice - Segments "></Run>
+ <Run Text="First Choice - Segment "></Run>
<Run Text="{Binding SegmentIndex,Mode=OneWay}"/>
</TextBlock>
<TextBlock FontSize="{StaticResource TangoDataGridHeaderFontSize}" HorizontalAlignment="Center" Visibility="{Binding IsEditMode, Converter={StaticResource BooleanToVisibilityConverter}}">
- <Run Text="Edited - Segments"></Run>
+ <Run Text="Edited - Segment"></Run>
<Run Text="{Binding SegmentIndex,Mode=OneWay}"></Run>
</TextBlock>
<Border Height="120" CornerRadius="20" BorderThickness="1" BorderBrush="{StaticResource TangoGrayBrush}">
@@ -139,21 +140,10 @@
<Canvas Grid.Column="1" Width="28" Height="28" VerticalAlignment="Top" HorizontalAlignment="Left">
<touch:TouchToggleButton Canvas.Left="0" Canvas.Top="0" x:Name="addColorToGroup" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" Command="{Binding SaveMyColorsCommand}"
- IsEnabled="{Binding SelectedBrushStop.IsLiquidVolumesOutOfRange, Converter={StaticResource BooleanInverseConverter}}">
- <touch:TouchToggleButton.Style >
- <Style TargetType="touch:TouchToggleButton" >
- <Setter Property="Background" Value="{StaticResource TangoPrimaryAccentBrush}"/>
- <Setter Property="Foreground" Value="{StaticResource TangoLightForegroundBrush}"/>
- <Style.Triggers>
- <Trigger Property="IsEnabled" Value="False">
- <Setter Property="Foreground" Value="{StaticResource TangoLightForegroundBrush}"></Setter>
- <Setter Property="Background" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
- </Trigger>
- </Style.Triggers>
- </Style>
- </touch:TouchToggleButton.Style>
+ IsEnabled="{Binding SelectedBrushStop.IsLiquidVolumesOutOfRange, Converter={StaticResource BooleanInverseConverter}}" Style="{StaticResource TangoTouchToggleButtonNoDisable}">
+
<Border Height="26" Width="28" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
- <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" >
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="../Images/ColorSelection/Heart.png" />
@@ -162,7 +152,7 @@
<Setter Property="Source" Value="../Images/ColorSelection/fillheart.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding SelectedBrushStop.IsLiquidVolumesOutOfRange}" Value="True">
- <Setter Property="Source" Value="../Images/ColorSelection/Heart_disable.png"/>
+ <Setter Property="Source" Value="../Images/ColorSelection/Heart.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
@@ -216,6 +206,20 @@
</Grid>
</DataTemplate>
+ <ControlTemplate x:Key="validationTemplate">
+ <!--<DockPanel>
+ <touch:TouchTextBox Foreground="Red" FontSize="20" Text="!"></touch:TouchTextBox>
+ <AdornedElementPlaceholder/>
+ </DockPanel>-->
+ <Grid ClipToBounds="False" >
+ <Border BorderBrush="Red" BorderThickness="2" Margin="-1" ToolTip="{Binding ElementName=adornedElement, Path=AdornedElement.(Validation.Errors)/ErrorContent }">
+ <AdornedElementPlaceholder Name="adornedElement" />
+ </Border>
+ <Polygon Points="15,15 15,0 0,0" Fill="Red" HorizontalAlignment="Right" VerticalAlignment="Top"
+ ToolTip="{Binding ElementName=adornedElement, Path=AdornedElement.(Validation.Errors)/ErrorContent }"/>
+ </Grid>
+ </ControlTemplate>
+
<DataTemplate x:Key="ColorLibrary_Template" DataType="{x:Type models:ColorLibrary}">
<DockPanel Margin="40 0 20 20">
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Visibility="{Binding EditColorsGroupMode , Converter={StaticResource BooleanToVisibilityInverseConverter}}">
@@ -225,7 +229,22 @@
<DockPanel DockPanel.Dock="Top" Visibility="{Binding EditColorsGroupMode , Converter={StaticResource BooleanToVisibilityConverter}}">
<touch:TouchIconButton DockPanel.Dock="Right" Icon="TrashAltRegular" Width="16" Height="16.5" Margin="0 0 35 1" EnableDropShadow="False" Foreground="{StaticResource TangoBlackInkBrush}" Command="{Binding DataContext.DeleteGroupCommand , ElementName=colorSelectionView}" />
<StackPanel Orientation="Horizontal" DockPanel.Dock="Left">
- <touch:TouchTextBox MaxLength="20" Text="{Binding Name, UpdateSourceTrigger=LostFocus}" MinWidth="100" Margin="0 0 0 0" FontSize="{StaticResource TangoButtonFontSize}" FontWeight="SemiBold" VerticalAlignment="Center" Foreground="{StaticResource TangoBlackInkBrush}" ></touch:TouchTextBox>
+ <touch:TouchTextBox MaxLength="20" Validation.ErrorTemplate="{StaticResource validationTemplate}" MinWidth="100" Margin="0 0 0 0" FontSize="{StaticResource TangoButtonFontSize}" FontWeight="SemiBold" VerticalAlignment="Center" Foreground="{StaticResource TangoBlackInkBrush}" >
+ <touch:TouchTextBox.Resources>
+ <helpers:BindingProxy x:Key="proxy" Data="{Binding DataContext, ElementName=colorSelectionView}"/>
+ </touch:TouchTextBox.Resources>
+ <touch:TouchTextBox.Text>
+ <Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
+ <Binding.ValidationRules>
+ <helpers:ColorLibraryNamesValidationRule>
+ <helpers:ColorLibraryNamesValidationRule.Wrapper>
+ <helpers:WrapperColorLibrary Library="{Binding Data.Libraries, Source={StaticResource proxy}}"/>
+ </helpers:ColorLibraryNamesValidationRule.Wrapper>
+ </helpers:ColorLibraryNamesValidationRule>
+ </Binding.ValidationRules>
+ </Binding>
+ </touch:TouchTextBox.Text>
+ </touch:TouchTextBox>
<touch:TouchIconButton Margin="20 0 0 0" VerticalAlignment="Center" Foreground="{StaticResource TangoPrimaryAccentBrush}" Height="16.5" Icon="PencilAltSolid" Command="{Binding DataContext.EditColorsLibraryCommand, ElementName=colorSelectionView}" CommandParameter="{Binding }" />
</StackPanel>
</DockPanel>
@@ -341,8 +360,8 @@
</Grid.RowDefinitions>
<touch:TouchNavigationLinks x:Name="navigationCSTLinks" SelectionChanged="TouchNavigationLinks_SelectionChanged"
- SelectedIndex="{Binding SelectedColorTabIndex,Mode=TwoWay}" VerticalAlignment="Bottom" Margin="20,0,20.4,20"
- FontSize="{StaticResource TangoNavigationLinksFontSize}" HorizontalContentAlignment="Stretch" Grid.RowSpan="2">
+ SelectedIndex="{Binding SelectedColorTabIndex,Mode=TwoWay}" VerticalAlignment="Bottom" Margin="70,0,0,20"
+ FontSize="{StaticResource TangoNavigationLinksFontSize}" HorizontalContentAlignment="Stretch" Grid.RowSpan="2" >
<!--<TextBlock HorizontalAlignment="Center" Visibility="Collapsed" >HSB</TextBlock>-->
<TextBlock HorizontalAlignment="Center" >LAB</TextBlock>
<TextBlock HorizontalAlignment="Center" >RGB</TextBlock>
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs
index aadfc5b1a..43759f1c2 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionViewVM.cs
@@ -506,13 +506,13 @@ namespace Tango.PPC.Jobs.Dialogs
SelectedBrushStop = InitialBrushStop.Clone();
SelectedBrushStop.Guid = InitialBrushStop.Guid;
-
SelectedBrushStop.ColorSpace = InitialBrushStop.ColorSpace;
if (SelectedBrushStop.ColorSpace == ColorSpaces.Volume)
SelectedColorTab = ColorTab.Volume;
if (SelectedBrushStop.ColorSpace == ColorSpaces.LAB)
{
SelectedColorTab = ColorTab.CIELab;
+ SelectedBrushStop.SaveLABBeforeChanges();
}
else if (SelectedBrushStop.ColorSpace == ColorSpaces.Catalog)
{
@@ -540,7 +540,9 @@ namespace Tango.PPC.Jobs.Dialogs
}
SelectedBrushStop.ColorCatalogsItemChanged -= OnColorSelectionItemChanged;
SelectedBrushStop.ColorCatalogsItemChanged += OnColorSelectionItemChanged;
+ SelectedBrushStop.PreventPropertyUpdate = true;
UpdateVolumesMaxValues();
+ SelectedBrushStop.PreventPropertyUpdate = false;
OKCommand.RaiseCanExecuteChanged();
SelectedBrushStop.LiquidVolumesOutOfRangeChanged -= OnLiquidVolumesOutOfRangeChanged;
SelectedBrushStop.LiquidVolumesOutOfRangeChanged += OnLiquidVolumesOutOfRangeChanged;
@@ -699,12 +701,20 @@ namespace Tango.PPC.Jobs.Dialogs
{
if (SelectedBrushStop.IsOutOfGamut)
{
- if( false == await NotificationProvider.ShowQuestion("The color you chose is not supported, by pressing OK the system will enter the best-match color."))
+ if( false == await NotificationProvider.ShowQuestion("The color you chose is not supported, by pressing OK the system will enter the best-match color."))
{
- return;
+ return;
+ }
+ if (SelectedBrushStop.ColorSpace == ColorSpaces.LAB)
+ {
+ var testColor = TrialsLogEngine.Default.GetByBrushStopGuid(SelectedBrushStop.Guid);
+ if (testColor != null && testColor.TrialslogList.Count > 0)
+ {
+ TrialsLogEngine.Default.Delete(testColor);
+ }
}
}
-
+
_selectedBrushStop.LiquidVolumesOutOfRangeChanged -= OnLiquidVolumesOutOfRangeChanged;
_selectedBrushStop.InitColorsFromBestmatch();
base.Accept();
@@ -760,6 +770,10 @@ namespace Tango.PPC.Jobs.Dialogs
{
Libraries.Insert(0 ,MyColorsEngine.Default.AddLibrary(name));
}
+ else
+ {
+ NotificationProvider.ShowInfo("A group with this name already exists. Try adding a different name.");
+ }
NewGroupName = "Library" + (Libraries.Count() + 1);
}
@@ -776,6 +790,11 @@ namespace Tango.PPC.Jobs.Dialogs
library = MyColorsEngine.Default.AddLibrary(name);
Libraries.Insert(0, library);
}
+ else
+ {
+ NotificationProvider.ShowInfo("A group with this name already exists. Try adding a different name.");
+ }
+
AddColorToLibrary(library);
}
NewGroupName = "Library" + (Libraries.Count() + 1);
@@ -973,6 +992,8 @@ namespace Tango.PPC.Jobs.Dialogs
#region Vector Fine tuning
private void OpenVectorFineTuning()
{
+ SelectedBrushStop.SaveLABBeforeChanges();
+
VectorFineTuningDialogVM.Init( SelectedBrushStop, SelectedBrushStop.L, SelectedBrushStop.A, SelectedBrushStop.B, SelectedBrushStop.Color);
IsOpenVectorFineTuningDialog = true;
@@ -1016,6 +1037,11 @@ namespace Tango.PPC.Jobs.Dialogs
TrialsLogEngine.Default.Delete( testColor);
return true;
}
+ else
+ {
+ await NotificationProvider.ShowInfo("The color will not be changed.");
+ SelectedBrushStop.UndoLABChanges();
+ }
return false;
}
return true;
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml
index 87ff0e14c..399e2b64f 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/JobCreationView.xaml
@@ -72,7 +72,7 @@
<DockPanel HorizontalAlignment="Stretch" Margin="0 50 0 0">
<TextBlock HorizontalAlignment="Left" Margin="0 10 0 0" Text="Thread Type" FontSize="{StaticResource TangoDialogFontSize}" Width="155"/>
<Border Margin="49 0 0 0" BorderThickness="1" Height="44" CornerRadius="22" BorderBrush="{StaticResource TangoMidAccentBrush}">
- <touch:TouchComboBox Margin="20 0 10 10" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML,Mode=TwoWay}" Focusable="False" >
+ <touch:TouchComboBox Margin="20 0 10 10" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML,Mode=TwoWay}" Focusable="False" KeyboardNavigation.TabNavigation ="None">
<touch:TouchComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Margin="20 10 10 10" TextTrimming="CharacterEllipsis" FontSize="{StaticResource TangoDialogFontSize}" Text="{Binding FinalName}">
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialog.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialog.xaml
index f1226597a..074ce4fa3 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialog.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialog.xaml
@@ -123,7 +123,7 @@
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
-
+
<Grid Background="{StaticResource TangoPrimaryBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="200"></RowDefinition>
@@ -184,7 +184,7 @@
</Style>
</UniformGrid.Style>
<StackPanel Orientation="Horizontal">
- <TextBlock Text="L" FontSize="{StaticResource TangoComboBoxItemFontSize}" FontWeight="SemiBold" VerticalAlignment="Center"/>
+ <TextBlock Text="L" FontSize="{StaticResource TangoComboBoxItemFontSize}" FontWeight="SemiBold" VerticalAlignment="Center" />
<touch:TouchNumericUpDownConrol Margin="30 0 0 0" NumericPartWidth="94.0" Width="200" Height="40" HorizontalAlignment="Stretch" BorderThickness="0.8" MaxValue="100" MinValue="0" Value="{Binding MeasuredL, Delay=1000}" FontSize="{StaticResource TangoButtonFontSize}" FontWeight="SemiBold"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
@@ -225,7 +225,7 @@
</Grid>
</Grid>
- <Border BorderThickness="0" Grid.Row="1" >
+ <Border BorderThickness="0" Grid.Row="1">
<!--<Border.Style >
<Style TargetType="Border">
<Setter Property="IsEnabled" Value="True"/>
@@ -237,7 +237,7 @@
</Style>
</Border.Style>-->
<touch:TouchExpander Grid.Row="1" x:Name="trailsListExpander" IsExpanded="{Binding IsExpanderOpened, Mode=TwoWay}" Margin="0 0 0 0 " FontSize="{StaticResource TangoSmallFontSize}" BorderThickness="0"
- Style="{StaticResource TouchRoundedExpander}">
+ Style="{StaticResource TouchRoundedExpander}" IsTabStop="False" KeyboardNavigation.TabNavigation ="None">
<touch:TouchExpander.Header>
<DockPanel >
<StackPanel Orientation="Horizontal" DockPanel.Dock="Right" Margin="0 0 20 0" Visibility="{Binding IsExpanderOpened, Converter={StaticResource BooleanToVisibilityConverter}, Mode=TwoWay}">
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs
index 2258fdc80..b085b2a78 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/VectorFineTuningDialogVM.cs
@@ -557,10 +557,11 @@ namespace Tango.PPC.Jobs.Dialogs
// if (result != null)
{
+ DateTime reportDateTime = DateTime.UtcNow.ToLocalTime();
ColorCorrectionRepotVM vm = new ColorCorrectionRepotVM()
{
JobName = BrushStopModel.SegmentModel.Job.Name,
- TargetColor = String.Format($"L*{TargetL:0.##} a*{TargetA:0.##} b*{TargetB:0.##}")
+ TargetColor = String.Format($"L*{TargetL:0.##} a*{TargetA:0.##} b*{TargetB:0.##}"),
};
foreach (var item in TrialsLogitems)
{
@@ -578,13 +579,14 @@ namespace Tango.PPC.Jobs.Dialogs
{
PdfWpfWriter writer = new PdfWpfWriter();
writer.AddElement(new ColorCorrectionReport() { DataContext = vm });
- string path = StorageProvider.Drive.Name + "\\Color Correction Report_" + DateTime.UtcNow.ToString(@"d_MM_y_H_mm") + ExplorerFileDefinition.PDFFile.Extension;
+ string path = StorageProvider.Drive.Name + "\\Color Correction Report_" + reportDateTime.ToString(@"MM_dd_y_HH_mm") + ExplorerFileDefinition.PDFFile.Extension;
if(File.Exists(path))
{
- path = StorageProvider.Drive.Name + "\\Color Correction Report_" + DateTime.UtcNow.ToString(@"d_MM_y_H_mm") + "_1" + ExplorerFileDefinition.PDFFile.Extension;
+ path = StorageProvider.Drive.Name + "\\Color Correction Report_" + reportDateTime.ToString(@"MM_dd_y_HH_mm") + "_1" + ExplorerFileDefinition.PDFFile.Extension;
}
writer.Save(path);
- await NotificationProvider.ShowSuccess("Job saved successfully.");
+ await NotificationProvider.ShowSuccess("Color Correction Report saved successfully.");
+ LogManager.Log( $"Color Correction Report saved successfully to file {path}.");
}
catch (Exception ex)
{
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/BindingProxy.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/BindingProxy.cs
new file mode 100644
index 000000000..d6b057c1a
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/BindingProxy.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Tango.PPC.Jobs.Helpers
+{
+ public class BindingProxy : System.Windows.Freezable
+ {
+ protected override Freezable CreateInstanceCore()
+ {
+ return new BindingProxy();
+ }
+
+ public object Data
+ {
+ get { return (object)GetValue(DataProperty); }
+ set { SetValue(DataProperty, value); }
+ }
+
+ public static readonly DependencyProperty DataProperty =
+ DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy), new PropertyMetadata(null));
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/ColorLibraryNamesValidationRule.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/ColorLibraryNamesValidationRule.cs
new file mode 100644
index 000000000..12ec1831e
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/ColorLibraryNamesValidationRule.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Controls;
+
+namespace Tango.PPC.Jobs.Helpers
+{
+ public class ColorLibraryNamesValidationRule : ValidationRule
+ {
+ public WrapperColorLibrary Wrapper { get; set; }
+
+ public override System.Windows.Controls.ValidationResult Validate(object value, CultureInfo cultureInfo)
+ {
+ string name = value.ToString();
+ if (!String.IsNullOrEmpty(name) && Wrapper != null && Wrapper.Library != null && true == Wrapper.Library.Any(x => x.Name.ToUpper() == name.ToUpper()))
+ {
+ return new System.Windows.Controls.ValidationResult(false, "A group with this name already exists.");
+ }
+
+ return System.Windows.Controls.ValidationResult.ValidResult;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/WrapperColorLibrary.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/WrapperColorLibrary.cs
new file mode 100644
index 000000000..4c43623ae
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Helpers/WrapperColorLibrary.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using Tango.PPC.Jobs.Models;
+
+namespace Tango.PPC.Jobs.Helpers
+{
+ public class WrapperColorLibrary : DependencyObject
+ {
+ public static readonly DependencyProperty LibraryProperty =
+ DependencyProperty.Register("Library", typeof(ObservableCollection<ColorLibrary>),
+ typeof(WrapperColorLibrary), new FrameworkPropertyMetadata(null));
+
+ public ObservableCollection<ColorLibrary> Library
+ {
+ get { return (ObservableCollection<ColorLibrary>)GetValue(LibraryProperty); }
+ set { SetValue(LibraryProperty, value); }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs
index f24874ab5..5ab53223b 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/BrushStopModel.cs
@@ -15,6 +15,8 @@ using Tango.BL.Dispensing;
using Tango.BL;
using Tango.Core.ExtensionMethods;
using Newtonsoft.Json;
+using Tango.Settings;
+using Tango.PPC.Common;
namespace Tango.PPC.Jobs.Models
{
@@ -625,7 +627,7 @@ namespace Tango.PPC.Jobs.Models
{
get
{
- if (RequiredMaxLiquidTest)
+ if (RequiredMaxLiquidTest && (ColorSpace == ColorSpaces.Volume || ColorSpace == ColorSpaces.CMYK))
{
var sum = GetColorNLPerCm(Cyan, LiquidTypes.Cyan) + GetColorNLPerCm(Magenta, LiquidTypes.Magenta) + GetColorNLPerCm(Yellow, LiquidTypes.Yellow) + GetColorNLPerCm(Black, LiquidTypes.Black);
var maxLiq = GetTotalMaximumLiquidNlPerCMLimit();
@@ -655,6 +657,13 @@ namespace Tango.PPC.Jobs.Models
[JsonIgnore]
public ColorSpaces LastChangedColorSpace { get; set; }
+ [JsonIgnore]
+ public Double LBeforeChange { get; set; }
+ [JsonIgnore]
+ public Double ABeforeChange { get; set; }
+ [JsonIgnore]
+ public Double BBeforeChange { get; set; }
+
#endregion
#region constructors
@@ -670,7 +679,8 @@ namespace Tango.PPC.Jobs.Models
SegmentModel = segmentModel;
Color = Colors.White;
- ColorSpace = ColorSpaces.Volume;
+ var settings = SettingsManager.Default.GetOrCreate<PPCSettings>();
+ ColorSpace = settings.DefaultTabColorSpace == null? ColorSpaces.Volume: (ColorSpaces)settings.DefaultTabColorSpace;
LastChangedColorSpace = ColorSpace;
ColorCatalogsItem = null;
PreventPropertyUpdate = false;
@@ -962,6 +972,22 @@ namespace Tango.PPC.Jobs.Models
return s;
}
+
+ public void UndoLABChanges()
+ {
+ PreventPropertyUpdate = true;
+ L = LBeforeChange;
+ A = ABeforeChange;
+ PreventPropertyUpdate = false;
+ B = BBeforeChange;
+ }
+
+ public void SaveLABBeforeChanges()
+ {
+ LBeforeChange = L;
+ ABeforeChange = A;
+ BBeforeChange = B;
+ }
#endregion
#region changes
@@ -1131,7 +1157,7 @@ namespace Tango.PPC.Jobs.Models
{
if (ColorSpace != ColorSpaces.RGB)
{
- IsOutOfGamut = false;
+
if ( LastChangedColorSpace != ColorSpaces.RGB)
{
if (LastChangedColorSpace == ColorSpaces.Catalog && ColorCatalogsItem != null)
@@ -1151,7 +1177,12 @@ namespace Tango.PPC.Jobs.Models
_green = output.SingleCoordinates.Green;
_blue = output.SingleCoordinates.Blue;
IsOutOfGamut = output.OutOfGamut;
- }
+ if (IsLiquidVolumesOutOfRange)
+ {
+ BestMatchColor = Color.FromRgb((byte)output.SingleCoordinates.Red, (byte)output.SingleCoordinates.Green, (byte)output.SingleCoordinates.Blue);
+ InitColor();
+ }
+ }
catch (Exception ex)
{
LogManager.Log(ex, "An error occurred while trying to get volume => RGB from conversion engine.");
@@ -1197,7 +1228,6 @@ namespace Tango.PPC.Jobs.Models
BestMatchL = _l;
BestMatchA = _a;
BestMatchB = _b;
-
}
else if (LastChangedColorSpace == ColorSpaces.Volume)
{
@@ -1213,6 +1243,13 @@ namespace Tango.PPC.Jobs.Models
BestMatchA = _a;
BestMatchB = _b;
IsOutOfGamut = output.OutOfGamut;
+ if(IsLiquidVolumesOutOfRange)
+ {
+ Lab lab1 = new Lab(_l, _a, _b);
+ Rgb rgb = new Rgb(lab1.ToRgb());
+ BestMatchColor = Color.FromRgb((byte)(int)rgb.R, (byte)(int)rgb.G, (byte)(int)rgb.B);
+ InitColor();
+ }
}
catch (Exception ex)
{
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs
index d07739af6..d79d1d586 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs
@@ -458,6 +458,35 @@ namespace Tango.PPC.Jobs.Models
}
}
+ [JsonIgnore]
+ public bool IsReverseEnable
+ {
+ get
+ {
+ var items = GroupingSegments.Where(x=> x.IsSelected).ToList();
+
+ foreach(var item in items)
+ {
+ if(item is SegmentModel seg)
+ {
+ if(seg.IsGradient)
+ return true;
+ }
+ else if (item is SegmentsGroupModel group)
+ {
+ foreach (var segment in group.Segments)
+ {
+ if (segment.IsGradient)
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false ;
+ }
+ }
+
private List<ISegmentModel> _segmentsToCopy;
[JsonIgnore]
public List<ISegmentModel> SegmentsToCopy
@@ -865,10 +894,10 @@ namespace Tango.PPC.Jobs.Models
_selectAllSegments = false;
}
RaisePropertyChanged(nameof(SelectAllSegments));
- RaisePropertyChanged(nameof(HasSelectedItems));
+ UpdateSelectedButtons();
}
}
-
+
private void SegmentsGroup_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
foreach (var group in GroupingSegments.ToList())
@@ -902,10 +931,16 @@ namespace Tango.PPC.Jobs.Models
_selectAllSegments = false;
}
RaisePropertyChanged(nameof(SelectAllSegments));
- RaisePropertyChanged(nameof(HasSelectedItems));
+ UpdateSelectedButtons();
}
}
+ private void UpdateSelectedButtons()
+ {
+ RaisePropertyChanged(nameof(HasSelectedItems));
+ RaisePropertyChanged(nameof(IsReverseEnable));
+ }
+
/// <summary>
/// Called when the <see cref="Length"/> property has been changed
/// </summary>
@@ -927,7 +962,7 @@ namespace Tango.PPC.Jobs.Models
_preventChange = true;
GroupingSegments.ToList().ForEach(x => x.IsSelected = SelectAllSegments);
_preventChange = false;
- RaisePropertyChanged(nameof(HasSelectedItems));
+ UpdateSelectedButtons();
}
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Reports/ColorCorrectionReport.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Reports/ColorCorrectionReport.xaml
index 0871dfd1b..f2e929378 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Reports/ColorCorrectionReport.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Reports/ColorCorrectionReport.xaml
@@ -4,9 +4,14 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Tango.PPC.Jobs.Reports"
+ xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
mc:Ignorable="d"
d:DesignHeight="1280" d:DesignWidth="800">
- <UserControl.Resources>
+
+ <UserControl.Resources>
+ <sharedConverters:DateTimeUTCToShortDateTimeConverter x:Key="DateTimeUTCToShortDateTimeConverter" />
+
+
<Style x:Key="CCRGridColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Height" Value="50"/>
<Setter Property="FontSize" Value="14"/>
@@ -26,8 +31,8 @@
</UserControl.Resources>
<Grid>
<StackPanel Orientation="Vertical" Margin="30">
- <DockPanel Height="120" VerticalAlignment="Top" >
- <TextBlock DockPanel.Dock="Right" FontSize="12" Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy hh:mm}'}" VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
+ <DockPanel Height="120" VerticalAlignment="Top" >
+ <TextBlock DockPanel.Dock="Right" FontSize="12" Text="{Binding Date, Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
<Image DockPanel.Dock="Left" Source="../Images/logo.png" Stretch="Uniform" HorizontalAlignment="Left" Margin="40 0 0 0" Width="282" VerticalAlignment="Top" MinHeight="106"></Image>
</DockPanel>
@@ -49,7 +54,7 @@
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="#" FontSize="12" Binding="{Binding Trial}" Width="40" />
- <DataGridTextColumn Header="Date" FontSize="12" Binding="{Binding Date}" Width="130"/>
+ <DataGridTextColumn Header="Date" FontSize="12" Binding="{Binding Date, Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="130"/>
<DataGridTextColumn Header="CMYK" FontSize="12" Binding="{Binding CMYK}" Width="130"/>
<DataGridTextColumn Header="Measured L*a*b" FontSize="12" Binding="{Binding MeasuredLAB}" Width="130"/>
<DataGridTemplateColumn Header="dE(CMC)" Width="120">
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Tango.PPC.JobsV2.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Tango.PPC.JobsV2.csproj
index 9f7f981a0..4dcf689b9 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Tango.PPC.JobsV2.csproj
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Tango.PPC.JobsV2.csproj
@@ -285,7 +285,10 @@
<DependentUpon>VectorFineTuningDialog.xaml</DependentUpon>
</Compile>
<Compile Include="Dialogs\VectorFineTuningDialogVM.cs" />
+ <Compile Include="Helpers\BindingProxy.cs" />
+ <Compile Include="Helpers\ColorLibraryNamesValidationRule.cs" />
<Compile Include="Helpers\GroupSegmentTemplateSelector.cs" />
+ <Compile Include="Helpers\WrapperColorLibrary.cs" />
<Compile Include="JobsV2Module.cs" />
<Compile Include="JobsModuleSettings.cs" />
<Compile Include="Messages\JobSelectedMessage.cs" />
@@ -708,7 +711,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/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/CopySegmentCommand.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/CopySegmentCommand.cs
index dc9c1a81d..a041ee640 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/CopySegmentCommand.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/CopySegmentCommand.cs
@@ -18,7 +18,8 @@ namespace Tango.PPC.Jobs.UndoRedoCommands
}
public void Execute()
{
- _jobModel.SegmentsToCopy.Clear();
+ List<ISegmentModel> SegmentsToCopy = new List<ISegmentModel>(_jobModel.SegmentsToCopy);
+ SegmentsToCopy.Clear();
if (false == _jobModel.Segments.ToList().Any(x => x.IsSelected))
return;
@@ -28,17 +29,18 @@ namespace Tango.PPC.Jobs.UndoRedoCommands
foreach (var segment in _jobModel.GroupingSegments.Where(i => i.IsSelected).ToList())
{
//segment.IsSelected = false;
- _jobModel.SegmentsToCopy.Add(segment.Clone());
+ SegmentsToCopy.Add(segment.Clone());
var index = _jobModel.GroupingSegments.ToList().IndexOf(segment);
indexToPasteCopySegments = index > indexToPasteCopySegments? index: indexToPasteCopySegments;
}
+ _jobModel.SegmentsToCopy = SegmentsToCopy;
_jobModel.IndexToPasteCopySegments = indexToPasteCopySegments;
}
public void UnExecute()
{
- _jobModel.SegmentsToCopy.Clear();
+ _jobModel.SegmentsToCopy= new List<ISegmentModel>();
}
}
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/ReverseCommand.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/ReverseCommand.cs
index 719460e71..c699dd95b 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/ReverseCommand.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/UndoRedoCommands/ReverseCommand.cs
@@ -15,7 +15,7 @@ namespace Tango.PPC.Jobs.UndoRedoCommands
public ReverseCommand(JobModel job)
{
_jobModel = job;
- _indexes = _jobModel.GroupingSegments.Select((segm, ind) => new { Index = ind, Segment = segm }).Where( x=>x.Segment.IsSelected).Select(t=> t.Index).ToList();
+ _indexes = _jobModel.GroupingSegments.Select((segm, ind) => new { Index = ind, Segment = segm }).Where( x=>x.Segment.IsSelected ).Select(t=> t.Index).ToList();
}
public void Execute()
@@ -23,13 +23,13 @@ namespace Tango.PPC.Jobs.UndoRedoCommands
if (_indexes.Count == 0)
return;
- for (int index = 0, endIndex = _indexes.Count -1; index < _indexes.Count && index < endIndex; index++, endIndex--)
- {
- int firstIndexToSwap = _indexes[index];
- int lastIndexToSwap = _indexes[endIndex];
+ //for (int index = 0, endIndex = _indexes.Count -1; index < _indexes.Count && index < endIndex; index++, endIndex--)
+ //{
+ // int firstIndexToSwap = _indexes[index];
+ // int lastIndexToSwap = _indexes[endIndex];
- _jobModel.SwapSegments(firstIndexToSwap, lastIndexToSwap);
- }
+ // _jobModel.SwapSegments(firstIndexToSwap, lastIndexToSwap);
+ //}
for (int index = 0; index < _indexes.Count && index < _jobModel.GroupingSegments.Count; index++)
{
if(_jobModel.GroupingSegments[_indexes[index]] is SegmentModel segmentModel)
@@ -59,13 +59,13 @@ namespace Tango.PPC.Jobs.UndoRedoCommands
if (_indexes.Count == 0)
return;
- for (int index = 0, endIndex = _indexes.Count - 1; index < _indexes.Count && index < endIndex; index++, endIndex--)
- {
- int firstIndexToSwap = _indexes[index];
- int lastIndexToSwap = _indexes[endIndex];
+ //for (int index = 0, endIndex = _indexes.Count - 1; index < _indexes.Count && index < endIndex; index++, endIndex--)
+ //{
+ // int firstIndexToSwap = _indexes[index];
+ // int lastIndexToSwap = _indexes[endIndex];
- _jobModel.SwapSegments(firstIndexToSwap, lastIndexToSwap);
- }
+ // _jobModel.SwapSegments(firstIndexToSwap, lastIndexToSwap);
+ //}
for (int index = 0; index < _indexes.Count && index < _jobModel.GroupingSegments.Count; index++)
{
if (_jobModel.GroupingSegments[_indexes[index]] is SegmentModel segmentModel)
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
index 370ed7f3a..e0749c94e 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
@@ -1479,7 +1479,13 @@ namespace Tango.PPC.Jobs.ViewModels
RaiseMessage(new JobSavedMessage() { Job = Job });
await _db.SaveChangesAsync();
-
+
+ JsonSerializerSettings settings1 = new JsonSerializerSettings()
+ {
+ ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore,
+ PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects
+ };
+ _jsonJobModelLoaded = JsonConvert.SerializeObject(JobModel, Formatting.Indented, settings1);
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml
index 884399f95..20949333d 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml
@@ -237,7 +237,7 @@
</StackPanel>
<StackPanel Margin="0 0 0 0" Orientation="Horizontal">
<controls:FastTextBlock VerticalAlignment="Bottom" DockPanel.Dock="Left" Text="Length (m):" FontSize="18"></controls:FastTextBlock>
- <touch:TouchNumericTextBox Margin="20 0 0 0" Width="92" DockPanel.Dock="Right" Value="{Binding Length, UpdateSourceTrigger=LostFocus}" StringFormat="0.0" AutoCalculateJogStep="False" HasDecimalPoint="True" Minimum="1" Maximum="100000" KeyboardContainer="{Binding ElementName=Container}" FontSize="18" ValueChangedEnd="Length_ValueChanged" TextGotFocus="Length_BeforeChangeValue"/>
+ <touch:TouchNumericTextBox Margin="20 0 0 0" Width="92" DockPanel.Dock="Right" Value="{Binding Length, UpdateSourceTrigger=LostFocus}" StringFormat="0.0" AutoCalculateJogStep="False" HasDecimalPoint="True" Minimum="1" Maximum="100000" KeyboardContainer="{Binding ElementName=Container}" FontSize="18" ValueChangedEnd="Length_ValueChanged" TextGotFocus="Length_BeforeChangeValue" RippleBrush="Transparent"/>
</StackPanel>
</StackPanel>
@@ -303,7 +303,7 @@
<StackPanel Grid.Column="1" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<!--<touch:TouchIconButton Command="{Binding ElementName=view,Path=DataContext.AddColorCommand}" CommandParameter="{Binding}"
Height="40" Width="40" Style="{StaticResource TangoRoundTouchIconButton}" Icon="Plus" Background="{StaticResource TangoRippleDarkBrush}" Foreground="{StaticResource TangoLightForegroundBrush}" Padding="12" Margin="20 0 0 0" />-->
- <touch:TouchButton Margin="0 0 0 0" VerticalAlignment="Center" Command="{Binding ElementName=view,Path=DataContext.AddColorCommand}" CommandParameter="{Binding}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0">
+ <touch:TouchButton Margin="0 0 0 0" VerticalAlignment="Center" Command="{Binding ElementName=view,Path=DataContext.AddColorCommand}" CommandParameter="{Binding}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" BorderBrush="Transparent" RippleBrush="Transparent" >
<Border Height="40" Width="40" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
<Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/AddColor.png"/>
</Border>
@@ -791,24 +791,18 @@
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" x:Name="jobDetailsBorder" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoLightBorderBrush}" Margin="0 0 0 0">
-
- <Grid x:Name="job_details" HorizontalAlignment="Stretch" >
- <DockPanel Height="72" HorizontalAlignment="Stretch">
- <touch:TouchButton Margin="0 0 30 0" DockPanel.Dock="Right" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding EditJobDetailsCommand}" >
- <Border Height="20" Width="20" BorderThickness="0" Background="Transparent" HorizontalAlignment="Right">
- <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/job_details.png"/>
- </Border>
- </touch:TouchButton>
+ <Grid x:Name="job_details" HorizontalAlignment="Stretch" Height="72">
- <Grid DockPanel.Dock="Left" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="0 0 30 0" >
+ <touch:TouchButton Margin="0 0 30 0" VerticalAlignment="Center" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding EditJobDetailsCommand}" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" >
+
+ <Grid VerticalAlignment="Center" HorizontalAlignment="Stretch" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="auto" MaxWidth="320"/>
<ColumnDefinition Width="auto" MaxWidth="320"/>
+ <ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
-
-
<TextBlock Margin="16 0 0 5" TextTrimming="CharacterEllipsis" HorizontalAlignment="Left" VerticalAlignment="Center" FontWeight="SemiBold" FontSize="{StaticResource TangoMessageBoxTitleFontSize}" Text="{Binding JobModel.Name,FallbackValue='Job Name'}" ToolTip="{Binding JobModel.Name}"/>
<StackPanel Margin="10 0 0 0" Grid.Column="1" VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Left">
@@ -820,7 +814,7 @@
<TextBlock Text="Thread Type:" VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}" ></TextBlock>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" FontWeight="Medium" Text="{Binding JobModel.Rml.FinalName}"/>
</StackPanel>
-
+
<StackPanel Margin="10 0 0 0" Grid.Column="2" VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Center">
<StackPanel.ToolTip>
<ToolTip>
@@ -830,8 +824,13 @@
<TextBlock Text="Spool Type:" VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}" ></TextBlock>
<TextBlock Text="{Binding JobModel.SpoolType.Name}" Margin="10 0 0 0" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" FontWeight="Medium"/>
</StackPanel>
+
+ <Border Grid.Column="3" Height="20" Margin="20 0 0 0" BorderThickness="0" Background="Transparent" HorizontalAlignment="Right">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/job_details.png"/>
+ </Border>
</Grid>
- </DockPanel>
+ </touch:TouchButton>
+
</Grid>
</Border>
@@ -852,31 +851,31 @@
<DropShadowEffect Opacity="0.5" ShadowDepth="6" Color="Silver" BlurRadius="10" Direction="270"/>
</Border.Effect>
<UniformGrid Columns="6" Rows="1" DockPanel.Dock="Left" HorizontalAlignment="Stretch" >
- <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding RepeateSegmentCommand}" IsEnabled="{Binding JobModel.HasSelectedItems, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding RepeateSegmentCommand}" IsEnabled="{Binding JobModel.HasSelectedItems}">
<StackPanel Orientation="Vertical" VerticalAlignment="Center" >
<Image Width="20" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/repeat.png"/>
<TextBlock FontWeight="Medium" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoSmallFontSizeBar}" >Repeat</TextBlock>
</StackPanel>
</touch:TouchButton>
- <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding ReverseCommand}" IsEnabled="{Binding JobModel.HasSelectedItems, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding ReverseCommand}" IsEnabled="{Binding JobModel.IsReverseEnable}">
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<Image Width="20" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/reverse.png"/>
<TextBlock FontWeight="Medium" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoSmallFontSizeBar}" Foreground="{StaticResource TangoMidAccentBrush}">Reverse</TextBlock>
</StackPanel>
</touch:TouchButton>
- <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding DeleteSegmentCommand}" IsEnabled="{Binding JobModel.HasSelectedItems, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding DeleteSegmentCommand}" IsEnabled="{Binding JobModel.HasSelectedItems}">
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<Image Width="20" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/delete_segment.png"/>
<TextBlock FontWeight="Medium" Margin="0" VerticalAlignment="Center" FontSize="{StaticResource TangoSmallFontSizeBar}" Foreground="{StaticResource TangoMidAccentBrush}">Delete</TextBlock>
</StackPanel>
</touch:TouchButton>
- <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding PasteCommand}" IsEnabled="{Binding JobModel.HasSegmentsToCopy, Converter={StaticResource BooleanToVisibilityConverter}}" >
+ <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding PasteCommand}" IsEnabled="{Binding JobModel.HasSegmentsToCopy}" >
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<Image Width="20" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/paste.png"/>
<TextBlock FontWeight="Medium" Margin="0" VerticalAlignment="Center" FontSize="{StaticResource TangoSmallFontSizeBar}" Foreground="{StaticResource TangoMidAccentBrush}">Paste</TextBlock>
</StackPanel>
</touch:TouchButton>
- <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding CopyCommand}" IsEnabled="{Binding JobModel.HasSelectedItems, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <touch:TouchButton Style="{StaticResource CollapsedPanelButton}" EnableDropShadow="False" Command="{Binding CopyCommand}" IsEnabled="{Binding JobModel.HasSelectedItems}">
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<Image Width="19" Height="23" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/copy.png"/>
<TextBlock FontWeight="Medium" Margin="0" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="{StaticResource TangoSmallFontSizeBar}" Foreground="{StaticResource TangoMidAccentBrush}">Copy</TextBlock>
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
index bf033b71f..132f33849 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
@@ -168,12 +168,12 @@
<touch:TouchNumericTextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Minimum="100" Maximum="500" Value="{Binding FineTuningLength}" HasDecimalPoint="False" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchNumericTextBox>
<TextBlock VerticalAlignment="Bottom">Use Light Inks When Possible</TextBlock>
- <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="90" IsChecked="{Binding UseLightInks}"></touch:TouchToggleSlider>
+ <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="90" IsChecked="{Binding UseLightInks}" KeyboardNavigation.TabNavigation ="None" IsTabStop="False"></touch:TouchToggleSlider>
</controls:TableGrid>
<DockPanel Margin="10 -50 0 0">
- <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
+ <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}" IsTabStop="False"></touch:TouchIcon>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}" KeyboardNavigation.TabNavigation="None">
Job settings allows you to set the default configuration for new jobs.
</TextBlock>
</DockPanel>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/logo.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/logo.png
index b49838e37..efb481bc4 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/logo.png
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/logo.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
index 891d8c809..58f659ad1 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
@@ -8,4 +8,4 @@ using System.Windows;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Tango PPC Application")]
-[assembly: AssemblyVersion("1.7.8.0")]
+[assembly: AssemblyVersion("1.7.9.0")]
diff --git a/Software/Visual_Studio/Tango.PMR/ExtensionMethods.cs b/Software/Visual_Studio/Tango.PMR/ExtensionMethods.cs
index 24f6a4534..5e6507bd0 100644
--- a/Software/Visual_Studio/Tango.PMR/ExtensionMethods.cs
+++ b/Software/Visual_Studio/Tango.PMR/ExtensionMethods.cs
@@ -143,8 +143,8 @@ public static class ExtensionMethods
var ti = stop.Dispensers.FirstOrDefault(x => x.DispenserLiquidType == DispenserLiquidType.TransparentInk);
if (ti == null) return;
- if (Math.Max(0, minInkUptake - nlPcmSum) < minInkUptake * 0.02d) return;
-
+ //if (Math.Max(0, minInkUptake - nlPcmSum) < minInkUptake * 0.02d) return;
+ if (Math.Max(0, nlPerCM - nlPcmSum) < nlPerCM * 0.02d) return; //Daria change
double newNlCM = Math.Max(0, nlPerCM - nlPcmSum);
ti.NanoliterPerCentimeter = newNlCM;
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.cs
index 77891b36b..dbda2320e 100644
--- a/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.cs
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.cs
@@ -131,6 +131,15 @@ namespace Tango.Touch.Controls
public static readonly DependencyProperty UpdateBindingOnlyWhenFocusedProperty =
DependencyProperty.Register("UpdateBindingOnlyWhenFocused", typeof(bool), typeof(TouchNumericTextBox), new PropertyMetadata(false));
+ public Brush RippleBrush
+ {
+ get { return (Brush)GetValue(RippleBrushProperty); }
+ set { SetValue(RippleBrushProperty, value); }
+ }
+ public static readonly DependencyProperty RippleBrushProperty =
+ DependencyProperty.Register("RippleBrush", typeof(Brush), typeof(TouchNumericTextBox), new PropertyMetadata(new SolidColorBrush(Color.FromRgb(189,189,189)) { Opacity = 0.28 }));
+
+
public virtual bool HasError
{
get
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml
index f26e53e73..ff4756160 100644
--- a/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml
@@ -87,7 +87,8 @@
</Grid>
<Grid>
- <components:Ripple RippleBrush="{StaticResource TangoRippleDarkBrush}" RippleFactor="15">
+ <components:Ripple RippleBrush="{TemplateBinding RippleBrush}" RippleFactor="15">
+
<Grid>
<TextBox FontSize="{TemplateBinding FontSize}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Foreground="{TemplateBinding Foreground}" Padding="0 0 0 4" CaretBrush="{StaticResource TangoPrimaryAccentBrush}" FocusVisualStyle="{x:Null}" x:Name="PART_TextBox" BorderThickness="0" Background="Transparent">
<TextBox.Style>
diff --git a/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml b/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml
index edf25c256..8f4134d02 100644
--- a/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml
+++ b/Software/Visual_Studio/Tango.Touch/Styles/TouchToggleButton.xaml
@@ -4,6 +4,12 @@
xmlns:components="clr-namespace:Tango.Touch.Components"
xmlns:local="clr-namespace:Tango.Touch.Styles">
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="../Resources/Colors.xaml" />
+ <ResourceDictionary Source="../Resources/Fonts.xaml" />
+ <ResourceDictionary Source="../Controls/TouchToggleButton.xaml" />
+ </ResourceDictionary.MergedDictionaries>
+
<Style x:Key="TangoTouchToggleButtonHamburger" TargetType="{x:Type controls:TouchToggleButton}">
<Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"/>
<Setter Property="Background" Value="Transparent" />
@@ -193,4 +199,18 @@
</Setter.Value>
</Setter>
</Style>
+
+ <Style x:Key="TangoTouchToggleButtonNoDisable" TargetType="{x:Type controls:TouchToggleButton}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type controls:TouchToggleButton}">
+ <Border x:Name="border" Style="{StaticResource DropShadowBorder}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="{TemplateBinding CornerRadius}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+ <components:Ripple CornerRadius="{TemplateBinding CornerRadius}" RippleBrush="{TemplateBinding RippleBrush}">
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </components:Ripple>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
</ResourceDictionary> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs
index ed37daf43..b452decc7 100644
--- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs
+++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs
@@ -167,8 +167,15 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers
/// <param name="differenceMaxMin">The difference maximum minimum.</param>
public void SetLocalErrors(List<int> differenceMaxMin, List<int> differenceMaxMinToLocationArr)
{
+ List< int > deviationsRange = new List<int>();
+ for (int n = 0; n < differenceMaxMinToLocationArr.Count && n < differenceMaxMin.Count; n++)
+ {
+ if(differenceMaxMinToLocationArr.ElementAt(n) >= (double)Settings.GetValueByName(AnalyzerSettingsEnum.DeviationAtRevolutionsMin) && differenceMaxMinToLocationArr.ElementAt(n) <= (double)Settings.GetValueByName(AnalyzerSettingsEnum.DeviationAtRevolutionsMax))
+ deviationsRange.Add( differenceMaxMin.ElementAt(n));
+ }
// int count = differenceMaxMin.Where(x => x > 25 ).Count();
- int max_key = FindMaxErrorObject(differenceMaxMin);
+ int max_key = FindMaxErrorObject(differenceMaxMin, deviationsRange);
+
if (!BackgroundMode)
{
var points = RangeToCountChart.Points;
@@ -213,14 +220,17 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers
/// <summary>
/// Finds the maximum error object. Init LocalErrors message. Return max range value.
/// </summary>
- private int FindMaxErrorObject(List<int> range_values)
+ private int FindMaxErrorObject(List<int> range_values, List<int> deviationsRange)
{
var countValArr = range_values.GroupBy(x => x).Select(t => new { Key = t.Key, Value = t.Count() }).OrderBy(x=>x.Key).ToArray();
+ var deviationsValArr = deviationsRange.GroupBy(x => x).Select(t => new { Key = t.Key, Value = t.Count() }).OrderBy(x => x.Key).ToArray();
double merror = (double)Settings.GetValueByName(AnalyzerSettingsEnum.TakeOffMaxMin);// BuildMeasurementError(range_values);
double dividerMaxError = (double)Settings.GetValueByName(AnalyzerSettingsEnum.DividerMaxError);// BuildMeasurementError(range_values);
double sum = 0;
int max_key = 0;
int range = 0;
+ int occurrence = 0;
+
for (int i = countValArr.Count() - 1; i >= 0; i--)
{
sum += countValArr[i].Value;
@@ -230,14 +240,28 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers
{
double persentageOfError = countValArr[i].Key / dividerMaxError * 100;
range = countValArr[i].Key;
- int occurrence = countValArr[i].Value;
+ occurrence = countValArr[i].Value;
LocalErrors = $" {persentageOfError.ToString("F2")}% where max local error = {range.ToString()} and occurrence = {occurrence.ToString()}";
break;
}
}
+
var res = range / dividerMaxError * 100;
- Result = res <= (double)Settings.GetValueByName(AnalyzerSettingsEnum.MaxError) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed;
+ if(res <= (double)Settings.GetValueByName(AnalyzerSettingsEnum.MaxError))
+ Result = AnalyzerResultValue.Passed;
+ else
+ {
+ Result = AnalyzerResultValue.Failed;
+ var entryindeviations = deviationsValArr.FirstOrDefault(x => x.Key == range);
+ if (entryindeviations != null)
+ {
+ int val = entryindeviations.Value;
+ if((occurrence - val) == 0)
+ Result = AnalyzerResultValue.Passed;
+ }
+ }
+
return max_key;
}
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Models/SettingsModel.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Models/SettingsModel.cs
index cb9614559..36ed964f0 100644
--- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Models/SettingsModel.cs
+++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Models/SettingsModel.cs
@@ -126,7 +126,7 @@ namespace Tango.DispenserAnalyzer.UI.Models
[JsonProperty]
public bool IsRangeVisible { get; set; }
-
+
#endregion
#region event and command
@@ -156,6 +156,22 @@ namespace Tango.DispenserAnalyzer.UI.Models
SetDefaultCommand = new RelayCommand(SetDefault);
}
+ public BaseSettingModel(AnalyzerSettingsEnum enumNameMinValue, AnalyzerSettingsEnum enumNameMaxValue, string defaultValueDisplay)
+ {
+ _enumName = enumNameMinValue;
+ PropertyName = _enumName.ToDescription();
+ DefaultValueDisplay = defaultValueDisplay;
+ DefaultValue = Settings.GetDefaultValueByName(enumNameMinValue);
+ PropertyValue = Settings.GetValueByName(enumNameMinValue);
+ IsRangeVisible = true;
+
+ MinDefaultRangeValue = (double)(Settings.GetDefaultValueByName(enumNameMinValue));
+ MaxDefaultRangeValue = (double)(Settings.GetDefaultValueByName(enumNameMaxValue));
+ MinRangeValue = (double)(Settings.GetValueByName(enumNameMinValue));
+ MaxRangeValue = (double)(Settings.GetValueByName(enumNameMaxValue));
+ SetDefaultCommand = new RelayCommand(SetDefault);
+ }
+
private void SetDefault()
{
if (IsRangeVisible)
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Properties/app.manifest b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Properties/app.manifest
new file mode 100644
index 000000000..60eec7703
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Properties/app.manifest
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
+ <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
+ <!-- UAC Manifest Options
+ If you want to change the Windows User Account Control level replace the
+ requestedExecutionLevel node with one of the following.
+
+ <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+ <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
+ <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
+
+ Specifying requestedExecutionLevel element will disable file and registry virtualization.
+ Remove this element if your application requires this virtualization for backwards
+ compatibility.
+ -->
+ <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+ </requestedPrivileges>
+ <applicationRequestMinimum>
+ <defaultAssemblyRequest permissionSetReference="Custom" />
+ <PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
+ </applicationRequestMinimum>
+ </security>
+ </trustInfo>
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+ <application>
+ <!-- A list of the Windows versions that this application has been tested on
+ and is designed to work with. Uncomment the appropriate elements
+ and Windows will automatically select the most compatible environment. -->
+ <!-- Windows Vista -->
+ <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+ <!-- Windows 7 -->
+ <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
+ <!-- Windows 8 -->
+ <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
+ <!-- Windows 8.1 -->
+ <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
+ <!-- Windows 10 -->
+ <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
+ </application>
+ </compatibility>
+ <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
+ DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
+ to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
+ also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
+ <!--
+ <application xmlns="urn:schemas-microsoft-com:asm.v3">
+ <windowsSettings>
+ <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
+ </windowsSettings>
+ </application>
+ -->
+ <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
+ <!--
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="*"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+ </dependency>
+ -->
+</assembly> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Settings.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Settings.cs
index 177756b0f..b370169c7 100644
--- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Settings.cs
+++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Settings.cs
@@ -43,6 +43,10 @@ namespace Tango.DispenserAnalyzer.UI
CancelMovingAVG,
[Description("Divider for calculation max error")]
DividerMaxError,
+ [Description("Deviation range")]
+ DeviationAtRevolutionsMin,
+ [Description("Deviation range")]
+ DeviationAtRevolutionsMax,
}
@@ -61,7 +65,7 @@ namespace Tango.DispenserAnalyzer.UI
DefaultValues[AnalyzerSettingsEnum.AvgMaxValue] = 1850.0;
DefaultValues[AnalyzerSettingsEnum.MaxMinRange] = 450.0;
DefaultValues[AnalyzerSettingsEnum.MaxMinIntervals] = 450.0;
- DefaultValues[AnalyzerSettingsEnum.MaxError] = 1.5;
+ DefaultValues[AnalyzerSettingsEnum.MaxError] = 1.67;
DefaultValues[AnalyzerSettingsEnum.TakeOffMaxMin] = 3.0;
DefaultValues[AnalyzerSettingsEnum.TimeInterval] = 0.1;
DefaultValues[AnalyzerSettingsEnum.StartCalculation] = 600.0;
@@ -69,6 +73,9 @@ namespace Tango.DispenserAnalyzer.UI
DefaultValues[AnalyzerSettingsEnum.MovingAvg] = 50.0;
DefaultValues[AnalyzerSettingsEnum.CancelMovingAVG] = false;
DefaultValues[AnalyzerSettingsEnum.DividerMaxError] = 1500.0;
+ DefaultValues[AnalyzerSettingsEnum.DeviationAtRevolutionsMin] = 200.0;
+ DefaultValues[AnalyzerSettingsEnum.DeviationAtRevolutionsMax] = 218.0;
+
CurrentValues = new Dictionary<AnalyzerSettingsEnum, object>(DefaultValues);
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj
index d0317431b..11eb3f263 100644
--- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj
+++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj
@@ -29,7 +29,7 @@
<ProductName>Dispenser Analyser</ProductName>
<PublisherName>Twine</PublisherName>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
- <ApplicationRevision>1</ApplicationRevision>
+ <ApplicationRevision>3</ApplicationRevision>
<ApplicationVersion>5.1.1.%2a</ApplicationVersion>
<UseApplicationTrust>true</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
@@ -45,6 +45,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -61,6 +62,12 @@
<PropertyGroup>
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
+ <PropertyGroup>
+ <TargetZone>LocalIntranet</TargetZone>
+ </PropertyGroup>
+ <PropertyGroup>
+ <ApplicationManifest>Properties\app.manifest</ApplicationManifest>
+ </PropertyGroup>
<ItemGroup>
<Reference Include="MahApps.Metro">
<HintPath>..\..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll</HintPath>
@@ -201,6 +208,7 @@
</EmbeddedResource>
<EmbeddedResource Include="Models\FlowRangeToTimeResults.xlsx" />
<None Include="packages.config" />
+ <None Include="Properties\app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/ViewModels/SettingsVM.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/ViewModels/SettingsVM.cs
index 74ec5db79..515b2df4e 100644
--- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/ViewModels/SettingsVM.cs
+++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/ViewModels/SettingsVM.cs
@@ -88,10 +88,11 @@ namespace Tango.DispenserAnalyzer.UI.ViewModels
list.Add(new BaseSettingModel(AnalyzerSettingsEnum.AvgMinValue, "1400-1850 [mbar]", true));
list.Add(new BaseSettingModel(AnalyzerSettingsEnum.MaxMinRange, "450 reads"));
list.Add(new BaseSettingModel(AnalyzerSettingsEnum.MaxMinIntervals, "450 reads"));
- list.Add(new BaseSettingModel(AnalyzerSettingsEnum.MaxError, "1.5%"));
+ list.Add(new BaseSettingModel(AnalyzerSettingsEnum.MaxError, "1.67%"));
list.Add(new BaseSettingModel(AnalyzerSettingsEnum.TakeOffMaxMin, "3"));
list.Add(new BaseSettingModel(AnalyzerSettingsEnum.CancelMovingAVG, "False"));
list.Add(new BaseSettingModel(AnalyzerSettingsEnum.DividerMaxError, "1500"));
+ list.Add(new BaseSettingModel(AnalyzerSettingsEnum.DeviationAtRevolutionsMin, AnalyzerSettingsEnum.DeviationAtRevolutionsMax, "200-218"));
list.ForEach(x => x.SettingValueEvent += new EventHandler(OnSettingValueChanged));
model.AddSettings(list);
Settings.Add(model);