aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Converters/SegmentToGradientStopsConverter.cs
blob: e6206e268811e726df938068c1989dd2629694f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;
using Tango.BL.Entities;

namespace Tango.MachineStudio.Developer.Converters
{
    public class SegmentToGradientStopsConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            try
            {
                Segment segment = value as Segment;

                GradientStopCollection stops = new GradientStopCollection();

                foreach (var stop in segment.BrushStops.OrderBy(x => x.StopIndex))
                {
                    stops.Add(new GradientStop(stop.Color, stop.OffsetPercent / 100d));
                }

                return stops;
            }
            catch
            {
                return null;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}
"></TextBox> </StackPanel> </Grid> <Grid DockPanel.Dock="Bottom"> <StackPanel> <Grid> <StackPanel VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0 0 0 0"> <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource RedBrush300}" BorderBrush="{StaticResource RedBrush300}" Command="{Binding RemoveRmlCommand}"> <StackPanel Orientation="Horizontal"> <materialDesign:PackIcon Kind="Delete" Width="20" Height="20" /> <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" /> <TextBlock Margin="5 0 0 0" FontSize="16">NEW MEDIA</TextBlock> </StackPanel> </Button> </StackPanel> <StackPanel Orientation="Horizontal" HorizontalAlignment="Right"> <Button Margin="50 0 0 0" MinWidth="200" Height="60" Command="{Binding ManageRmlCommand}"> <StackPanel Orientation="Horizontal"> <materialDesign:PackIcon Kind="Pencil" Width="24" Height="24" /> <TextBlock Margin="10 0 0 0" FontSize="18">EDIT</TextBlock> </StackPanel> </Button> </StackPanel> </Grid> <StackPanel Orientation="Horizontal" Margin="0 40 0 0"> <Button Command="{Binding ImportRMLFileCommand}" Foreground="{StaticResource BlackForegroundBrush}" FontSize="16" Style="{StaticResource emptyButton}" Cursor="Hand"> <StackPanel Orientation="Horizontal"> <materialDesign:PackIcon Kind="FileImport" VerticalAlignment="Center" Width="30" Height="30" /> <TextBlock VerticalAlignment="Center" Margin="10 0 0 0" TextDecorations="Underline">Import Thread File</TextBlock> </StackPanel> </Button> <Button Margin="30 0 0 0" Command="{Binding ExportRMLFileCommand}" Foreground="{StaticResource BlackForegroundBrush}" FontSize="16" Style="{StaticResource emptyButton}" Cursor="Hand"> <StackPanel Orientation="Horizontal"> <materialDesign:PackIcon Kind="FileExport" VerticalAlignment="Center" Width="30" Height="30" /> <TextBlock VerticalAlignment="Center" Margin="10 0 0 0" TextDecorations="Underline">Export Thread File</TextBlock> </StackPanel> </Button> <Button x:Name="ShowActiveInSitesBtn" Margin="30 0 0 0" Command="{Binding ActivatedInSitesCommand}" Foreground="{StaticResource BlackForegroundBrush}" FontSize="16" Style="{StaticResource emptyButton}" Cursor="Hand"> <StackPanel Orientation="Horizontal"> <materialDesign:PackIcon Kind="InformationVariant" VerticalAlignment="Center" Width="26" Height="26" Foreground="Blue"/> <TextBlock VerticalAlignment="Center" Margin="0 0 0 0" TextDecorations="Underline" Text="Activated in sites…"> <TextBlock.Style> <Style TargetType="TextBlock"> <Setter Property="Foreground" Value="{StaticResource BlackForegroundBrush}" /> <Style.Triggers> <DataTrigger Binding="{Binding ElementName=ShowActiveInSitesBtn, Path=IsEnabled}" Value="False"> <Setter Property="Foreground" Value="{StaticResource GrayBrush}" /> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </StackPanel> </Button> </StackPanel> </StackPanel> </Grid> <Grid> <DataGrid Margin="0 0 0 10" BorderBrush="Silver" IsReadOnly="True" BorderThickness="1" SelectionUnit="FullRow" RowHeight="60" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML}" HorizontalScrollBarVisibility="Disabled" EnableRowVirtualization="False"> <DataGrid.CellStyle> <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> <Setter Property="BorderThickness" Value="0"/> <Setter Property="FocusVisualStyle" Value="{x:Null}"/> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> </Style> </DataGrid.CellStyle> <DataGrid.Columns> <DataGridTemplateColumn Header="NAME" Width="220"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Name}" TextTrimming="CharacterEllipsis"></TextBlock> <TextBlock Visibility="{Binding DisplayName,Converter={StaticResource IsNullToVisibilityConverter}}" FontSize="11" Foreground="{StaticResource GrayBrush}" Margin="2 2 0 0" TextTrimming="CharacterEllipsis"> <Run>(</Run><Run Text="{Binding DisplayName,Mode=OneWay}"></Run><Run>)</Run> </TextBlock> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Header="Dyeing speed" Width="Auto" Binding="{Binding DyeingSpeed}"></DataGridTextColumn> <DataGridTextColumn Header="Zone1 ink uptake" Width="Auto" Binding="{Binding Zone1InkUptake}"></DataGridTextColumn> <DataGridTextColumn Header="Zone2 ink uptake" Width="Auto" Binding="{Binding Zone2InkUptake}"></DataGridTextColumn> <!--<DataGridTextColumn Header="HEAD" Binding="{Binding HeadType}" Width="Auto" />--> <!--<DataGridTextColumn Header="BTSR" Binding="{Binding Btsr}" Width="Auto" />--> <DataGridTextColumn Header="CCT" Binding="{Binding CCT}" Width="Auto" /> <!--<DataGridTextColumn Header="CL GR" Binding="{Binding UseGradients,Converter={StaticResource BooleanToYesNoConverter}}" Width="Auto" />--> <!--<DataGridTextColumn Header="LIGHT INKS" Binding="{Binding UseLightInks,Converter={StaticResource BooleanToYesNoConverter}}" Width="Auto" />--> <DataGridTextColumn Header="LAST UPDATED" Binding="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="Auto" /> <DataGridTemplateColumn Header="LIQUID FACTORS" Width="1*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <ItemsControl ItemsSource="{Binding LiquidTypesR}" Margin="0 -5 0 0"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel HorizontalAlignment="Left" Orientation="Horizontal" IsItemsHost="True" ></StackPanel> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Grid Width="35" Height="32" Margin="10 0 0 0"> <shapes:Hexagon StrokeThickness="1" Stroke="Gray"> <shapes:Hexagon.Fill> <LinearGradientBrush Opacity="0.7" > <GradientStop Color="{Binding Color, Converter={StaticResource ColorToIntegerConverter}}"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </shapes:Hexagon.Fill> </shapes:Hexagon> <TextBlock Text="{Binding LiquidTypeValue, TargetNullValue=0}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="9"></TextBlock> </Grid> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </Grid> </DockPanel> </Grid> </UserControl>