diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-09-23 14:50:38 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-09-23 14:50:38 +0300 |
| commit | b869bbeacf64595d2c716e1bf6257bb47ccf7221 (patch) | |
| tree | 75682cd663f0de6db45375dc122aa316f799cd5c /Software/Visual_Studio/MachineStudio/Modules | |
| parent | bc9aa6ae0e64f4ddefcec06503b12e1daa4075d0 (diff) | |
| parent | 4cac9d0fb02430f725b37430d9eab78a8a39afee (diff) | |
| download | Tango-b869bbeacf64595d2c716e1bf6257bb47ccf7221.tar.gz Tango-b869bbeacf64595d2c716e1bf6257bb47ccf7221.zip | |
merge conflict
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
10 files changed, 154 insertions, 21 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs index a521127e1..c831da30a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs @@ -435,7 +435,9 @@ namespace Tango.MachineStudio.ColorLab.ViewModels IColorConverter converter = new DefaultColorConverter(); - var output = converter.Convert(input); + input.GenerateHive = true; + + var output = converter.Convert(input, SelectedRML.ColorConversionVersion); IsOutOfGamut = output.OutOfGamut; @@ -679,7 +681,7 @@ namespace Tango.MachineStudio.ColorLab.ViewModels IColorConverter converter = new DefaultColorConverter(); - var output = converter.Convert(input); + var output = converter.Convert(input, SelectedRML.ColorConversionVersion); if (SourceColor.IsLab) { @@ -744,7 +746,8 @@ namespace Tango.MachineStudio.ColorLab.ViewModels if (IsHosted) { - if(SelectedRML.Cct != null){ + if (SelectedRML.Cct != null) + { SelectedCCT = new CctModel() { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/App.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/App.xaml new file mode 100644 index 000000000..dff08b5e8 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/App.xaml @@ -0,0 +1,12 @@ +<Application x:Class="Tango.MachineStudio.Developer.App" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <Application.Resources> + <ResourceDictionary> + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="pack://application:,,,/Tango.MachineStudio.Common;component/Resources/MaterialDesign.xaml" /> + <ResourceDictionary Source="pack://application:,,,/Tango.MachineStudio.Common;component/Themes/LightThemeColors.xaml" /> + </ResourceDictionary.MergedDictionaries> + </ResourceDictionary> + </Application.Resources> +</Application>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj index 6e55b6d14..10fce1b20 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj @@ -141,6 +141,10 @@ <Compile Include="Views\RunningJobView.xaml.cs"> <DependentUpon>RunningJobView.xaml</DependentUpon> </Compile> + <Page Include="App.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> <Page Include="Views\EmbroideryDisplayView.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> @@ -361,7 +365,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.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index ac5354a74..3f551c866 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -827,7 +827,7 @@ namespace Tango.MachineStudio.Developer.ViewModels { while (true) { - if (!_rml_has_no_cct && EnableColorConversion && !_disable_gamut_check && IsJobVisible && IsVisible && ActiveJob != null && ActiveJob.Segments != null) + if (!_rml_has_no_cct && EnableColorConversion && !_disable_gamut_check && IsJobVisible && IsVisible && ActiveJob != null && ActiveJob.Segments != null && SelectedProcessParametersTable != null) { try { @@ -839,7 +839,7 @@ namespace Tango.MachineStudio.Developer.ViewModels { try { - var output = _converter.Convert(stop); + var output = _converter.Convert(stop, false); stop.Red = output.SingleCoordinates.Red; stop.Green = output.SingleCoordinates.Green; @@ -853,7 +853,8 @@ namespace Tango.MachineStudio.Developer.ViewModels { try { - stop.IsOutOfGamut = _converter.IsOutOfGamut(stop); + var output = _converter.Convert(stop, false); + output.ApplyOnBrushStopLiquidVolumes(stop, SelectedProcessParametersTable); stop.OutOfGamutChecked = true; } catch { } @@ -874,7 +875,7 @@ namespace Tango.MachineStudio.Developer.ViewModels _hiveOpened = true; try { - HiveSuggestions = _converter.Convert(SelectedBrushStop).CreateHiveSuggestions(); + HiveSuggestions = _converter.Convert(SelectedBrushStop, true).CreateHiveSuggestions(); } catch (Exception ex) { @@ -915,7 +916,7 @@ namespace Tango.MachineStudio.Developer.ViewModels if (!_color_changed_from_hive && _hiveOpened) { SelectedBrushStop.Corrected = false; - HiveSuggestions = _converter.Convert(SelectedBrushStop).CreateHiveSuggestions(); + HiveSuggestions = _converter.Convert(SelectedBrushStop, true).CreateHiveSuggestions(); } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml index 861a639d3..742798ce4 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml @@ -753,13 +753,19 @@ <StackPanel> <TextBlock>MEDIA</TextBlock> <StackPanel Orientation="Horizontal" DockPanel.Dock="Left"> - <ComboBox Width="250" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML}" Style="{StaticResource TransparentComboBoxStyle}"> + <ComboBox Width="250" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML}" Style="{StaticResource TransparentComboBoxStyle}" HorizontalContentAlignment="Stretch"> <ComboBox.ItemTemplate> <DataTemplate> - <StackPanel> - <TextBlock Text="{Binding Name}" FontWeight="Bold" FontStyle="Italic"></TextBlock> - <TextBlock FontSize="11" Text="{Binding Manufacturer}" Foreground="Gray"></TextBlock> - </StackPanel> + <DockPanel> + <StackPanel DockPanel.Dock="Left"> + <TextBlock Text="{Binding Name}" FontWeight="Bold" FontStyle="Italic"></TextBlock> + <TextBlock FontSize="11" Text="{Binding Manufacturer}" Foreground="Gray"></TextBlock> + </StackPanel> + <TextBlock Margin="20 0 0 0" VerticalAlignment="Center" HorizontalAlignment="Right"> + <Run Foreground="Gray">v:</Run> + <Run FontWeight="Bold" Text="{Binding ColorConversionVersion,Mode=OneWay}"></Run> + </TextBlock> + </DockPanel> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs index 735f75ab0..b68239b4b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs @@ -19,7 +19,7 @@ using Tango.SharedUI; namespace Tango.MachineStudio.RML.ViewModels { - public class ColorConversionViewVM: ViewModel + public class ColorConversionViewVM : ViewModel { #region properties @@ -265,7 +265,9 @@ namespace Tango.MachineStudio.RML.ViewModels IColorConverter converter = new DefaultColorConverter(); - var output = converter.Convert(input); + input.GenerateHive = true; + + var output = converter.Convert(input, RML.ColorConversionVersion); IsOutOfGamut = output.OutOfGamut; @@ -327,6 +329,7 @@ namespace Tango.MachineStudio.RML.ViewModels ConversionInput input = new ConversionInput(); input.ColorSpace = PMR.ColorLab.ColorSpace.Volume; input.ForwardData = ByteString.CopyFrom(CCT.Data); + input.GenerateHive = false; input.InputCoordinates = new InputCoordinates(); input.ThreadL = RML.WhitePointL; @@ -361,7 +364,7 @@ namespace Tango.MachineStudio.RML.ViewModels IColorConverter converter = new DefaultColorConverter(); - var output = converter.Convert(input); + var output = converter.Convert(input, RML.ColorConversionVersion); if (SourceColor.IsLab) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs index 361608ef6..a76799881 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs @@ -20,6 +20,7 @@ using Tango.MachineStudio.RML.Models; using Tango.MachineStudio.RML.Views; using Tango.PMR.ColorLab; using System.Data.Entity; +using Tango.Core.ExtensionMethods; namespace Tango.MachineStudio.RML.ViewModels { @@ -178,11 +179,14 @@ namespace Tango.MachineStudio.RML.ViewModels public RelayCommand SaveCommand { get; set; } + public RelayCommand CloneRmlCommand { get; set; } + public MainViewVM(INotificationProvider notificationProvider) { _notification = notificationProvider; ManageRmlCommand = new RelayCommand(() => LoadActiveRML(SelectedRML.Guid), () => SelectedRML != null); - RemoveRmlCommand = new RelayCommand(RemoveSelectedRml); + RemoveRmlCommand = new RelayCommand(RemoveSelectedRml, () => SelectedRML != null); + CloneRmlCommand = new RelayCommand(CloneSelectedRml, () => SelectedRML != null); AddRmlCommand = new RelayCommand(AddNewRml); BackToRmlsCommand = new RelayCommand(BackToRmls, () => IsFree); AddProcessParametersTableCommand = new RelayCommand(AddProcessParametersTable, () => IsFree); @@ -208,6 +212,27 @@ namespace Tango.MachineStudio.RML.ViewModels _rmls_context = ObservablesContext.CreateDefault(); Rmls = await new RmlsCollectionBuilder(_rmls_context).SetAll().WithLiquidFactors().WithMediaProperties().BuildAsync(); + + //Load CCT file names... + var ccts = await _rmls_context.Ccts.Select(x => new + { + x.Guid, + x.FileName + }).ToListAsync(); + + foreach (var rml in Rmls) + { + var cct = ccts.SingleOrDefault(x => x.Guid == rml.CctGuid); + + if (cct != null) + { + rml.Cct = new Cct() + { + Guid = cct.Guid, + FileName = cct.FileName, + }; + } + } } private async void LoadActiveRML(String guid) @@ -422,6 +447,74 @@ namespace Tango.MachineStudio.RML.ViewModels } } + private async void CloneSelectedRml() + { + String name = _notification.ShowTextInput("Enter thread name", "thread name"); + + if (!String.IsNullOrWhiteSpace(name)) + { + using (_notification.PushTaskItem("Cloning thread...")) + { + try + { + IsFree = false; + + using (var context = ObservablesContext.CreateDefault()) + { + var rml = await new RmlBuilder(context).Set(SelectedRML.Guid).WithActiveParametersGroup().WithLiquidFactors().BuildAsync(); + + Rml cloned = new Rml(); + rml.MapPrimitivesWithStrings(cloned); + + cloned.Code = Rmls.Max(x => x.Code) + 1; + cloned.Guid = Guid.NewGuid().ToString(); + cloned.ID = 0; + cloned.Name = name; + + ProcessParametersTablesGroup group = new ProcessParametersTablesGroup(); + group.Name = rml.GetActiveProcessGroup().Name; + group.Active = true; + + foreach (var p in rml.GetActiveProcessGroup().ProcessParametersTables) + { + var pc = new ProcessParametersTable(); + p.MapPrimitivesTo(pc); + pc.Name = p.Name; + + group.ProcessParametersTables.Add(pc); + } + + cloned.ProcessParametersTablesGroups.Add(group); + + foreach (var liquidFactor in rml.LiquidTypesRmls) + { + LiquidTypesRml l = new LiquidTypesRml(); + l.DefaultCatData = liquidFactor.DefaultCatData; + l.LiquidType = liquidFactor.LiquidType; + l.MaxNlPerCm = liquidFactor.MaxNlPerCm; + cloned.LiquidTypesRmls.Add(l); + } + + context.Rmls.Add(cloned); + await context.SaveChangesAsync(); + } + + LoadRmls(); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error cloning thread."); + _notification.ShowError($"An error occurred while trying to clone the selected thread\n{ex.Message}"); + } + finally + { + IsFree = true; + } + } + + } + } + private void AddProcessParametersTable() { var name = _notification.ShowTextInput("Enter table name", "Name"); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/RgbVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/RgbVM.cs index 18e6d4fca..e8b8cbe86 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/RgbVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/RgbVM.cs @@ -106,9 +106,9 @@ namespace Tango.MachineStudio.RML.ViewModels { Lab lab = new Lab(L, A, B); Rgb rgb = lab.To<Rgb>(); - _red = rgb.R; - _green = rgb.G; - _blue = rgb.B; + _red = (int)rgb.R; + _green = (int)rgb.G; + _blue = (int)rgb.B; } _color = Color.FromRgb((byte)Red, (byte)Green, (byte)Blue); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml index 1e8e55c5d..50f6a6297 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml @@ -189,6 +189,9 @@ </StackPanel> </Button> </UniformGrid> + + <TextBlock Margin="0 40 0 0" Text="Color Conversion Version:" HorizontalAlignment="Center"></TextBlock> + <mahapps:NumericUpDown Minimum="1" Maximum="2" Value="{Binding ActiveRML.ColorConversionVersion}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="False" Margin="0 5 0 0" /> </StackPanel> </StackPanel> </Grid> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml index ec1e1a78a..719167679 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml @@ -31,6 +31,12 @@ <TextBlock Margin="5 0 0 0" FontSize="16">DELETE</TextBlock> </StackPanel> </Button> + <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource OrangeBrush300}" BorderBrush="{StaticResource OrangeBrush300}" Command="{Binding CloneRmlCommand}"> + <StackPanel Orientation="Horizontal"> + <materialDesign:PackIcon Kind="ContentCopy" Width="20" Height="20" /> + <TextBlock Margin="5 0 0 0" FontSize="16">DUPLICATE</TextBlock> + </StackPanel> + </Button> <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource GreenBrush300}" BorderBrush="{StaticResource GreenBrush300}" Command="{Binding AddRmlCommand}"> <StackPanel Orientation="Horizontal"> <materialDesign:PackIcon Kind="Plus" Width="20" Height="20" /> @@ -61,6 +67,8 @@ <DataGridTextColumn Header="MANUFACTURER" Binding="{Binding Manufacturer}" Width="Auto" /> <DataGridTextColumn Header="MATERIAL" Binding="{Binding MediaMaterial.Name}" Width="Auto" /> <DataGridTextColumn Header="PURPOSE" Binding="{Binding MediaPurpose.Name}" Width="Auto" /> + <DataGridTextColumn Header="CCT" Binding="{Binding Cct.FileName}" Width="Auto" /> + <DataGridTextColumn Header="CCT VER" Binding="{Binding ColorConversionVersion}" Width="70" /> <DataGridTextColumn Header="LAST UPDATED" Binding="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="Auto" /> <DataGridTemplateColumn Header="LIQUID FACTORS" Width="1*"> <DataGridTemplateColumn.CellTemplate> |
