aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/DB/PPC/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/PPC/Tango_log.ldfbin53673984 -> 53673984 bytes
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin22675456 -> 22675456 bytes
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteJob/DefaultRemoteJobProvider.cs2
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/RemoteJob/RemoteJobTile.cs2
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Dialogs/ColorSelectionView.xaml2
-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/Tango.PPC.JobsV2.csproj9
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs9
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobsViewVM.cs21
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml1073
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml.cs106
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml.cs6
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/MainView.xaml1
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/clock.pngbin0 -> 536 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/drop.pngbin0 -> 516 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs10
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj10
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModelLocator.cs9
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs101
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml349
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml.cs45
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml149
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml.cs61
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/Job.cs8
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs6
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs4
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.cs8
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.xaml2
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.cs87
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.xaml330
-rw-r--r--Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml6
-rw-r--r--Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj7
-rw-r--r--Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml1
-rw-r--r--Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs2
37 files changed, 2169 insertions, 261 deletions
diff --git a/Software/DB/PPC/Tango.mdf b/Software/DB/PPC/Tango.mdf
index 9964e0bb0..652ad1ac8 100644
--- a/Software/DB/PPC/Tango.mdf
+++ b/Software/DB/PPC/Tango.mdf
Binary files differ
diff --git a/Software/DB/PPC/Tango_log.ldf b/Software/DB/PPC/Tango_log.ldf
index 2cecc5167..6ed712562 100644
--- a/Software/DB/PPC/Tango_log.ldf
+++ b/Software/DB/PPC/Tango_log.ldf
Binary files differ
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index 67b68708b..81a8cf92d 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index 51b1b653b..4f2d42169 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteJob/DefaultRemoteJobProvider.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteJob/DefaultRemoteJobProvider.cs
index 4c4d5430e..848159e0e 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteJob/DefaultRemoteJobProvider.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteJob/DefaultRemoteJobProvider.cs
@@ -89,7 +89,7 @@ namespace Tango.FSE.UI.RemoteJob
if (stage == RemoteJobStage.Started && !IsRemoteJobRunning)
{
- _handler = new JobHandler(() => { }, response.Job.ToObservable(), null, response.ProcessParameters.ToObservable(), JobHandlerModes.SettingUp);
+ _handler = new JobHandler(() => { }, response.Job.ToObservable(), null, response.ProcessParameters.ToObservable(), JobHandlerModes.SettingUp, MachineProvider.MachineOperator.MachineType);
IsRemoteJobRunning = true;
RemoteJobStarted?.Invoke(this, new RemoteJobStartedEventArgs()
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/RemoteJob/RemoteJobTile.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/RemoteJob/RemoteJobTile.cs
index 650818c22..682c8bfe5 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/RemoteJob/RemoteJobTile.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/RemoteJob/RemoteJobTile.cs
@@ -67,7 +67,7 @@ namespace Tango.FSE.UI.Tiles.RemoteJob
Job.AddSolidSegment(Color.FromRgb(70, 70, 70), 5);
Job.AddSolidSegment(Colors.Gray, 5);
- Handler = new JobHandler(() => { }, Job, null, new ProcessParametersTable() { DyeingSpeed = 50 }, JobHandlerModes.SettingUp);
+ Handler = new JobHandler(() => { }, Job, null, new ProcessParametersTable() { DyeingSpeed = 50 }, JobHandlerModes.SettingUp, MachineProvider.MachineOperator.MachineType);
Handler.RaiseStatusReceived(new PMR.Printing.JobStatus()
{
Message = "Ready",
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 28958cbc8..d020e13ac 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
@@ -17,7 +17,7 @@
mc:Ignorable="d"
Background="{StaticResource TangoMidBackgroundBrush}"
d:DesignHeight="1280" d:DesignWidth="800" Width="750" Height="1200"
- d:DataContext="{d:DesignInstance Type=vm:ColorSelectionViewVM, IsDesignTimeCreatable=False}" x:Name="colorSelectionView">
+ d:DataContext="{d:DesignInstance Type=vm:ColorSelectionViewVM, IsDesignTimeCreatable=False}" x:Name="colorSelectionView" touch:TouchPanelEureka.MakeEurekaFullScreen="True">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
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 19ef9cf4c..f018acf97 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
@@ -10,7 +10,7 @@
xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
xmlns:keyboard="clr-namespace:Tango.Touch.Keyboard;assembly=Tango.Touch"
mc:Ignorable="d"
- Background="{StaticResource TangoMidBackgroundBrush}" d:DesignHeight="861" d:DesignWidth="600" Width="750" Height="1200" d:DataContext="{d:DesignInstance Type=local:JobCreationViewVM, IsDesignTimeCreatable=False}" HorizontalAlignment="Center">
+ Background="{StaticResource TangoMidBackgroundBrush}" d:DesignHeight="861" d:DesignWidth="600" Width="750" Height="1200" d:DataContext="{d:DesignInstance Type=local:JobCreationViewVM, IsDesignTimeCreatable=False}" HorizontalAlignment="Center" touch:TouchPanelEureka.MakeEurekaFullScreen="True">
<UserControl.Resources>
<converters:JobTypeToImageConverter x:Key="JobTypeToImageConverter" />
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 6263cab77..32088bbca 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
@@ -179,6 +179,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
+ <Page Include="Views\JobEurekaView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
<Page Include="Views\JobView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -370,6 +374,9 @@
<Compile Include="Views\JobSummeryView.xaml.cs">
<DependentUpon>JobSummeryView.xaml</DependentUpon>
</Compile>
+ <Compile Include="Views\JobEurekaView.xaml.cs">
+ <DependentUpon>JobEurekaView.xaml</DependentUpon>
+ </Compile>
<Compile Include="Views\JobView.xaml.cs">
<DependentUpon>JobView.xaml</DependentUpon>
</Compile>
@@ -735,7 +742,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
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 60db14e21..19e6a22b2 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
@@ -497,7 +497,7 @@ namespace Tango.PPC.Jobs.ViewModels
private void LoadJobModel()
{
SpoolType PPCSpoolType = null;
-
+
if (Settings.SpoolTypeGuid.IsNotNullOrEmpty())
{
PPCSpoolType = _spoolTypes.FirstOrDefault(x => x.Guid == Settings.SpoolTypeGuid);
@@ -662,7 +662,12 @@ namespace Tango.PPC.Jobs.ViewModels
LogManager.Log("Start job command pressed. Starting job and navigating to job progress view...");
await Save();
var handler = await PrintingManager.Print(Job, _db, new PrintingConfiguration() { });
- await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobProgressView));
+
+ if (!BuildProvider.IsEureka)
+ {
+ await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobProgressView));
+ }
+
startingJob = false;
}
catch (InsufficientLiquidQuantityException)
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobsViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobsViewVM.cs
index 6a1c830b5..448ba7a57 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobsViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobsViewVM.cs
@@ -331,17 +331,24 @@ namespace Tango.PPC.Jobs.ViewModels
RaiseMessage(new JobSelectedMessage() { Job = job, Context = _db });
- if (!directlyToEdit && MachineProvider.MachineOperator.CanPrint)
+ if (BuildProvider.IsEureka)
{
- await NavigationManager.NavigateWithObject<JobsV2Module, JobSummeryView, JobSummeryNavigationObject>(new JobSummeryNavigationObject()
- {
- Context = _db,
- Job = job,
- });
+ await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobEurekaView));
}
else
{
- await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobView));
+ if (!directlyToEdit && MachineProvider.MachineOperator.CanPrint)
+ {
+ await NavigationManager.NavigateWithObject<JobsV2Module, JobSummeryView, JobSummeryNavigationObject>(new JobSummeryNavigationObject()
+ {
+ Context = _db,
+ Job = job,
+ });
+ }
+ else
+ {
+ await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobView));
+ }
}
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml
new file mode 100644
index 000000000..6999c54d7
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml
@@ -0,0 +1,1073 @@
+<UserControl x:Class="Tango.PPC.Jobs.Views.JobEurekaView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:vm="clr-namespace:Tango.PPC.Jobs.ViewModels"
+ xmlns:model="clr-namespace:Tango.PPC.Jobs.Models"
+ xmlns:helpers="clr-namespace:Tango.PPC.Jobs.Helpers"
+ xmlns:fa="http://schemas.fontawesome.io/icons/"
+ xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
+ xmlns:keyboard="clr-namespace:Tango.Touch.Keyboard;assembly=Tango.Touch"
+ xmlns:global="clr-namespace:Tango.PPC.Jobs"
+ xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
+ xmlns:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
+ xmlns:localConverters="clr-namespace:Tango.PPC.Jobs.Converters"
+ xmlns:dragAndDrop="clr-namespace:Tango.DragAndDrop;assembly=Tango.DragAndDrop"
+ xmlns:localControls="clr-namespace:Tango.PPC.Jobs.Controls"
+ xmlns:components="clr-namespace:Tango.Touch.Components;assembly=Tango.Touch"
+ xmlns:local="clr-namespace:Tango.PPC.Jobs.Views"
+ mc:Ignorable="d"
+ d:DesignHeight="2000" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:JobViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.JobViewVM}" x:Name="view">
+
+ <UserControl.Resources>
+
+ <localConverters:ColorSpaceToVisibilityConverter x:Key="ColorSpaceToVisibilityConverter" />
+ <localConverters:JobToEmbroideryImageConverter x:Key="JobToEmbroideryImageConverter" />
+ <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
+ <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter"/>
+ <converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter"/>
+ <converters:TimeSpanToMinutesConverter x:Key="TimeSpanToMinutesConverter"/>
+ <localConverters:MarginOffsetSliderConverter x:Key="MarginOffsetSliderConverter"/>
+
+ <BitmapImage x:Key="Image_Out_Of_Gamut" UriSource="../Images/JobView/error.png" />
+ <BitmapImage x:Key="Image_Replace_Color" UriSource="../Images/JobView/replace-color.png" />
+ <BitmapImage x:Key="Image_Color_Picker" UriSource="../Images/JobView/color-picker.png" />
+ <BitmapImage x:Key="Image_Transparent" UriSource="../Images/JobView/transparent.jpg" />
+ <BitmapImage x:Key="Image_TransparentSmall" UriSource="../Images/JobView/transparent_small.jpg" />
+
+
+ <Style TargetType="FrameworkElement" x:Key="Level1Container">
+ <Setter Property="Margin" Value="20 15 60 15"></Setter>
+ </Style>
+ <Style TargetType="FrameworkElement" x:Key="Level2Container">
+ <Setter Property="Margin" Value="80 30 60 0"></Setter>
+ </Style>
+ <Style TargetType="FrameworkElement" x:Key="Level2ContainerExtraMargin">
+ <Setter Property="Margin" Value="80 40 60 0"></Setter>
+ </Style>
+
+ <Style x:Key="CollapsedPanelButton" TargetType="{x:Type touch:TouchButton}">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoMidAccentBrush}"></Setter>
+ <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}"></Setter>
+ <Setter Property="MinHeight" Value="50"/>
+ <Setter Property="CornerRadius" Value="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}"></Setter>
+ <Setter Property="BorderThickness" Value="0"></Setter>
+ <Setter Property="EnableDropShadow" Value="False"></Setter>
+ <Setter Property="Padding" Value="4"></Setter>
+ <Setter Property="VerticalAlignment" Value="Center"></Setter>
+ <Setter Property="FontSize" Value="{StaticResource TangoDefaultFontSize}"></Setter>
+ <Style.Triggers>
+ <Trigger Property="IsEnabled" Value="False">
+ <Setter Property="Opacity" Value=".5"/>
+ </Trigger>
+ <DataTrigger Binding="{Binding JobModel.HasSelectedItems}" Value="false">
+ <Setter Property="Opacity" Value=".5"/>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+
+ <Style x:Key="SliderGreyTextStyle" TargetType="TextBlock">
+ <Setter Property="Foreground" Value="{StaticResource TangoGrayTextBrush}"></Setter>
+ <Setter Property="FontSize" Value="{StaticResource TangoSmallFontSize}"></Setter>
+ <Setter Property="VerticalAlignment" Value="Center"></Setter>
+ <Setter Property="HorizontalAlignment" Value="Center"></Setter>
+ </Style>
+
+ <Style x:Key="TouchButtonWithDisableState" TargetType="{x:Type touch:TouchButton}">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
+ <Setter Property="BorderThickness" Value="0"></Setter>
+ <Setter Property="EnableDropShadow" Value="False"></Setter>
+ <Setter Property="FontSize" Value="{StaticResource TangoDefaultFontSize}"></Setter>
+ <Style.Triggers>
+ <Trigger Property="IsEnabled" Value="False">
+ <Setter Property="Background" Value="{StaticResource TangoDisabledBackgroundBrush}"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+
+ <DataTemplate x:Key="HSB_Template" DataType="{x:Type entities:BrushStop}">
+ <UniformGrid Rows="1" Columns="3">
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="H" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="42" Height="29" >
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Hue, StringFormat=0.0}"></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
+ <TextBlock Text="S" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="42" Height="29">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Saturation, StringFormat=0.0}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
+ <TextBlock Text="B" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="42" Height="29">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Brightness, StringFormat=0.0}"></TextBlock>
+ </Border>
+ </StackPanel>
+ </UniformGrid>
+
+ </DataTemplate>
+
+ <DataTemplate x:Key="RGB_Template" DataType="{x:Type entities:BrushStop}">
+ <UniformGrid Rows="1" Columns="3" Height="30" >
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="R" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="42">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding BestMatchColor.R}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="4 0 0 0">
+ <TextBlock Text="G" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="42">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding BestMatchColor.G}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="4 0 0 0">
+ <TextBlock Text="B" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="42">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding BestMatchColor.B}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ </UniformGrid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="CMYK_Template" DataType="{x:Type entities:BrushStop}">
+ <UniformGrid Rows="1" Columns="4" Height="30" >
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="C" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="48">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Cyan, StringFormat=0.##}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="0 0 0 0">
+ <TextBlock Text="M" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="48">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Magenta, StringFormat=0.##}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
+ <TextBlock Text="Y" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="48">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Yellow, StringFormat=0.##}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
+ <TextBlock Text="K" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="48">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding Black, StringFormat=0.##}"></TextBlock>
+ </Border>
+ </StackPanel>
+ </UniformGrid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="LAB_Template" DataType="{x:Type entities:BrushStop}">
+ <UniformGrid Rows="1" Columns="3" Height="30" MinWidth="150">
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="L" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="52">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding BestMatchL, StringFormat=0.##}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="5 0 0 0">
+ <TextBlock Text="a" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="52">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding BestMatchA, StringFormat=0.##}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
+ <TextBlock Text="b" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" Width="52">
+ <TextBlock Style="{StaticResource SliderGreyTextStyle}" Text="{Binding BestMatchB, StringFormat=0.##}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ </UniformGrid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="CATALOG_Template" DataType="{x:Type entities:BrushStop}">
+ <UniformGrid Rows="1" Columns="2" Height="30" MinWidth="150">
+ <StackPanel Orientation="Horizontal" Margin="0 0 0 0">
+ <TextBlock Text="Catalog:" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" MinWidth="42" MaxWidth="130">
+ <TextBlock Padding="4 0 4 0" Style="{StaticResource SliderGreyTextStyle}" Text="{Binding ColorCatalog.Name}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="10 0 0 0">
+ <TextBlock Text="Color:" FontSize="{StaticResource TangoSmallFontSize}" VerticalAlignment="Center"/>
+ <Border Margin="10 0 0 0" Background="Transparent" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0.8" MinWidth="42">
+ <TextBlock Padding="4 0 4 0" Style="{StaticResource SliderGreyTextStyle}" Text="{Binding ColorCatalogsItem.Name}" ></TextBlock>
+ </Border>
+ </StackPanel>
+ </UniformGrid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="Segment_Template" DataType="{x:Type model:SegmentModel}">
+ <Grid Height="400" Margin="57 15 57 0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="1*" />
+ </Grid.RowDefinitions>
+
+ <DockPanel x:Name="header">
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Right" Height="60">
+ <touch:TouchButton Margin="20 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.RemoveSegmentCommand}" CommandParameter="{Binding}">
+ <Border Height="24" Width="24" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/delete_segment.png"/>
+ </Border>
+ </touch:TouchButton>
+ <touch:TouchButton Margin="20 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.DuplicateSegmentCommand}" CommandParameter="{Binding}">
+ <Border Height="27" Width="23" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/duplicate.png"/>
+ </Border>
+ </touch:TouchButton>
+ </StackPanel>
+ <StackPanel Grid.Row="0" DockPanel.Dock="Left">
+ <StackPanel Margin="0 0 0 0" Orientation="Horizontal" >
+ <controls:FastTextBlock FontSize="{StaticResource TangoTitleFontSize}">Segment #</controls:FastTextBlock>
+ <controls:FastTextBlock FontSize="{StaticResource TangoTitleFontSize}" Text="{Binding SegmentIndex,Mode=OneWay}"></controls:FastTextBlock>
+ </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" RippleBrush="Transparent"/>
+ </StackPanel>
+ </StackPanel>
+
+ </DockPanel>
+
+ <Grid Grid.Row="1" x:Name="displayOffset" Margin="0 10 0 -11" Visibility="{Binding IsGradient, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Border x:Name="leftoffsetBorder" Visibility="{Binding IsGradient, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <TextBlock x:Name="leftoffsetLabel" HorizontalAlignment="Left" MaxWidth="80" Margin="0 0 10 0" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoNotificationBarMaskBrush}" Text="{Binding LeftOffsetLabel,Mode=OneWay}"/>
+
+ <Border.Margin>
+ <MultiBinding Converter="{StaticResource MarginOffsetSliderConverter}" ConverterParameter="1" Delay="200" Mode="OneWay">
+ <Binding ElementName="sliderOffset" Path="LowerValue" ></Binding>
+ <Binding ElementName="sliderOffset" Path="ActualWidth"></Binding>
+ <Binding ElementName="leftoffsetLabel" Path="ActualWidth"></Binding>
+ <Binding ElementName="middleoffsetBorder" Path="Margin.Left"></Binding>
+
+ </MultiBinding>
+ </Border.Margin>
+ </Border>
+ <Border x:Name="middleoffsetBorder">
+ <TextBlock x:Name="middleoffsetLabel" HorizontalAlignment="Left" MaxWidth="80" Margin="10 0 10 0" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoNotificationBarMaskBrush}" Text="{Binding MiddleOffsetLabel,Mode=OneWay}"/>
+
+ <Border.Margin>
+ <MultiBinding Converter="{StaticResource MarginOffsetSliderConverter}" ConverterParameter="2" Delay="200" Mode="OneWay">
+ <Binding ElementName="sliderOffset" Path="MiddleValue"></Binding>
+ <Binding ElementName="sliderOffset" Path="ActualWidth"></Binding>
+ <Binding ElementName="middleoffsetLabel" Path="ActualWidth"></Binding>
+ <Binding ElementName="leftoffsetLabel" Path="ActualWidth"></Binding>
+ <Binding ElementName="upperoffsetLabel" Path="ActualWidth"></Binding>
+ </MultiBinding>
+ </Border.Margin>
+ </Border>
+ <Border x:Name="rightoffsetBorder">
+ <TextBlock x:Name="upperoffsetLabel" HorizontalAlignment="Left" MaxWidth="80" Margin="0 0 0 0" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoNotificationBarMaskBrush}" Text="{Binding RightOffsetLabel,Mode=OneWay}"/>
+
+
+ <Border.Margin>
+ <MultiBinding Converter="{StaticResource MarginOffsetSliderConverter}" ConverterParameter="3" Delay="200" Mode="OneWay">
+ <Binding ElementName="sliderOffset" Path="UpperValue"></Binding>
+ <Binding ElementName="sliderOffset" Path="ActualWidth"></Binding>
+ <Binding ElementName="upperoffsetLabel" Path="ActualWidth"></Binding>
+ <Binding ElementName="middleoffsetBorder" Path="Margin.Left"></Binding>
+ <Binding ElementName="middleoffsetLabel" Path="ActualWidth"></Binding>
+ </MultiBinding>
+ </Border.Margin>
+ </Border>
+ </Grid>
+
+ <Border Grid.Row="2" x:Name="segmentBrush" Height="90" Margin="0 20 0 0" CornerRadius="20" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="1" BorderBrush="{StaticResource TangoGrayBrush}">
+
+ <Border Background="{Binding SegmentBrush}" CornerRadius="20">
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="1*"/>
+ <ColumnDefinition Width="1*"/>
+ <ColumnDefinition Width="1*"/>
+ </Grid.ColumnDefinitions>
+ <touch:TouchButton Margin="26 0 0 0" HorizontalAlignment="Left" VerticalAlignment="Center" Command="{Binding ElementName=view,Path=DataContext.EditColorCommand}" CommandParameter="{Binding FirstBrushStop}" Visibility="{Binding HasColors, Converter={StaticResource BooleanToVisibilityConverter}}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0">
+ <Border Height="40" Width="40" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/Edit_color.png"/>
+ </Border>
+ </touch:TouchButton>
+ <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" 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>
+ </touch:TouchButton>
+ <TextBlock VerticalAlignment="Center" Margin="20 5 0 0" FontSize="{StaticResource TangoSmallFontSize}" Visibility="{Binding HasColors, Converter={StaticResource BooleanToVisibilityInverseConverter}}" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}">Add Color</TextBlock>
+ </StackPanel>
+ <touch:TouchButton Margin="0 0 26 0" Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Center" Command="{Binding ElementName=view,Path=DataContext.EditColorCommand}" CommandParameter="{Binding SecondBrushStop}" Visibility="{Binding IsGradient, Converter={StaticResource BooleanToVisibilityConverter}}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0">
+ <Border Height="40" Width="40" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/Edit_color.png"/>
+ </Border>
+ </touch:TouchButton>
+
+ </Grid>
+ </Border>
+ </Border>
+ <!--<Canvas Grid.Row="1" x:Name="alert_canvas_segment" Width="30" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="-40 -10 0 0" >
+ <touch:TouchButton Height="22" Width="24" Canvas.Left="0" Canvas.Top="0" x:Name="addmyColors" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" Visibility="{Binding HasOutOfGamutBrush, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Border BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/Exclamation_black.png"/>
+ </Border>
+ </touch:TouchButton>
+ </Canvas>-->
+
+ <Grid Grid.Row="3" x:Name="sliderThreeThumbs" Visibility="{Binding IsGradient, Converter={StaticResource BooleanToVisibilityConverter}}" >
+ <touch:TouchSliderThreeThumbs x:Name="sliderOffset" Height="40" MinimumMiddleRange="5.0" Length="{Binding Length}" LowerValue="{Binding LeftOffset, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MiddleValue="{Binding MiddleOffset, Mode=TwoWay}" UpperValue="{Binding RightOffset, Mode=TwoWay}"
+ LowerValueEndChanging ="{Binding LeftOffsetChangeComleted}" LowerValueStartChanging="{Binding LeftOffsetStartChanging}"
+ UpperValueStartChanging ="{Binding RightOffsetStartChanging}" UpperValueEndChanging="{Binding RightOffsetChangeComleted}"
+ MiddleValueStartChanging ="{Binding MiddleOffsetStartChanging}" MiddleValueEndChanging ="{Binding MiddleOffsetChangeComleted}"/>
+ </Grid>
+
+ <Grid Grid.Row="4" Margin="0 10 0 0" x:Name="colorSpacesSegment" >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto"/>
+ <ColumnDefinition Width="1*" MinWidth="10"/>
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+
+ <ContentControl x:Name="leftColorSpaceValues" Grid.Column="0" Focusable="False" Margin="0 0 0 0" HorizontalAlignment="Left" Content="{Binding FirstBrushStop}" Visibility="{Binding HasColors, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <ContentControl.Style>
+ <Style TargetType="ContentControl">
+ <Setter Property="ContentTemplate">
+ <Setter.Value>
+ <DataTemplate/>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding FirstBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}}" Value="HSB">
+ <Setter Property="ContentTemplate" Value="{StaticResource HSB_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding FirstBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}}" Value="RGB">
+ <Setter Property="ContentTemplate" Value="{StaticResource RGB_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding FirstBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}}" Value="Volume">
+ <Setter Property="ContentTemplate" Value="{StaticResource CMYK_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding FirstBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}}" Value="LAB">
+ <Setter Property="ContentTemplate" Value="{StaticResource LAB_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding FirstBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}}" Value="Catalog">
+ <Setter Property="ContentTemplate" Value="{StaticResource CATALOG_Template}" />
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ContentControl.Style>
+ </ContentControl>
+ <Border Grid.Column="1"></Border>
+ <ContentControl x:Name="rightColorSpaceValues" Grid.Column="2" Focusable="False" Margin="0 0 0 0" HorizontalAlignment="Right" HorizontalContentAlignment="Right"
+ Visibility="{Binding IsGradient, Converter={StaticResource BooleanToVisibilityConverter}}" Content="{Binding SecondBrushStop}">
+ <ContentControl.Style>
+ <Style TargetType="ContentControl">
+ <Setter Property="ContentTemplate">
+ <Setter.Value>
+ <DataTemplate/>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding SecondBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}, Mode=OneWay}" Value="HSB">
+ <Setter Property="ContentTemplate" Value="{StaticResource HSB_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding SecondBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}, Mode=TwoWay}" Value="RGB">
+ <Setter Property="ContentTemplate" Value="{StaticResource RGB_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding SecondBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}, Mode=OneWay}" Value="Volume">
+ <Setter Property="ContentTemplate" Value="{StaticResource CMYK_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding SecondBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}, Mode=OneWay}" Value="LAB">
+ <Setter Property="ContentTemplate" Value="{StaticResource LAB_Template}" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding SecondBrushStop.ColorSpace, Converter={StaticResource EnumToDescriptionConverter}, Mode=OneWay}" Value="Catalog">
+ <Setter Property="ContentTemplate" Value="{StaticResource CATALOG_Template}" />
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ContentControl.Style>
+ </ContentControl>
+
+ </Grid>
+
+ <Grid Grid.Row="5" x:Name="add_new_segment_gap" HorizontalAlignment="Stretch" Margin="0 30 0 0" >
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <Rectangle Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Top" />
+
+ <Border x:Name="gapBorder" Margin="0 0 0 0" Height="24" ClipToBounds="False" CornerRadius="10" Visibility="{Binding ShowGap, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Border.Clip>
+ <RectangleGeometry RadiusX="10" RadiusY="10">
+ <RectangleGeometry.Rect>
+ <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
+ <Binding ElementName="gapBorder" Path="ActualWidth" />
+ <Binding ElementName="gapBorder" Path="ActualHeight" />
+ </MultiBinding>
+ </RectangleGeometry.Rect>
+ </RectangleGeometry>
+ </Border.Clip>
+ <Grid>
+ <TextBlock FontSize="{StaticResource TangoDefaultFontSize}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="4">
+ <Run Text="{Binding InterSegmentLength, Mode=OneWay}"></Run>
+ <Run Text="m Gap"></Run>
+ </TextBlock>
+ <Rectangle Stroke="{StaticResource TangoGrayBrush}" StrokeThickness="1" StrokeDashArray="5 5 5 5" RadiusX="12" RadiusY="12" />
+ </Grid>
+ </Border>
+
+ <DockPanel Margin="0 10 0 0" Grid.Row="1">
+ <!--<Grid DockPanel.Dock="Right" Visibility="{Binding IsLast, Converter={StaticResource BooleanToVisibilityInverseConverter}}">-->
+ <Grid DockPanel.Dock="Right" Visibility="Collapsed">
+ <touch:TouchButton x:Name="deletegap" DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center" Command="{Binding DeleteGapCommand}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" Visibility="{Binding EnableInterSegment, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <TextBlock Margin="10 2 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Center">Delete Gap</TextBlock>
+ </touch:TouchButton>
+ <touch:TouchButton x:Name="addGap" DockPanel.Dock="Right" HorizontalAlignment="Left" VerticalAlignment="Center" Command="{Binding AddGapCommand}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" Visibility="{Binding EnableInterSegment, Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <StackPanel Orientation="Horizontal">
+ <Border Height="35" Width="35" BorderThickness="0" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/add_gap.png"/>
+ </Border>
+ <TextBlock Margin="10 2 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Center">Add Gap</TextBlock>
+ </StackPanel>
+ </touch:TouchButton>
+ </Grid>
+ <touch:TouchButton DockPanel.Dock="Left" HorizontalAlignment="Left" VerticalAlignment="Center" Command="{Binding DataContext.AddNewSegmentCommand, ElementName=listSegments}" CommandParameter="{Binding }" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0">
+ <StackPanel Orientation="Horizontal">
+ <Border Height="35" Width="35" BorderThickness="0" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/AddNewSegment.png"/>
+ </Border>
+ <TextBlock Margin="10 2 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Center">Add New Segments</TextBlock>
+ </StackPanel>
+ </touch:TouchButton>
+ </DockPanel>
+
+ <Rectangle Margin="0 10 0 0" Grid.Row="2" Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Bottom"/>
+ </Grid>
+ </Grid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="GroupSegment_Template" DataType="{x:Type model:SegmentsGroupModel}">
+ <Grid Height="400" Margin="57 15 57 0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="1*" />
+ </Grid.RowDefinitions>
+
+ <DockPanel>
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Right" Height="60">
+ <touch:TouchButton Background="Transparent" Foreground="{StaticResource TangoPrimaryAccentBrush}" EnableDropShadow="False" Command="{Binding ElementName=view,Path=DataContext.UngroupSegmentsCommand}" CommandParameter="{Binding}">
+ <TextBlock FontSize="{StaticResource TangoButtonFontSize}" TextDecorations="Underline" Text="Ungroup" />
+ </touch:TouchButton>
+ <touch:TouchButton Margin="20 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.DeleteSegmentsGroupCommand}" CommandParameter="{Binding}">
+ <Border Height="24" Width="24" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/delete_segment.png"/>
+ </Border>
+ </touch:TouchButton>
+ <!--<touch:TouchButton Margin="20 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.DuplicateSegmentCommand}" CommandParameter="{Binding}">
+ <Border Height="24" Width="24" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/duplicate.png"/>
+ </Border>
+ </touch:TouchButton>-->
+ </StackPanel>
+ <StackPanel Grid.Row="0" DockPanel.Dock="Left">
+ <StackPanel Margin="0 0 0 0" Orientation="Horizontal" >
+ <TextBlock FontSize="{StaticResource TangoTitleFontSize}">
+ <Run>Group #</Run>
+ <Run Text="{Binding SegmentIndex, Mode=OneWay,IsAsync=True,FallbackValue='0000'}"></Run>
+
+ </TextBlock>
+ <touch:TouchButton Background="Transparent" Width="Auto" EnableDropShadow="False" Command="{Binding ElementName=view,Path=DataContext.RepeatSegmentsGroupCommand}" CommandParameter="{Binding}">
+ <TextBlock Margin="10 0 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" TextDecorations="Underline">
+ <Run>x</Run>
+ <Run Text="{Binding Repeats, Mode=OneWay,IsAsync=True,FallbackValue='0000'}"></Run>
+ </TextBlock>
+ </touch:TouchButton>
+ </StackPanel>
+ <StackPanel Margin="0 0 0 0" Orientation="Horizontal">
+ <controls:FastTextBlock VerticalAlignment="Bottom" DockPanel.Dock="Left" Text="Length (m):" FontSize="18"></controls:FastTextBlock>
+ <controls:FastTextBlock Margin="20 0 0 0" Width="92" VerticalAlignment="Bottom" DockPanel.Dock="Left" Text="{Binding Length}" FontSize="18"></controls:FastTextBlock>
+ </StackPanel>
+ </StackPanel>
+ </DockPanel>
+
+ <Border Grid.Row="1" x:Name="brush_border" Height="90" Margin="0 20 0 0" CornerRadius="20" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="1" BorderBrush="{StaticResource TangoGrayBrush}">
+ <Border.Clip>
+ <RectangleGeometry RadiusX="25" RadiusY="25">
+ <RectangleGeometry.Rect>
+ <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
+ <Binding ElementName="brush_border" Path="ActualWidth" />
+ <Binding ElementName="brush_border" Path="ActualHeight" />
+ </MultiBinding>
+ </RectangleGeometry.Rect>
+ </RectangleGeometry>
+ </Border.Clip>
+ <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+ <ItemsControl ClipToBounds="False" ItemsSource="{Binding Segments}" >
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <StackPanel Orientation="Horizontal" ClipToBounds="False"></StackPanel>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Grid>
+ <Grid.Width>
+ <MultiBinding Converter="{StaticResource SegmentLengthToWidthConverter}">
+ <Binding RelativeSource="{RelativeSource AncestorType=ItemsControl}" Path="DataContext.Length"></Binding>
+ <Binding RelativeSource="{RelativeSource AncestorType=ItemsControl}" Path="ActualWidth"></Binding>
+ <Binding Path="Length"></Binding>
+ </MultiBinding>
+ </Grid.Width>
+ <Rectangle Fill="{Binding SegmentBrush}"></Rectangle>
+ </Grid>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <Border Height="40" Width="151" Opacity="1" Background="#32787880" HorizontalAlignment="Center" CornerRadius="8" VerticalAlignment="Center">
+ <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="{StaticResource TangoComboBoxItemFontSize}"> Grouped</TextBlock>
+ </Border>
+ </Grid>
+ </Border>
+ <Grid Grid.Row="2" x:Name="add_new_segment_gap" HorizontalAlignment="Stretch" Margin="0 30 0 0" >
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <Rectangle Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Top" />
+
+ <Border x:Name="gapBorder" Margin="0 0 0 0" Height="24" ClipToBounds="False" CornerRadius="10" Visibility="{Binding ShowGap, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Border.Clip>
+ <RectangleGeometry RadiusX="10" RadiusY="10">
+ <RectangleGeometry.Rect>
+ <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
+ <Binding ElementName="gapBorder" Path="ActualWidth" />
+ <Binding ElementName="gapBorder" Path="ActualHeight" />
+ </MultiBinding>
+ </RectangleGeometry.Rect>
+ </RectangleGeometry>
+ </Border.Clip>
+ <Grid>
+ <TextBlock FontSize="{StaticResource TangoDefaultFontSize}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="4">
+ <Run Text="{Binding InterSegmentLength, Mode=OneWay}"></Run>
+ <Run Text="m Gap"></Run>
+ </TextBlock>
+ <Rectangle Stroke="{StaticResource TangoGrayBrush}" StrokeThickness="1" StrokeDashArray="5 5 5 5" RadiusX="12" RadiusY="12" />
+ </Grid>
+ </Border>
+
+ <DockPanel Margin="0 10 0 0" Grid.Row="1">
+ <!--<Grid DockPanel.Dock="Right" Visibility="{Binding IsLast, Converter={StaticResource BooleanToVisibilityInverseConverter}}">-->
+ <!--<Grid DockPanel.Dock="Right" Visibility="Collapsed">-->
+ <!--<touch:TouchButton x:Name="deletegap" DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center" Command="{Binding DeleteGapCommand}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" Visibility="{Binding EnableInterSegment, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <TextBlock Margin="10 2 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Center">Delete Gap</TextBlock>
+ </touch:TouchButton>-->
+ <!--<touch:TouchButton x:Name="addGap" DockPanel.Dock="Right" HorizontalAlignment="Left" VerticalAlignment="Center" Command="{Binding AddGapCommand}" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0" Visibility="{Binding EnableInterSegment, Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <StackPanel Orientation="Horizontal">
+ <Border Height="35" Width="35" BorderThickness="0" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/add_gap.png"/>
+ </Border>
+ <TextBlock Margin="10 2 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Center">Add Gap</TextBlock>
+ </StackPanel>
+ </touch:TouchButton>-->
+ <!--</Grid>-->
+ <touch:TouchButton DockPanel.Dock="Left" HorizontalAlignment="Left" VerticalAlignment="Center" Command="{Binding DataContext.AddNewSegmentCommand, ElementName=listSegments}" CommandParameter="{Binding }" EnableDropShadow="False" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" BorderThickness="0">
+ <StackPanel Orientation="Horizontal">
+ <Border Height="35" Width="35" BorderThickness="0" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/AddNewSegment.png"/>
+ </Border>
+ <TextBlock Margin="10 2 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Center">Add New Segments</TextBlock>
+ </StackPanel>
+ </touch:TouchButton>
+ </DockPanel>
+
+ <Rectangle Margin="0 10 0 0" Grid.Row="2" Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Bottom"/>
+ </Grid>
+
+ <Rectangle Margin="0 10 0 0" Grid.Row="2" Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Bottom"/>
+ </Grid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="CollapsedSegment_Template" DataType="{x:Type model:SegmentModel}">
+ <Grid Height="180" Margin="57 15 57 0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <DockPanel>
+ <Rectangle DockPanel.Dock="Top" Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Top" Margin="0 0 0 10"/>
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Right" Height="40">
+ <touch:TouchButton Margin="0 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.RemoveSegmentCommand}" CommandParameter="{Binding}">
+ <Border Height="24" Width="24" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/delete_segment.png"/>
+ </Border>
+ </touch:TouchButton>
+ <touch:TouchButton Margin="20 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.DuplicateSegmentCommand}" CommandParameter="{Binding}">
+ <Border Height="27" Width="23" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/duplicate.png"/>
+ </Border>
+ </touch:TouchButton>
+ </StackPanel>
+ <StackPanel DockPanel.Dock="Left">
+ <StackPanel Margin="0 10 0 0" Orientation="Horizontal" >
+ <controls:FastTextBlock FontSize="{StaticResource TangoTitleFontSize}">Segment #</controls:FastTextBlock>
+ <controls:FastTextBlock FontSize="{StaticResource TangoTitleFontSize}" Text="{Binding SegmentIndex,Mode=OneWay}"></controls:FastTextBlock>
+ </StackPanel>
+ </StackPanel>
+ </DockPanel>
+
+ <StackPanel Grid.Row="1" Orientation="Vertical">
+ <Border Height="50" x:Name="segmentBrush" Margin="0 11 0 0" CornerRadius="25" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="1" BorderBrush="{StaticResource TangoGrayBrush}">
+ <Border Background="{Binding SegmentBrush}" CornerRadius="25" />
+ </Border>
+ <Border x:Name="gapBorder" Margin="0 20 0 0" Height="24" ClipToBounds="False" CornerRadius="10" Visibility="{Binding ShowGap, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Border.Clip>
+ <RectangleGeometry RadiusX="10" RadiusY="10">
+ <RectangleGeometry.Rect>
+ <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
+ <Binding ElementName="gapBorder" Path="ActualWidth" />
+ <Binding ElementName="gapBorder" Path="ActualHeight" />
+ </MultiBinding>
+ </RectangleGeometry.Rect>
+ </RectangleGeometry>
+ </Border.Clip>
+ <Grid>
+ <TextBlock FontSize="{StaticResource TangoDefaultFontSize}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="4">
+ <Run Text="{Binding InterSegmentLength, Mode=OneWay}"></Run>
+ <Run Text="m Gap"></Run>
+ </TextBlock>
+ <Rectangle Stroke="{StaticResource TangoGrayBrush}" StrokeThickness="1" StrokeDashArray="5 5 5 5" RadiusX="12" RadiusY="12" />
+ </Grid>
+ </Border>
+
+ </StackPanel>
+
+ <Canvas Grid.Row="1" x:Name="select_canvas_segment" Width="24" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="-50 -35 0 0" >
+ <touch:TouchCheckBox Height="22" Width="24" Margin="20 -20 0 0" Style="{StaticResource TouchRoundCheckBox}" Canvas.Left="0" Canvas.Top="0" x:Name="selectItem" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+ </Canvas>
+
+ </Grid>
+ </DataTemplate>
+
+ <DataTemplate x:Key="CollapsedGroupSegment_Template" DataType="{x:Type model:SegmentsGroupModel}">
+ <Grid Height="180" Margin="57 15 57 0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <DockPanel>
+ <Rectangle DockPanel.Dock="Top" Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Top" Margin="0 0 0 10"/>
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Right" Height="40">
+ <touch:TouchButton Background="Transparent" Foreground="{StaticResource TangoPrimaryAccentBrush}" EnableDropShadow="False" Command="{Binding ElementName=view,Path=DataContext.UngroupSegmentsCommand}" CommandParameter="{Binding}">
+ <TextBlock FontSize="{StaticResource TangoButtonFontSize}" TextDecorations="Underline" Text="Ungroup" />
+ </touch:TouchButton>
+ <touch:TouchButton Margin="10 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.DeleteSegmentsGroupCommand}" CommandParameter="{Binding}">
+ <Border Height="24" Width="24" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/delete_segment.png"/>
+ </Border>
+ </touch:TouchButton>
+ <!--<touch:TouchButton Margin="20 0 0 0" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding ElementName=view,Path=DataContext.DuplicateSegmentCommand}" CommandParameter="{Binding}">
+ <Border Height="27" Width="23" BorderThickness="0" BorderBrush="{StaticResource TangoKeyboardKeyDarkBrush}" Background="Transparent" HorizontalAlignment="Left">
+ <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/duplicate.png"/>
+ </Border>
+ </touch:TouchButton>-->
+ </StackPanel>
+ <StackPanel DockPanel.Dock="Left">
+ <StackPanel Margin="0 10 0 0" Orientation="Horizontal" >
+ <TextBlock FontSize="{StaticResource TangoTitleFontSize}">
+ <Run>Group #</Run>
+ <Run Text="{Binding SegmentIndex, Mode=OneWay,IsAsync=True,FallbackValue='0000'}"></Run>
+ </TextBlock>
+ <touch:TouchButton Margin="10 0 0 0" Background="Transparent" Width="Auto" EnableDropShadow="False" Command="{Binding ElementName=view,Path=DataContext.RepeatSegmentsGroupCommand}" CommandParameter="{Binding}">
+ <TextBlock Foreground="{StaticResource TangoPrimaryAccentBrush}" TextDecorations="Underline">
+ <Run>x</Run>
+ <Run Text="{Binding Repeats, Mode=OneWay,IsAsync=True,FallbackValue='0000'}"></Run>
+ </TextBlock>
+ </touch:TouchButton>
+ </StackPanel>
+ </StackPanel>
+ </DockPanel>
+
+ <StackPanel Grid.Row="1" Orientation="Vertical">
+ <Border Height="50" x:Name="brush_border" Margin="0 10 0 0" CornerRadius="25" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="1" BorderBrush="{StaticResource TangoGrayBrush}" ClipToBounds="False">
+ <Border.Clip>
+ <RectangleGeometry RadiusX="25" RadiusY="25">
+ <RectangleGeometry.Rect>
+ <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
+ <Binding ElementName="brush_border" Path="ActualWidth" />
+ <Binding ElementName="brush_border" Path="ActualHeight" />
+ </MultiBinding>
+ </RectangleGeometry.Rect>
+ </RectangleGeometry>
+ </Border.Clip>
+ <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+ <ItemsControl ClipToBounds="False" ItemsSource="{Binding Segments}" >
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <StackPanel Orientation="Horizontal" ClipToBounds="False"></StackPanel>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Grid>
+ <Grid.Width>
+ <MultiBinding Converter="{StaticResource SegmentLengthToWidthConverter}">
+ <Binding RelativeSource="{RelativeSource AncestorType=ItemsControl}" Path="DataContext.Length"></Binding>
+ <Binding RelativeSource="{RelativeSource AncestorType=ItemsControl}" Path="ActualWidth"></Binding>
+ <Binding Path="Length"></Binding>
+ </MultiBinding>
+ </Grid.Width>
+ <Rectangle Fill="{Binding SegmentBrush}"></Rectangle>
+ </Grid>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <Border Height="28" Width="150" BorderThickness="0" BorderBrush="Transparent" Opacity="20" Background="#32787880" HorizontalAlignment="Center" CornerRadius="8" VerticalAlignment="Center">
+ <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="{StaticResource TangoComboBoxItemFontSize}"> Grouped</TextBlock>
+ </Border>
+
+ </Grid>
+
+ </Border>
+ <Border x:Name="gapBorder" Margin="0 20 0 0" Height="24" ClipToBounds="False" CornerRadius="10" Visibility="{Binding ShowGap, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Border.Clip>
+ <RectangleGeometry RadiusX="10" RadiusY="10">
+ <RectangleGeometry.Rect>
+ <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
+ <Binding ElementName="gapBorder" Path="ActualWidth" />
+ <Binding ElementName="gapBorder" Path="ActualHeight" />
+ </MultiBinding>
+ </RectangleGeometry.Rect>
+ </RectangleGeometry>
+ </Border.Clip>
+ <Grid>
+ <TextBlock FontSize="{StaticResource TangoDefaultFontSize}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="4">
+ <Run Text="{Binding InterSegmentLength, Mode=OneWay}"></Run>
+ <Run Text="m Gap"></Run>
+ </TextBlock>
+ <Rectangle Stroke="{StaticResource TangoGrayBrush}" StrokeThickness="1" StrokeDashArray="5 5 5 5" RadiusX="12" RadiusY="12" />
+ </Grid>
+ </Border>
+
+ </StackPanel>
+
+ <Canvas Grid.Row="1" x:Name="select_canvas_segment" Width="24" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="-50 -35 0 0" >
+ <touch:TouchCheckBox Height="22" Width="24" Margin="20 -20 0 0" Style="{StaticResource TouchRoundCheckBox}" Canvas.Left="0" Canvas.Top="0" x:Name="selectItem" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" Background="Transparent" IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+ </Canvas>
+
+ </Grid>
+ </DataTemplate>
+
+ <helpers:GroupSegmentTemplateSelector x:Key="GroupSegmentTemplateSelector"
+ GroupSegmentsTemplate="{StaticResource GroupSegment_Template}"
+ SegmentTemplate="{StaticResource Segment_Template}"/>
+ <helpers:GroupSegmentTemplateSelector x:Key="CollapsedGroupSegmentTemplateSelector"
+ GroupSegmentsTemplate="{StaticResource CollapsedGroupSegment_Template}"
+ SegmentTemplate="{StaticResource CollapsedSegment_Template}"/>
+
+ </UserControl.Resources>
+
+ <Grid Background="{StaticResource TangoMidBackgroundBrush}" SnapsToDevicePixels="False">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="1*"/>
+ </Grid.RowDefinitions>
+
+ <Border Grid.Row="1" 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" Height="72">
+
+ <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}"
+ components:TransformationHelper.TransformWhenPressed ="False">
+
+ <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 Visibility="Hidden" 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">
+ <StackPanel.ToolTip>
+ <ToolTip>
+ <TextBlock Text="{Binding JobModel.Rml.Name}" />
+ </ToolTip>
+ </StackPanel.ToolTip>
+ <TextBlock Text="Thread Type:" VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}" ></TextBlock>
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" FontSize="{StaticResource TangoDefaultFontSize}" Text="{Binding JobModel.Rml.FinalName}"/>
+ </StackPanel>
+
+ <StackPanel Margin="30 0 0 0" Grid.Column="2" VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Center">
+ <StackPanel.ToolTip>
+ <ToolTip>
+ <TextBlock Text="{Binding JobModel.SpoolTypeName}" />
+ </ToolTip>
+ </StackPanel.ToolTip>
+ <TextBlock Text="Spool Type:" VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}" ></TextBlock>
+ <TextBlock Text="{Binding JobModel.SpoolTypeName}" Margin="5 0 0 0" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" FontSize="{StaticResource TangoDefaultFontSize}"/>
+ </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>
+ </touch:TouchButton>
+
+ </Grid>
+ </Border>
+
+ <touch:TouchLoadingPanel Grid.Row="2" IsLoading="{Binding IsBusy}">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <Grid>
+ <Grid >
+ <DockPanel VerticalAlignment="Top" x:Name="collapsedToolbar" Margin="0 2 20 0" HorizontalAlignment="Stretch" Height="66">
+
+ <Border DockPanel.Dock="Right" Width="613" Height="62" CornerRadius="31" BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="1" Background="{StaticResource TangoPrimaryBackgroundBrush}" Visibility="{Binding IsFullMode, Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <Border.Effect>
+ <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}">
+ <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.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}">
+ <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}" >
+ <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}">
+ <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>
+ </StackPanel>
+ </touch:TouchButton>
+ </UniformGrid>
+ </Border>
+ <Grid DockPanel.Dock="Left" HorizontalAlignment="Left" Margin="40 0 30 0">
+ <StackPanel DockPanel.Dock="Left" HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Center">
+ <touch:TouchButton Margin="0" Style="{StaticResource TouchButtonWithDisableState}" VerticalAlignment="Center" HorizontalAlignment="Left" EnableDropShadow="False" Command="{Binding UndoCommand}" ToolTip="Undone" >
+ <Border Padding="0" BorderThickness="0" Background="Transparent" HorizontalAlignment="Left">
+ <Image Height="28" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/undo.png"/>
+ </Border>
+ </touch:TouchButton>
+ <touch:TouchButton Margin="16 0 0 0" Style="{StaticResource TouchButtonWithDisableState}" VerticalAlignment="Center" HorizontalAlignment="Left" EnableDropShadow="False" Command="{Binding RedoCommand}" ToolTip="Restore">
+ <Border Padding="0" BorderThickness="0" Background="Transparent" HorizontalAlignment="Left">
+ <Image Height="28" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/redo.png"/>
+ </Border>
+ </touch:TouchButton>
+ </StackPanel>
+ </Grid>
+ </DockPanel>
+ <Canvas Width="70" Height="70" Margin="0 3 40 0" HorizontalAlignment="Right" VerticalAlignment="Center">
+ <touch:TouchButton HorizontalAlignment="Right" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding JobModeSwitchCommand}" >
+ <Border BorderThickness="0" Background="Transparent" HorizontalAlignment="Right">
+ <Image Height="70" Width="70" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/job_mode.png"/>
+ </Border>
+ </touch:TouchButton>
+ </Canvas>
+ </Grid>
+ </Grid>
+ <Grid Grid.Row="1" x:Name="segmentsGrid" Grid.RowSpan="3" >
+ <Grid x:Name="Container" keyboard:KeyboardView.ContainerOffset="40" Margin="10 0 10 0" Background="{StaticResource TangoPrimaryBackgroundBrush}">
+ <touch:TouchDropShadowBorder Margin="0 0 0 0" Padding="0 0 0 40" >
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="100"/>
+ </Grid.RowDefinitions>
+ <Grid Grid.Row="0">
+ <DockPanel>
+ <StackPanel x:Name="colorAndLength" DockPanel.Dock="Top" Orientation="Horizontal" VerticalAlignment="Top">
+ <StackPanel.Style>
+ <Style TargetType="StackPanel">
+ <Setter Property="Margin" Value="20 15 10 15"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsFullMode}" Value="false">
+ <Setter Property="Margin" Value="20 15 60 15"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </StackPanel.Style>
+ <Image Source="../Images/JobView/color-length.png" Width="39" />
+ <TextBlock FontWeight="Medium" Margin="20 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoExpanderHeaderFontSize}">Color &amp; Length</TextBlock>
+ </StackPanel>
+ <touch:TouchCheckBox x:Name="selectAll" Width="120" Height="22" Style="{StaticResource TouchRoundCheckBox}" Margin="28 0 0 20" IsChecked="{Binding JobModel.SelectAllSegments}" DockPanel.Dock="Top" FontSize="{StaticResource TangoDefaultFontSize}" HorizontalAlignment="Left" Visibility="{Binding IsFullMode, Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <TextBlock FontSize="{StaticResource TangoButtonFontSize}" Foreground="{StaticResource TangoMidAccentBrush}"> Select All</TextBlock>
+ </touch:TouchCheckBox>
+ </DockPanel>
+ </Grid>
+ <Grid Grid.Row="1" Margin="0 10 0 0">
+ <!--Border x:Name="borderDockFloat" Height="10" Margin="0 0 0 0" BorderBrush="Transparent" >
+ <DockPanel x:Name="dockEdit" LastChildFill="False" Height="10" Width="50" HorizontalAlignment="Right" RenderTransformOrigin="0.58,2.08"/>
+ </Border> -->
+ <ListBox x:Name="listSegments" Margin="10 0 10 60" ItemsSource="{Binding SegmentsCollectionView}" ItemTemplateSelector="{StaticResource GroupSegmentTemplateSelector}" Style="{StaticResource SegmentsListBox}"
+ ScrollViewer.VerticalScrollBarVisibility="Visible"
+ Visibility="{Binding IsFullMode, Converter={StaticResource BooleanToVisibilityConverter}}"/>
+
+
+ <ListBox x:Name="collapsedListSegments" ItemsSource="{Binding SegmentsCollectionView}" ItemTemplateSelector ="{StaticResource CollapsedGroupSegmentTemplateSelector}" Style="{StaticResource SegmentsListBox}"
+ ScrollViewer.VerticalScrollBarVisibility="Visible"
+ Visibility="{Binding IsFullMode, Converter={StaticResource BooleanToVisibilityInverseConverter}}" Margin=" 0 0 0 40"/>
+
+ <!--<StackPanel x:Name="stackOutput" Orientation="Horizontal" VerticalAlignment="Center" Style="{StaticResource Level1Container}"/>-->
+
+ </Grid>
+ </Grid>
+ </touch:TouchDropShadowBorder>
+ </Grid>
+ <Border VerticalAlignment="Top" x:Name="borderEditDock" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 0" BorderBrush="{StaticResource TangoDividerBrush}" Padding="0 0 0 10" Margin="10 0 10 0"/>
+ </Grid>
+
+ <Grid Grid.Row="2">
+ <!--<Grid IsHitTestVisible="False">
+ <Grid.Background>
+ <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
+ <GradientStop Offset="0" Color="#AEFFFFFF" />
+ <GradientStop Offset="1" Color="{StaticResource TangoPrimaryBackgroundColor}" />
+ </LinearGradientBrush>
+ </Grid.Background>
+ <Rectangle Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Top" />
+ </Grid>-->
+ </Grid>
+
+ <!--<touch:TouchDropShadowBorder Grid.Row="3" Margin="10 0 10 15" CornerRadius="0" BorderThickness="0" Padding="0" >-->
+ <Border Grid.Row="3" Margin="10 0 10 15" BorderThickness="0">
+ <touch:TouchExpander x:Name="summaryExpander" IsExpanded="{Binding IsSummaryOpened, Mode=TwoWay}" Grid.Row="3" Margin="15 0 15 0 " FontSize="{StaticResource TangoTitleFontSize}" BorderThickness="0" Style="{StaticResource TouchRoundedExpander}">
+ <touch:TouchExpander.Header>
+ <DockPanel >
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Right" Margin="0 0 20 0" Visibility="{Binding IsSummaryOpened, Converter={StaticResource BooleanToVisibilityConverter}, Mode=TwoWay}">
+ <touch:TouchButton HorizontalAlignment="Right" VerticalAlignment="Center" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding RepeatUnitsCommand}" >
+ <Border CornerRadius="20" Width="130" Height="40" BorderThickness="1" BorderBrush="{StaticResource TangoDarkForegroundBrush}">
+ <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}" Foreground="{StaticResource TangoDarkForegroundBrush}">Repeat All</TextBlock>
+ </Border>
+ </touch:TouchButton>
+ <TextBlock Margin="20 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}" FontWeight="SemiBold" Foreground="{StaticResource TangoPrimaryAccentBrush}">
+ <Run Text="x"></Run>
+ <Run Text="{Binding JobModel.NumberOfUnits,Mode=OneWay}"/>
+ </TextBlock>
+ </StackPanel>
+ <StackPanel DockPanel.Dock="Left" Orientation="Horizontal" VerticalAlignment="Center" Style="{StaticResource Level1Container}">
+ <Image Source="../Images/JobView/job-summary.png" Width="39" />
+ <TextBlock FontWeight="Medium" Margin="20 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoExpanderHeaderFontSize}">Job Summary</TextBlock>
+ </StackPanel>
+ </DockPanel>
+
+ </touch:TouchExpander.Header>
+ <StackPanel Margin="40 0 40 0">
+ <TextBlock VerticalAlignment="Top" DockPanel.Dock="Top" Foreground="{StaticResource TangoDarkForegroundBrush}">
+ <Run Text="Unit: "></Run>
+ <Run Text="{Binding JobModel.Length,Mode=OneWay}"/>
+ <Run Text="m"></Run>
+ </TextBlock>
+
+ <Grid Margin=" 0 10 0 0">
+ <!--<touch:TouchVirtualizedContentReplaceControl MinHeight="40">
+ <DataTemplate>-->
+ <localControls:JobModelSummaryViewerControl JobModel="{Binding JobModel}" Height="20" DisplayMarkers="False" />
+ <!--</DataTemplate>
+ </touch:TouchVirtualizedContentReplaceControl>-->
+ </Grid>
+
+ <DockPanel Margin="0 20 0 0" LastChildFill="False">
+
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Left" VerticalAlignment="Center">
+ <TextBlock>
+ <Run Text="Total:"></Run>
+ <Run Text="{Binding JobModel.LengthIncludingNumberOfUnits,Mode=OneWay}"></Run>
+ <Run Text="m"></Run>
+ </TextBlock>
+ <TextBlock Foreground="{StaticResource TangoGrayTextBrush}">
+ <TextBlock.Style>
+ <Style TargetType="TextBlock">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding JobModel.LengthPercentageFactor,Converter={StaticResource GreaterThanToBooleanConverter},ConverterParameter=0}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </TextBlock.Style>
+ <Run>(</Run><Run Text="{Binding JobModel.Length,Mode=OneWay}"></Run><Run>+</Run><Run Text="{Binding JobModel.LengthPercentageFactor,Mode=OneWay}"></Run><Run>%</Run><Run>)</Run>
+ </TextBlock>
+ </StackPanel>
+
+ <StackPanel DockPanel.Dock="Right" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 -20 5 0">
+ <TextBlock Margin="0 3 0 0" VerticalAlignment="Bottom">
+ <!--<Run Text="Factor: +"></Run>-->
+ <Run Text="Duration: "></Run>
+ <Run Text="{Binding JobModel.GetEstimatedDuration, Converter={StaticResource TimeSpanToMinutesConverter},FallbackValue=0, Mode=OneWay,StringFormat=0.0}"></Run>
+ <Run Text="min"></Run>
+ </TextBlock>
+
+ <!--<touch:TouchNumericTextBox Foreground="{StaticResource TangoGrayTextBrush}" Margin="5 0 0 0" Width="50" HorizontalContentAlignment="Center" Maximum="100" Minimum="0" Value="{Binding JobModel.LengthPercentageFactor}" KeyboardContainer="{Binding ElementName=Container}" StringFormat="0" FocusSelectionMode="SelectAll" />
+
+ <TextBlock VerticalAlignment="Bottom" Foreground="{StaticResource TangoGrayTextBrush}">%</TextBlock>-->
+ </StackPanel>
+ </DockPanel>
+ </StackPanel>
+ </touch:TouchExpander>
+ </Border>
+ <!--</touch:TouchDropShadowBorder>-->
+
+ <!--<dragAndDrop:DraggingSurface x:Name="DraggingSurface" />-->
+ </Grid>
+ </touch:TouchLoadingPanel>
+
+ <Border Height="77" Padding="20 0" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}">
+ <Border.Effect>
+ <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
+ </Border.Effect>
+
+ <Grid>
+ <TextBlock Text="{Binding JobModel.Name,FallbackValue='Job Name'}" ToolTip="{Binding JobModel.Name}" VerticalAlignment="Center" FontSize="{StaticResource TangoHeaderFontSize}" FontWeight="SemiBold"></TextBlock>
+
+ <Canvas ClipToBounds="False" HorizontalAlignment="Right" Width="200">
+ <touch:TouchButton Content="DYE" VerticalAlignment="Center" Height="55" Canvas.Top="10" Width="200" CornerRadius="30" BlurRadius="20" Command="{Binding DyeCommand}" IsEnabled="{Binding MachineProvider.MachineOperator.CanPrint}"></touch:TouchButton>
+ </Canvas>
+ </Grid>
+ </Border>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml.cs
new file mode 100644
index 000000000..38f3bb346
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml.cs
@@ -0,0 +1,106 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Tango.BL;
+using Tango.BL.Entities;
+using Tango.Core.DI;
+using Tango.PPC.Common.Build;
+using Tango.PPC.Jobs.Models;
+using Tango.PPC.Jobs.ViewContracts;
+using Tango.PPC.Jobs.ViewModels;
+using static Tango.SharedUI.Controls.NavigationControl;
+
+namespace Tango.PPC.Jobs.Views
+{
+ /// <summary>
+ /// Interaction logic for JobView.xaml
+ /// </summary>
+ public partial class JobEurekaView : UserControl, INavigationView, IJobView
+ {
+ private JobViewVM _vm;
+
+
+ public JobEurekaView()
+ {
+ InitializeComponent();
+
+ Loaded += (_, __) =>
+ {
+ _vm = DataContext as JobViewVM;
+ };
+
+ if (TangoIOC.Default.GetInstance<IBuildProvider>().IsEureka)
+ {
+ TangoIOC.Default.Register<IJobView>(this);
+ }
+ }
+
+ public void OnNavigatedTo()
+ {
+
+ }
+
+ public void OnNavigatedFrom()
+ {
+
+ }
+
+ private void Length_ValueChanged(object sender, Touch.Controls.DoubleValueChangedEventArgs e)
+ {
+ var segmentModel = (sender as FrameworkElement).DataContext as SegmentModel;
+ if(segmentModel != null)
+ {
+ segmentModel.LengthChanged(e.Value);
+ }
+
+ }
+ private void Length_BeforeChangeValue(object sender, Touch.Controls.DoubleValueChangedEventArgs e)
+ {
+ var segmentModel = (sender as FrameworkElement).DataContext as SegmentModel;
+ if (segmentModel != null)
+ {
+ segmentModel.LengthBeforeChange(e.Value);
+ }
+
+ }
+
+ public void DisplaySampleDye()
+ {
+
+ }
+
+ public void DisplayFineTuning()
+ {
+
+ }
+
+ public void ScrollToTop()
+ {
+
+ }
+
+ public void ScrollToEnd()
+ {
+ if(listSegments.Visibility == Visibility.Visible && listSegments.Items != null && listSegments.Items.Count > 0)
+ {
+ listSegments.ScrollIntoView(listSegments.Items[listSegments.Items.Count - 1]);
+ }
+ else if(collapsedListSegments.Visibility == Visibility.Visible && collapsedListSegments.Items != null && collapsedListSegments.Items.Count > 0)
+ {
+ collapsedListSegments.ScrollIntoView(collapsedListSegments.Items[collapsedListSegments.Items.Count - 1]);
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml.cs
index a31630b0a..1780e654e 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobView.xaml.cs
@@ -16,6 +16,7 @@ using System.Windows.Shapes;
using Tango.BL;
using Tango.BL.Entities;
using Tango.Core.DI;
+using Tango.PPC.Common.Build;
using Tango.PPC.Jobs.Models;
using Tango.PPC.Jobs.ViewContracts;
using Tango.PPC.Jobs.ViewModels;
@@ -40,7 +41,10 @@ namespace Tango.PPC.Jobs.Views
_vm = DataContext as JobViewVM;
};
- TangoIOC.Default.Register<IJobView>(this);
+ if (!TangoIOC.Default.GetInstance<IBuildProvider>().IsEureka)
+ {
+ TangoIOC.Default.Register<IJobView>(this);
+ }
}
public void OnNavigatedTo()
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/MainView.xaml
index 505ccc312..a496fded6 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/MainView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/MainView.xaml
@@ -15,6 +15,7 @@
<views:JobsView />
<views:JobSummeryView />
<views:JobView />
+ <views:JobEurekaView />
<views:TwineCatalogView />
<views:JobProgressView />
</controls:NavigationControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/clock.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/clock.png
new file mode 100644
index 000000000..80cde5b8b
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/clock.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/drop.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/drop.png
new file mode 100644
index 000000000..75b215a63
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/JobProgressView/drop.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs
index 53d0d7e91..530a3c124 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs
@@ -76,6 +76,8 @@ namespace Tango.PPC.UI
//Top = touch_screen.Bounds.Top;
//Width = touch_screen.Bounds.Width;
//Height = touch_screen.Bounds.Height;
+
+ //App.Current.Resources["TangoPanelMaskColor"] = App.Current.Resources["TangoPanelMaskColorLight"];
}
private void InitTS1800()
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs
index c2c069f45..ac1972f5f 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs
@@ -100,6 +100,7 @@ namespace Tango.PPC.UI.Notifications
_currentMessageBox = value;
RaisePropertyChangedAuto();
RaisePropertyChanged(nameof(HasMessageBox));
+ RaisePropertyChanged(nameof(HasDialogOrMessage));
}
}
@@ -126,6 +127,7 @@ namespace Tango.PPC.UI.Notifications
_currentDialog = value;
RaisePropertyChangedAuto();
RaisePropertyChanged(nameof(HasDialog));
+ RaisePropertyChanged(nameof(HasDialogOrMessage));
}
}
@@ -150,6 +152,14 @@ namespace Tango.PPC.UI.Notifications
}
}
+ public bool HasDialogOrMessage
+ {
+ get
+ {
+ return HasDialog || HasMessageBox;
+ }
+ }
+
/// <summary>
/// Shows an error message box.
/// </summary>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
index 9b7970280..14a4d02c1 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
@@ -214,6 +214,7 @@
<Compile Include="ViewModels\LoadingViewVM.cs" />
<Compile Include="ViewModels\LoginViewVM.cs" />
<Compile Include="ViewModels\MachineSetupViewVM.cs" />
+ <Compile Include="ViewModels\MachineStatusViewVM.cs" />
<Compile Include="ViewModels\MainViewVM.cs" />
<Compile Include="ViewModels\MachineUpdateViewVM.cs" />
<Compile Include="ViewModels\NoPermissionsViewVM.cs" />
@@ -242,6 +243,9 @@
<Compile Include="Views\LoadingErrorView.xaml.cs">
<DependentUpon>LoadingErrorView.xaml</DependentUpon>
</Compile>
+ <Compile Include="Views\MachineStatusView.xaml.cs">
+ <DependentUpon>MachineStatusView.xaml</DependentUpon>
+ </Compile>
<Compile Include="Views\MainEurekaView.xaml.cs">
<DependentUpon>MainEurekaView.xaml</DependentUpon>
</Compile>
@@ -392,6 +396,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Views\MachineStatusView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Views\MainEurekaView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -524,6 +532,8 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<Resource Include="Images\waste_replace.png" />
+ <Resource Include="Images\JobProgressView\clock.png" />
+ <Resource Include="Images\JobProgressView\drop.png" />
<Content Include="Manifests\release.xml" />
<Content Include="Manifests\debug.xml" />
<None Include="firmware_package.tfp">
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModelLocator.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModelLocator.cs
index 63e58d58a..c7dd0b67c 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModelLocator.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModelLocator.cs
@@ -177,6 +177,7 @@ namespace Tango.PPC.UI
TangoIOC.Default.Register<RestartingViewVM>();
TangoIOC.Default.Register<InternalModuleViewVM>();
TangoIOC.Default.Register<PowerOffViewVM>();
+ TangoIOC.Default.Register<MachineStatusViewVM>();
TangoIOC.Default.GetInstance<IPPCApplicationManager>().ContentRendered += (_, __) =>
@@ -316,5 +317,13 @@ namespace Tango.PPC.UI
return TangoIOC.Default.GetInstance<PowerOffViewVM>();
}
}
+
+ public static MachineStatusViewVM MachineStatusViewVM
+ {
+ get
+ {
+ return TangoIOC.Default.GetInstance<MachineStatusViewVM>();
+ }
+ }
}
} \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
new file mode 100644
index 000000000..a0d6e2955
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
@@ -0,0 +1,101 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+using Tango.Core.Commands;
+using Tango.Integration.Operation;
+using Tango.PPC.Common;
+
+namespace Tango.PPC.UI.ViewModels
+{
+ public class MachineStatusViewVM : PPCViewModel
+ {
+ private JobHandler _handler;
+
+ private Job _job;
+ /// <summary>
+ /// Gets or sets the job.
+ /// </summary>
+ public Job Job
+ {
+ get { return _job; }
+ set { _job = value; RaisePropertyChangedAuto(); }
+ }
+
+ private RunningJobStatus _runningJobStatus;
+ /// <summary>
+ /// Gets or sets the running job status.
+ /// </summary>
+ public RunningJobStatus RunningJobStatus
+ {
+ get { return _runningJobStatus; }
+ set { _runningJobStatus = value; RaisePropertyChangedAuto(); }
+ }
+
+ public RelayCommand StopCommand { get; set; }
+
+ public MachineStatusViewVM()
+ {
+ StopCommand = new RelayCommand(StopJob);
+ }
+
+ public override void OnApplicationStarted()
+ {
+ MachineProvider.MachineOperator.PrintingStarted += MachineOperator_PrintingStarted;
+ }
+
+ private void MachineOperator_PrintingStarted(object sender, PrintingEventArgs e)
+ {
+ _handler = e.JobHandler;
+ Job = e.Job;
+ e.JobHandler.StatusChanged += JobHandler_StatusChanged;
+ //e.JobHandler.SpoolChangeRequired += JobHandler_SpoolChangeRequired;
+ e.JobHandler.Stopped += JobHandler_Stopped;
+ //e.JobHandler.CanCancelChanged += JobHandler_CanCancelChanged;
+ }
+
+ private void JobHandler_Stopped(object sender, EventArgs e)
+ {
+ if (_handler != null)
+ {
+ _handler.StatusChanged -= JobHandler_StatusChanged;
+ //_handler.SpoolChangeRequired -= JobHandler_SpoolChangeRequired;
+ _handler.Stopped -= JobHandler_Stopped;
+ }
+ }
+
+ private void JobHandler_StatusChanged(object sender, RunningJobStatus e)
+ {
+ InvokeUI(() =>
+ {
+ RunningJobStatus = e;
+ });
+ }
+
+ #region Public Methods
+
+ /// <summary>
+ /// Toggles the application technician mode.
+ /// </summary>
+ public void ToggleTechnicianMode()
+ {
+ if (!ApplicationManager.IsInTechnicianMode)
+ {
+ ApplicationManager.EnterTechnicianMode();
+ }
+ else
+ {
+ ApplicationManager.ExitTechnicianMode();
+ }
+ }
+
+ private void StopJob()
+ {
+ _handler?.Cancel();
+ }
+
+ #endregion
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml
index 93666d8f5..bc75ea258 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml
@@ -35,217 +35,194 @@
<Grid Background="{StaticResource TangoPrimaryBackgroundBrush}">
<Viewbox Stretch="Fill" Width="230">
- <Grid Width="250">
- <Border TextElement.FontSize="16" Height="865" x:Name="border" BorderThickness="0 0 0 0" BorderBrush="{StaticResource TangoDarkForegroundBrush}" TextElement.Foreground="{StaticResource TangoDarkForegroundBrush}">
- <Grid Background="{StaticResource TangoPrimaryBackgroundBrush}">
- <StackPanel VerticalAlignment="Top">
- <Border Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="0 0 0 0">
- <Grid>
- <Border Background="{StaticResource TangoPrimaryBackgroundBrush}">
- <Border.Effect>
- <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
- </Border.Effect>
- </Border>
- <StackPanel>
+ <Grid Width="250">
+ <Border TextElement.FontSize="16" Height="865" x:Name="border" BorderThickness="0 0 0 0" BorderBrush="{StaticResource TangoDarkForegroundBrush}" TextElement.Foreground="{StaticResource TangoDarkForegroundBrush}">
+ <Grid Background="{StaticResource TangoPrimaryBackgroundBrush}">
+ <StackPanel VerticalAlignment="Top">
+ <Border Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="0 0 0 0">
+ <Grid>
+ <Border Background="{StaticResource TangoPrimaryBackgroundBrush}">
+ <Border.Effect>
+ <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
+ </Border.Effect>
+ </Border>
+ <StackPanel>
<DockPanel>
- <touch:TouchIconButton Icon="ChevronLeft" IsHitTestVisible="{Binding NavigationManager.IsNavigating,Converter={StaticResource BooleanInverseConverter}}" IsEnabled="{Binding NavigationManager.CanNavigateBack}" Width="50" Height="50" Padding="10" Margin="10 0 0 0" Command="{Binding MenuOrBackCommand}" EnableDropShadow="False">
+ <touch:TouchIconButton Icon="ChevronLeft" IsHitTestVisible="{Binding NavigationManager.IsNavigating,Converter={StaticResource BooleanInverseConverter}}" IsEnabled="{Binding NavigationManager.CanNavigateBack}" Width="40" Height="40" Padding="10" Margin="10 0 0 0" Command="{Binding MenuOrBackCommand}" EnableDropShadow="False">
<touch:TouchIconButton.Style>
<Style TargetType="touch:TouchIconButton" BasedOn="{StaticResource {x:Type touch:TouchIconButton}}">
<Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
</Style>
</touch:TouchIconButton.Style>
</touch:TouchIconButton>
- <Image Source="/Images/logo.png" Stretch="Uniform" HorizontalAlignment="Right" Margin="20" Width="157"></Image>
+ <Image Source="/Images/logo.png" Stretch="Uniform" HorizontalAlignment="Center" Margin="0 10 10 10" Width="157"></Image>
</DockPanel>
- <StackPanel Orientation="Horizontal" Margin="20 0 20 10" HorizontalAlignment="Left">
- <TextBlock Foreground="{StaticResource TangoGrayTextBrush}" FontSize="9">
- <Run>Machine S/N:</Run>
- <Run FontStyle="Italic" Text="{Binding MachineProvider.Machine.SerialNumber,Mode=OneWay,IsAsync=True,FallbackValue='0000'}"></Run>
- <Run>|</Run>
- <Run>Version:</Run>
- <Run FontStyle="Italic" Text="{Binding ApplicationManager.VersionAndTag,FallbackValue='1.0.0.0',Mode=OneWay,IsAsync=True}"></Run>
- </TextBlock>
-
- <TextBlock Margin="5 0 0 0" Foreground="{StaticResource TangoGrayTextBrush}" FontSize="9">
- <TextBlock.Style>
- <Style TargetType="TextBlock">
- <Setter Property="Visibility" Value="Visible"></Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding Settings.DeploymentSlot}" Value="PROD">
- <Setter Property="Visibility" Value="Collapsed"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Settings.DeploymentSlot}" Value="BETA">
- <Setter Property="Visibility" Value="Collapsed"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </TextBlock.Style>
- <Run>|</Run>
- <Run Text="{Binding Settings.DeploymentSlot}"></Run>
- </TextBlock>
</StackPanel>
- </StackPanel>
- </Grid>
- </Border>
+ </Grid>
+ </Border>
- <ItemsControl ItemsSource="{Binding ModuleLoader.UserModules}" Margin="0 10 0 0">
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Border Visibility="{Binding DockToBottom,Converter={StaticResource BooleanToVisibilityInverseConverter}}">
- <Border BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="0 0 0 1" Visibility="{Binding IsVisibleInMenu,Converter={StaticResource BooleanToVisibilityConverter}}">
- <touch:TouchButton Margin="0 0 0 0" Padding="30 15" Foreground="{StaticResource TangoDarkForegroundBrush}" Style="{StaticResource TangoFlatButton}" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.ModuleNavigationCommand}" CommandParameter="{Binding Name}" >
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
- <Image VerticalAlignment="Center" Source="{Binding Image}" Width="32" Height="32"></Image>
- <TextBlock VerticalAlignment="Center" Margin="40 0 0 0" Text="{Binding Name}" Foreground="{StaticResource TangoPrimaryAccentBrush}"></TextBlock>
- </StackPanel>
- </touch:TouchButton>
+ <ItemsControl ItemsSource="{Binding ModuleLoader.UserModules}" Margin="0 10 0 0">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Border Visibility="{Binding DockToBottom,Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <Border BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="0 0 0 1" Visibility="{Binding IsVisibleInMenu,Converter={StaticResource BooleanToVisibilityConverter}}">
+ <touch:TouchButton Margin="0 0 0 0" Padding="30 15" Foreground="{StaticResource TangoDarkForegroundBrush}" Style="{StaticResource TangoFlatButton}" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.ModuleNavigationCommand}" CommandParameter="{Binding Name}" >
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image VerticalAlignment="Center" Source="{Binding Image}" Width="32" Height="32"></Image>
+ <TextBlock VerticalAlignment="Center" Margin="40 0 0 0" Text="{Binding Name}" Foreground="{StaticResource TangoPrimaryAccentBrush}"></TextBlock>
+ </StackPanel>
+ </touch:TouchButton>
+ </Border>
</Border>
- </Border>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
- <StackPanel Margin="0 5 0 0">
- <Border BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="0 0 0 1">
- <touch:TouchButton Style="{StaticResource TangoFlatButton}" Padding="30 15" Foreground="{StaticResource TangoDarkForegroundBrush}" Command="{Binding UpdateCommand}">
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
- <Image Source="/Images/Menu/update.png" VerticalAlignment="Center" Width="32" Height="32"></Image>
- <TextBlock VerticalAlignment="Center" Margin="40 0 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}">Update</TextBlock>
- </StackPanel>
- </touch:TouchButton>
- </Border>
+ <StackPanel Margin="0 5 0 0">
+ <Border BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="0 0 0 1">
+ <touch:TouchButton Style="{StaticResource TangoFlatButton}" Padding="30 15" Foreground="{StaticResource TangoDarkForegroundBrush}" Command="{Binding UpdateCommand}">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="/Images/Menu/update.png" VerticalAlignment="Center" Width="32" Height="32"></Image>
+ <TextBlock VerticalAlignment="Center" Margin="40 0 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}">Update</TextBlock>
+ </StackPanel>
+ </touch:TouchButton>
+ </Border>
+ </StackPanel>
</StackPanel>
- </StackPanel>
-
- <Grid VerticalAlignment="Bottom">
- <Border Background="{StaticResource TangoPowerMenuOpenedBackgroundBrush}" Height="350" Padding="20" RenderTransformOrigin="0.5,1" VerticalAlignment="Bottom">
- <Border.Resources>
- <Style x:Key="PowerButton" TargetType="touch:TouchButton" BasedOn="{StaticResource TangoLinkButton}">
- <Setter Property="Foreground" Value="{StaticResource TangoPrimaryBackgroundBrush}"></Setter>
- <Setter Property="FontSize" Value="{StaticResource TangoTitleFontSize}"></Setter>
- <Setter Property="HorizontalAlignment" Value="Left"></Setter>
- <Setter Property="VerticalAlignment" Value="Center"></Setter>
- <Setter Property="Padding" Value="50 20"></Setter>
- <Setter Property="Height" Value="Auto"></Setter>
- <Style.Triggers>
- <Trigger Property="IsEnabled" Value="False">
- <Setter Property="Foreground" Value="{StaticResource TangoGrayBrush}"></Setter>
- </Trigger>
- </Style.Triggers>
- </Style>
- </Border.Resources>
- <Border.Style>
- <Style TargetType="Border">
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="1" ScaleY="0" />
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding IsPowerOpened}" Value="True">
- <DataTrigger.EnterActions>
- <BeginStoryboard>
- <Storyboard>
- <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="1" Duration="00:00:0.2" />
- </Storyboard>
- </BeginStoryboard>
- </DataTrigger.EnterActions>
- <DataTrigger.ExitActions>
- <BeginStoryboard>
- <Storyboard>
- <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="0" Duration="00:00:0.2" />
- </Storyboard>
- </BeginStoryboard>
- </DataTrigger.ExitActions>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Border.Style>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="1.4*"/>
- <RowDefinition Height="1*"/>
- </Grid.RowDefinitions>
+ <Grid VerticalAlignment="Bottom">
+ <Border Background="{StaticResource TangoPowerMenuOpenedBackgroundBrush}" Height="350" Padding="20" RenderTransformOrigin="0.5,1" VerticalAlignment="Bottom">
+ <Border.Resources>
+ <Style x:Key="PowerButton" TargetType="touch:TouchButton" BasedOn="{StaticResource TangoLinkButton}">
+ <Setter Property="Foreground" Value="{StaticResource TangoPrimaryBackgroundBrush}"></Setter>
+ <Setter Property="FontSize" Value="{StaticResource TangoTitleFontSize}"></Setter>
+ <Setter Property="HorizontalAlignment" Value="Left"></Setter>
+ <Setter Property="VerticalAlignment" Value="Center"></Setter>
+ <Setter Property="Padding" Value="50 20"></Setter>
+ <Setter Property="Height" Value="Auto"></Setter>
+ <Style.Triggers>
+ <Trigger Property="IsEnabled" Value="False">
+ <Setter Property="Foreground" Value="{StaticResource TangoGrayBrush}"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Resources>
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <ScaleTransform ScaleX="1" ScaleY="0" />
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsPowerOpened}" Value="True">
+ <DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="1" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>
+ <DataTrigger.ExitActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="0" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.ExitActions>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="188*"/>
- <ColumnDefinition Width="261*"/>
- </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1.4*"/>
+ <RowDefinition Height="1*"/>
+ </Grid.RowDefinitions>
+
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="188*"/>
+ <ColumnDefinition Width="261*"/>
+ </Grid.ColumnDefinitions>
- <Image Source="/Images/power-machine.png" Margin="30" />
+ <Image Source="/Images/power-machine.png" Margin="30" />
- <UniformGrid Grid.Column="1" Rows="3">
- <touch:TouchButton Style="{StaticResource PowerButton}" Command="{Binding PowerOffCommand}">Turn Off</touch:TouchButton>
- <touch:TouchButton Style="{StaticResource PowerButton}" Command="{Binding StandByCommand}">Stand By</touch:TouchButton>
- <touch:TouchButton Style="{StaticResource PowerButton}" Command="{Binding ResetCommand}">Reset</touch:TouchButton>
- </UniformGrid>
- </Grid>
+ <UniformGrid Grid.Column="1" Rows="3">
+ <touch:TouchButton Style="{StaticResource PowerButton}" Command="{Binding PowerOffCommand}">Turn Off</touch:TouchButton>
+ <touch:TouchButton Style="{StaticResource PowerButton}" Command="{Binding StandByCommand}">Stand By</touch:TouchButton>
+ <touch:TouchButton Style="{StaticResource PowerButton}" Command="{Binding ResetCommand}">Reset</touch:TouchButton>
+ </UniformGrid>
+ </Grid>
- <Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="25 0" Opacity="0.3" StrokeThickness="1" Stroke="{StaticResource TangoDividerBrush}" />
+ <Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="25 0" Opacity="0.3" StrokeThickness="1" Stroke="{StaticResource TangoDividerBrush}" />
- <Grid Grid.Row="1">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="188*"/>
- <ColumnDefinition Width="261*"/>
- </Grid.ColumnDefinitions>
- <Image Source="/Images/power-tablet.png" Margin="30" />
+ <Grid Grid.Row="1">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="188*"/>
+ <ColumnDefinition Width="261*"/>
+ </Grid.ColumnDefinitions>
+ <Image Source="/Images/power-tablet.png" Margin="30" />
- <touch:TouchButton Command="{Binding RestartApplicationCommand}" Grid.Column="1" Style="{StaticResource PowerButton}">Restart</touch:TouchButton>
+ <touch:TouchButton Command="{Binding RestartApplicationCommand}" Grid.Column="1" Style="{StaticResource PowerButton}">Restart</touch:TouchButton>
+ </Grid>
</Grid>
- </Grid>
- </Border>
+ </Border>
- <Border Background="{StaticResource TangoMidBackgroundBrush}" RenderTransformOrigin="0.5,1" VerticalAlignment="Bottom">
- <Border.Style>
- <Style TargetType="Border">
- <Setter Property="RenderTransform">
- <Setter.Value>
- <ScaleTransform ScaleX="1" ScaleY="1" />
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding IsPowerOpened}" Value="True">
- <DataTrigger.EnterActions>
- <BeginStoryboard>
- <Storyboard>
- <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="0" Duration="00:00:0.2" />
- </Storyboard>
- </BeginStoryboard>
- </DataTrigger.EnterActions>
- <DataTrigger.ExitActions>
- <BeginStoryboard>
- <Storyboard>
- <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="1" Duration="00:00:0.2" />
- </Storyboard>
- </BeginStoryboard>
- </DataTrigger.ExitActions>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Border.Style>
- <touch:TouchButton Style="{StaticResource TangoFlatButton}" Padding="40 25" Foreground="{StaticResource TangoDarkForegroundBrush}" Command="{Binding PowerCommand}">
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
- <Image Source="/Images/menu/power.png" VerticalAlignment="Center" Width="32" Height="32"></Image>
- <TextBlock VerticalAlignment="Center" Margin="40 0 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}">Power</TextBlock>
- </StackPanel>
- </touch:TouchButton>
- </Border>
+ <Border Background="{StaticResource TangoMidBackgroundBrush}" RenderTransformOrigin="0.5,1" VerticalAlignment="Bottom">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <ScaleTransform ScaleX="1" ScaleY="1" />
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsPowerOpened}" Value="True">
+ <DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="0" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>
+ <DataTrigger.ExitActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="1" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.ExitActions>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+ <touch:TouchButton Style="{StaticResource TangoFlatButton}" Padding="40 25" Foreground="{StaticResource TangoDarkForegroundBrush}" Command="{Binding PowerCommand}">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="/Images/menu/power.png" VerticalAlignment="Center" Width="32" Height="32"></Image>
+ <TextBlock VerticalAlignment="Center" Margin="40 0 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}">Power</TextBlock>
+ </StackPanel>
+ </touch:TouchButton>
+ </Border>
+ </Grid>
</Grid>
- </Grid>
- </Border>
- </Grid>
+ </Border>
+ </Grid>
</Viewbox>
+
+ <Grid Background="{StaticResource TangoPanelMaskBrushLight}" Visibility="{Binding NotificationProvider.HasDialogOrMessage,Converter={StaticResource BooleanToVisibilityConverter}}">
+
+ </Grid>
</Grid>
<Grid Background="Gainsboro" Grid.Column="2">
-
+ <local:MachineStatusView />
</Grid>
<Grid Grid.Column="1" Background="{StaticResource TangoPrimaryBackgroundBrush}">
<Grid>
<Viewbox>
- <touch:TouchPanel Width="800" Height="1280"
+ <touch:TouchPanelEureka Width="800" Height="1280"
HasMessageBox="{Binding NotificationProvider.HasMessageBox}"
CurrentMessageBox="{Binding NotificationProvider.CurrentMessageBox}"
HasDialog="{Binding NotificationProvider.HasDialog}"
@@ -254,20 +231,21 @@
BusyMessage="{Binding NotificationProvider.GlobalBusyMessage}">
<Grid>
<DockPanel>
- <Border BorderThickness="0 0 0 0" BorderBrush="{StaticResource TangoDividerBrush}" DockPanel.Dock="Top">
- <DockPanel>
+ <Border BorderThickness="0 0 0 0" BorderBrush="{StaticResource TangoDividerBrush}" DockPanel.Dock="Top" Height="41">
+ <DockPanel Visibility="Collapsed">
<Border Height="101" BorderThickness="0 0 0 0" BorderBrush="{StaticResource TangoDividerBrush}">
<!--<touch:TouchHamburgerButton IsHitTestVisible="{Binding NavigationManager.IsNavigating,Converter={StaticResource BooleanInverseConverter}}" IsEnabled="{Binding NavigationManager.IsBackEnabled}" Width="100" Height="100" Padding="15" Command="{Binding MenuOrBackCommand}" EnableDropShadow="False" Foreground="{StaticResource TangoPrimaryAccentBrush}" IsBack="{Binding NavigationManager.CanNavigateBack}"/>-->
</Border>
+
<Grid DockPanel.Dock="Right" Margin="0 0 20 0">
<StackPanel Orientation="Horizontal">
<Grid>
- <StackPanel x:Name="techPressElement" VerticalAlignment="Center" Background="Transparent">
+ <StackPanel Visibility="Hidden" x:Name="techPressElement" VerticalAlignment="Center" Background="Transparent">
<locaControls:MachineStatusControl HorizontalAlignment="Center" DataContext="{Binding MachineProvider.MachineOperator}" />
<TextBlock Margin="0 10 0 0" Text="{Binding MachineProvider.MachineOperator.Status,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock>
</StackPanel>
- <Grid IsHitTestVisible="False" HorizontalAlignment="Center">
+ <Grid Visibility="Hidden" IsHitTestVisible="False" HorizontalAlignment="Center">
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Visibility" Value="Hidden"></Setter>
@@ -284,10 +262,9 @@
<touch:TouchIcon Icon="InvertColors" Foreground="#151515" Width="18" Height="18" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0 6 -30 0"></touch:TouchIcon>
</Grid>
</Grid>
-
- <touch:TouchButton Margin="40 0 0 0" Height="65" Padding="50 0" MinWidth="200" CornerRadius="35" BlurRadius="20" Command="{Binding NotificationProvider.CurrentAppButton.Command}" IsEnabled="{Binding NotificationProvider.CurrentAppButton.IsEnabled}" Content="{Binding NotificationProvider.CurrentAppButton.Text}" Visibility="{Binding NotificationProvider.CurrentAppButton,Converter={StaticResource IsNullToVisibilityConverter}}"></touch:TouchButton>
</StackPanel>
</Grid>
+
<Grid>
<Grid Margin="20 0 60 0" Height="80" Visibility="{Binding NotificationProvider.HasAppBarItems,Converter={StaticResource BooleanToVisibilityConverter}}">
@@ -346,7 +323,7 @@
</Grid>
</DockPanel>
</Grid>
- </touch:TouchPanel>
+ </touch:TouchPanelEureka>
</Viewbox>
</Grid>
</Grid>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml.cs
index 5fa9efb47..903c15149 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml.cs
@@ -31,19 +31,12 @@ namespace Tango.PPC.UI.Views
{
public static LayoutEurekaView Instance { get; private set; }
private LayoutViewVM _vm;
- private System.Timers.Timer _timer;
public LayoutEurekaView()
{
InitializeComponent();
Instance = this;
Loaded += (_, __) => _vm = DataContext as LayoutViewVM;
- techPressElement.RegisterForPreviewMouseOrTouchDown(OnMouseOrTouchDown);
- techPressElement.RegisterForPreviewMouseOrTouchUp(OnMouseOrTouchUp);
- _timer = new System.Timers.Timer();
- _timer.Interval = TimeSpan.FromSeconds(10).TotalMilliseconds;
- _timer.Elapsed += _timer_Elapsed;
-
this.PreviewMouseUp += LayoutView_PreviewMouseUp;
}
@@ -52,44 +45,6 @@ namespace Tango.PPC.UI.Views
_vm.ApplicationManager.ResetScreenLockTimer();
}
- private void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
- {
- _timer.Stop();
-
- Dispatcher.BeginInvoke(new Action(() =>
- {
- _vm.ToggleTechnicianMode();
- }));
- }
-
- private void OnMouseOrTouchDown(object sender, MouseOrTouchEventArgs e)
- {
- //if (e.TouchDevice != null)
- //{
- // techPressElement.CaptureTouch(e.TouchDevice);
- //}
- //else
- //{
- // techPressElement.CaptureMouse();
- //}
-
- _timer.Start();
- }
-
- private void OnMouseOrTouchUp(object sender, MouseOrTouchEventArgs e)
- {
- //if (e.TouchDevice != null)
- //{
- // techPressElement.ReleaseTouchCapture(e.TouchDevice);
- //}
- //else
- //{
- // techPressElement.ReleaseMouseCapture();
- //}
-
- _timer.Stop();
- }
-
private void Grid_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
_vm.ApplicationManager.ReleaseScreenLock();
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml
new file mode 100644
index 000000000..43b85887b
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml
@@ -0,0 +1,149 @@
+<UserControl x:Class="Tango.PPC.UI.Views.MachineStatusView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
+ xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
+ xmlns:locaControls="clr-namespace:Tango.PPC.UI.Controls"
+ xmlns:global="clr-namespace:Tango.PPC.UI"
+ xmlns:local="clr-namespace:Tango.PPC.UI.Views"
+ mc:Ignorable="d"
+ d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:MachineStatusViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MachineStatusViewVM}">
+ <Grid Background="{StaticResource TangoMidBackgroundBrush}">
+ <DockPanel>
+ <Grid Panel.ZIndex="100" DockPanel.Dock="Top" Height="79" Background="{StaticResource TangoPrimaryBackgroundBrush}">
+ <Grid.Effect>
+ <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
+ </Grid.Effect>
+
+ <Grid HorizontalAlignment="Right" Margin="0 0 20 0">
+ <StackPanel Orientation="Horizontal">
+ <Grid>
+ <StackPanel x:Name="techPressElement" VerticalAlignment="Center" Background="Transparent">
+ <locaControls:MachineStatusControl HorizontalAlignment="Center" DataContext="{Binding MachineProvider.MachineOperator}" />
+ <TextBlock Margin="0 10 0 0" FontSize="{StaticResource TangoSmallFontSize}" Text="{Binding MachineProvider.MachineOperator.Status,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock>
+ </StackPanel>
+
+ <Grid IsHitTestVisible="False" HorizontalAlignment="Center">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding MachineProvider.MachineOperator.MachineStatus.AutoInkFillingEnabled}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding MachineProvider.MachineOperator.IsConnected}" Value="False">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+ </Grid>
+ </Grid>
+ </StackPanel>
+ </Grid>
+ </Grid>
+
+ <Grid Background="{StaticResource TangoMidBackgroundBrush}">
+ <StackPanel VerticalAlignment="Center">
+ <Grid>
+
+ <touch:TouchRingProgress Width="364" Height="364" RingThickness="10">
+ <touch:TouchRingProgress.Style>
+ <Style TargetType="touch:TouchRingProgress">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
+ <Setter Property="Maximum" Value="{Binding RunningJobStatus.TotalProgressMinusSettingUp}"></Setter>
+ <Setter Property="Value" Value="{Binding RunningJobStatus.ProgressMinusSettingUp}"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsSettingUp}" Value="False">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsCompleted}" Value="True">
+ <Setter Property="Maximum" Value="100"></Setter>
+ <Setter Property="Value" Value="99.9999999"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoSuccessBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsCanceled}" Value="True">
+ <Setter Property="Foreground" Value="{StaticResource TangoWarningBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsFailed}" Value="True">
+ <Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchRingProgress.Style>
+ </touch:TouchRingProgress>
+
+ <touch:TouchBusyIndicator Width="360" Height="360" StrokeThickness="10" Maximum="100" Visibility="{Binding RunningJobStatus.IsSettingUp,Converter={StaticResource BooleanToVisibilityConverter}}">
+ <touch:TouchBusyIndicator.Style>
+ <Style TargetType="touch:TouchBusyIndicator">
+ <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
+ <Setter Property="Value" Value="0"></Setter>
+ <Setter Property="IsIndeterminate" Value="False"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsSettingUp}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <Setter Property="Value" Value="0"></Setter>
+ <Setter Property="IsIndeterminate" Value="True"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsCompleted}" Value="True">
+ <Setter Property="IsIndeterminate" Value="False"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsCanceled}" Value="True">
+ <Setter Property="Value" Value="99.9999999"></Setter>
+ <Setter Property="IsIndeterminate" Value="False"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoWarningBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding RunningJobStatus.IsFailed}" Value="True">
+ <Setter Property="Value" Value="99.9999999"></Setter>
+ <Setter Property="IsIndeterminate" Value="False"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchBusyIndicator.Style>
+ </touch:TouchBusyIndicator>
+
+ <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
+
+ <StackPanel Visibility="{Binding RunningJobStatus.IsSettingUp,Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
+ <Image Source="../Images/JobProgressView/drop.png" Stretch="None" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}">Completed</TextBlock>
+ </StackPanel>
+
+ <TextBlock FontWeight="Light" FontSize="{StaticResource TangoLargeFontSize}" Margin="0 10 0 0" HorizontalAlignment="Center">
+ <Run Text="{Binding RunningJobStatus.ProgressMinusSettingUp,StringFormat=0,FallbackValue=0}"></Run><Run Text="/" /><Run Text="{Binding RunningJobStatus.TotalProgressMinusSettingUp,StringFormat=0,FallbackValue=0}"/>
+ <Run FontSize="16">m</Run>
+ </TextBlock>
+ </StackPanel>
+
+ <StackPanel Height="90" Visibility="{Binding RunningJobStatus.IsSettingUp,Converter={StaticResource BooleanToVisibilityConverter}}">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
+ <Image Source="../Images/JobProgressView/drop.png" Stretch="None" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}">Getting Ready...</TextBlock>
+ </StackPanel>
+ </StackPanel>
+
+ <Rectangle Margin="0 10 0 0" Width="250" Stroke="{StaticResource TangoDividerBrush}" />
+
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0 15 0 0">
+ <Image Source="../Images/JobProgressView/clock.png" Stretch="None" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}">Time Left</TextBlock>
+ </StackPanel>
+
+ <TextBlock FontWeight="Light" FontSize="{StaticResource TangoLargeFontSize}" Margin="0 10 0 0" HorizontalAlignment="Center">
+ <Run Text="{Binding RunningJobStatus.RemainingTime,Converter={StaticResource TimeSpanToTwoDigitsTimeConverter},FallbackValue=5}"></Run>
+ <Run FontSize="16" Text="{Binding RunningJobStatus.RemainingTime,Converter={StaticResource TimeSpanToLabelConverter},FallbackValue=min}"></Run>
+ </TextBlock>
+ </StackPanel>
+ </Grid>
+
+ <touch:TouchButton Content="STOP" Margin="0 20 0 0" Height="60" Width="160" CornerRadius="30" BlurRadius="20" Command="{Binding StopCommand}" IsEnabled="{Binding MachineProvider.MachineOperator.IsPrinting}"></touch:TouchButton>
+ </StackPanel>
+ </Grid>
+ </DockPanel>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml.cs
new file mode 100644
index 000000000..2ee98bc2b
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Tango.Core.EventArguments;
+using Tango.PPC.UI.ViewModels;
+
+namespace Tango.PPC.UI.Views
+{
+ /// <summary>
+ /// Interaction logic for MachineStatusView.xaml
+ /// </summary>
+ public partial class MachineStatusView : UserControl
+ {
+ private MachineStatusViewVM _vm;
+ private System.Timers.Timer _timer;
+
+ public MachineStatusView()
+ {
+ InitializeComponent();
+
+ techPressElement.RegisterForPreviewMouseOrTouchDown(OnMouseOrTouchDown);
+ techPressElement.RegisterForPreviewMouseOrTouchUp(OnMouseOrTouchUp);
+ _timer = new System.Timers.Timer();
+ _timer.Interval = TimeSpan.FromSeconds(10).TotalMilliseconds;
+ _timer.Elapsed += _timer_Elapsed;
+
+ Loaded += (_, __) => _vm = DataContext as MachineStatusViewVM;
+ }
+
+ private void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
+ {
+ _timer.Stop();
+
+ Dispatcher.BeginInvoke(new Action(() =>
+ {
+ _vm.ToggleTechnicianMode();
+ }));
+ }
+
+ private void OnMouseOrTouchDown(object sender, MouseOrTouchEventArgs e)
+ {
+ _timer.Start();
+ }
+
+ private void OnMouseOrTouchUp(object sender, MouseOrTouchEventArgs e)
+ {
+ _timer.Stop();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/Job.cs b/Software/Visual_Studio/Tango.BL/Entities/Job.cs
index c6a6ea226..235a347b7 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/Job.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/Job.cs
@@ -527,14 +527,6 @@ namespace Tango.BL.Entities
}
return length;
- //if (Segments != null)
- //{
- // return Segments.Sum(x => x.LengthWithFactor) + ((EnableInterSegment && IsAllSegmentsPerSpool) ? (InterSegmentLength * (Segments.Count > 0 ? Segments.Count - 1 : Segments.Count)) : 0);
- //}
- //else
- //{
- // return 0;
- //}
}
#endregion
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs b/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs
index a8208323a..d21dcc781 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs
@@ -5,6 +5,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
+using Tango.BL.Enumerations;
using Tango.Core;
using Tango.Logging;
using Tango.PMR.Printing;
@@ -26,6 +27,7 @@ namespace Tango.Integration.Operation
protected double _last_progress;
protected const int PROGRESS_REPORT_RANGE_METERS = 5;
protected bool loggedContinueMessage;
+ private MachineTypes _machineType;
#region Events
@@ -154,9 +156,10 @@ namespace Tango.Integration.Operation
/// Initializes a new instance of the <see cref="JobHandler"/> class.
/// </summary>
/// <param name="cancelAction">The cancel action.</param>
- public JobHandler(Action cancelAction, Job job, JobTicket jobTicket, ProcessParametersTable processParameters, JobHandlerModes mode) : this()
+ public JobHandler(Action cancelAction, Job job, JobTicket jobTicket, ProcessParametersTable processParameters, JobHandlerModes mode, MachineTypes machineType) : this()
{
_mode = mode;
+ _machineType = machineType;
ProcessParameters = processParameters;
Job = job;
@@ -175,6 +178,7 @@ namespace Tango.Integration.Operation
Status = new RunningJobStatus();
+
Status.TotalTime = job.GetEstimatedDuration(processParameters);
Status.RemainingUnits = job.NumberOfUnits;
Status.TotalProgress = Job.LengthIncludingNumberOfUnits + processParameters.DryerBufferLengthMeters;
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index 9c94363df..c5841a8b5 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -1801,7 +1801,7 @@ namespace Tango.Integration.Operation
handler.CanCancel = true;
LogManager.Log(ex, "Failed to cancel job.");
}
- }, job, jobTicket, processParameters, JobHandlingMode);
+ }, job, jobTicket, processParameters, JobHandlingMode, MachineType);
handler.StatusChanged += (x, s) =>
{
@@ -2913,7 +2913,7 @@ namespace Tango.Integration.Operation
handler.CanCancel = true;
LogManager.Log(ex, "Failed to cancel job.");
}
- }, clonedJob, ticket, processParameters, JobHandlingMode);
+ }, clonedJob, ticket, processParameters, JobHandlingMode, MachineType);
handler.StatusChanged += (x, s) =>
{
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.cs
index 137ef6e42..fc929089d 100644
--- a/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.cs
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.cs
@@ -24,6 +24,7 @@ namespace Tango.Touch.Controls
private TouchCalendar _calendar;
private Grid _calendar_grid;
private bool _isDialogGridMaskMouseDown;
+ protected Border _dialogBorder;
static TouchPanel()
{
@@ -72,6 +73,7 @@ namespace Tango.Touch.Controls
_comboBoxCloseButton = GetTemplateChild("PART_comboboxCloseButton") as TouchIconButton;
_calendar_grid = GetTemplateChild("PART_datepicker_grid") as Grid;
_calendar = GetTemplateChild("PART_calendar") as TouchCalendar;
+ _dialogBorder = GetTemplateChild("PART_dialogBorder") as Border;
var gridDialogsMask = GetTemplateChild("PART_gridDialogsMask") as Grid;
gridDialogsMask.MouseUp += GridDialogsMask_MouseUp;
gridDialogsMask.MouseDown += GridDialogsMask_MouseDown;
@@ -241,7 +243,7 @@ namespace Tango.Touch.Controls
set { SetValue(CurrentDialogProperty, value); }
}
public static readonly DependencyProperty CurrentDialogProperty =
- DependencyProperty.Register("CurrentDialog", typeof(FrameworkElement), typeof(TouchPanel), new PropertyMetadata(null));
+ DependencyProperty.Register("CurrentDialog", typeof(FrameworkElement), typeof(TouchPanel), new PropertyMetadata(null,(d,e) => (d as TouchPanel).OnCurrentDialogChanged(e.NewValue as FrameworkElement)));
public FrameworkElement TaskBarElement
{
@@ -267,6 +269,10 @@ namespace Tango.Touch.Controls
public static readonly DependencyProperty BusyMessageProperty =
DependencyProperty.Register("BusyMessage", typeof(String), typeof(TouchPanel), new PropertyMetadata(null));
+ protected virtual void OnCurrentDialogChanged(FrameworkElement frameworkElement)
+ {
+
+ }
#region Attached Properties
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.xaml
index dd405a6c3..24dbbe268 100644
--- a/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.xaml
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanel.xaml
@@ -77,7 +77,7 @@
<DropShadowEffect BlurRadius="10" />
</Border.Effect>
- <ContentPresenter Content="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDialog}" />
+ <ContentPresenter x:Name="PART_dialogContentPresenter" Content="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDialog}" />
</Border>
</Grid>
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.cs
new file mode 100644
index 000000000..a1c07f306
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.cs
@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.Touch.Controls
+{
+ public class TouchPanelEureka : TouchPanel
+ {
+ #region Prevent Focus Steal
+
+ /// <summary>
+ /// The prevent scroll property
+ /// </summary>
+ public static readonly DependencyProperty MakeEurekaFullScreenProperty =
+ DependencyProperty.RegisterAttached("MakeEurekaFullScreen",
+ typeof(bool), typeof(TouchPanelEureka),
+ new FrameworkPropertyMetadata(false));
+
+ /// <summary>
+ /// Sets the MakeEurekaFullScreen attached property.
+ /// </summary>
+ /// <param name="element">The element.</param>
+ /// <param name="value">if set to <c>true</c> [value].</param>
+ public static void SetMakeEurekaFullScreen(FrameworkElement element, bool value)
+ {
+ element.SetValue(MakeEurekaFullScreenProperty, value);
+ }
+
+ /// <summary>
+ /// Gets the MakeEurekaFullScreen attached property.
+ /// </summary>
+ /// <param name="element">The element.</param>
+ /// <returns></returns>
+ public static bool GetMakeEurekaFullScreen(FrameworkElement element)
+ {
+ if (element != null)
+ {
+ return (bool)element.GetValue(MakeEurekaFullScreenProperty);
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ #endregion
+
+ static TouchPanelEureka()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(TouchPanelEureka), new FrameworkPropertyMetadata(typeof(TouchPanelEureka)));
+ }
+
+ protected override void OnCurrentDialogChanged(FrameworkElement dialog)
+ {
+ base.OnCurrentDialogChanged(dialog);
+
+ if (dialog != null)
+ {
+ if (GetMakeEurekaFullScreen(dialog))
+ {
+ _dialogBorder.CornerRadius = new CornerRadius(0);
+ _dialogBorder.Padding = new Thickness(0);
+ _dialogBorder.Margin = new Thickness(0, 125, 0, 0);
+ dialog.Width = this.ActualWidth;
+ dialog.Height = this.ActualHeight - 125;
+ }
+ else
+ {
+ _dialogBorder.CornerRadius = new CornerRadius(5);
+ _dialogBorder.Padding = new Thickness(10);
+ _dialogBorder.Margin = new Thickness(0);
+ }
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.xaml
new file mode 100644
index 000000000..569f1df77
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchPanelEureka.xaml
@@ -0,0 +1,330 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:keyboard="clr-namespace:Tango.Touch.Keyboard"
+ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
+ xmlns:local="clr-namespace:Tango.Touch.Controls">
+
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="../Resources/Colors.xaml" />
+ <ResourceDictionary Source="../Resources/Fonts.xaml" />
+ <ResourceDictionary Source="../Styles/TouchButton.xaml" />
+ <ResourceDictionary Source="../Styles/TouchIconButton.xaml" />
+
+ <ResourceDictionary>
+ <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
+ <converters:NullObjectToBooleanConverter x:Key="NullObjectToBooleanConverter" />
+ </ResourceDictionary>
+ </ResourceDictionary.MergedDictionaries>
+
+ <Style x:Key="TangoMessageBoxTitle" TargetType="TextBlock">
+ <Setter Property="FontSize" Value="{StaticResource TangoMessageBoxTitleFontSize}"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
+ </Style>
+
+ <Style TargetType="local:TouchPanelEureka">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="local:TouchPanelEureka">
+ <Border Background="{TemplateBinding Background}">
+ <Grid>
+ <keyboard:KeyboardView>
+ <Grid>
+
+ <DockPanel>
+ <ContentControl DockPanel.Dock="Top" Content="{TemplateBinding TaskBarElement}"></ContentControl>
+
+ <!--Notification Bar-->
+ <!--<local:TouchNotificationBar NotificationBarVisibility="{TemplateBinding NotificationBarVisibility}" NotificationTemplate="{TemplateBinding NotificationTemplate}" HasNotifications="{TemplateBinding HasNotifications}" Notifications="{TemplateBinding Notifications}" ItemExpandedPropertyPath="{TemplateBinding ItemExpandedPropertyPath}">-->
+ <Grid>
+ <!--Content-->
+ <ContentPresenter Content="{TemplateBinding Content}" />
+ </Grid>
+ <!--</local:TouchNotificationBar>-->
+ </DockPanel>
+
+ <!--Dialogs-->
+ <Grid>
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <!--<Setter Property="Opacity" Value="0"></Setter>-->
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=HasDialog}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <!--<DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation To="1" Storyboard.TargetProperty="Opacity" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>-->
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Grid Background="{StaticResource TangoPanelMaskBrushLight}" x:Name="PART_gridDialogsMask">
+ <!--<i:Interaction.Triggers>
+ <i:EventTrigger EventName="MouseUp">
+ <i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDialog.DataContext.CloseCommand}" />
+ </i:EventTrigger>
+ </i:Interaction.Triggers>-->
+ </Grid>
+
+ <Border x:Name="PART_dialogBorder" Background="{StaticResource TangoPrimaryBackgroundBrush}" CornerRadius="5" Padding="10" HorizontalAlignment="Center" VerticalAlignment="Center">
+ <Border.Effect>
+ <DropShadowEffect Color="Gainsboro" BlurRadius="10" />
+ </Border.Effect>
+
+ <ContentPresenter Content="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDialog}" />
+ </Border>
+ </Grid>
+
+ <!--Combo Box PopUp-->
+ <Grid Background="{StaticResource TangoPanelMaskBrushLight}" x:Name="PART_combobox_grid">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="Opacity" Value="0"></Setter>
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentComboBox,Converter={StaticResource NullObjectToBooleanConverter}}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation To="1" Storyboard.TargetProperty="Opacity" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Grid DataContext="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentComboBox}" VerticalAlignment="Center" HorizontalAlignment="Center">
+ <Border Background="{StaticResource TangoPrimaryBackgroundBrush}" CornerRadius="5" Margin="10">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="10" />
+ </Border.Effect>
+
+ <Grid ClipToBounds="True">
+ <DockPanel>
+ <Grid DockPanel.Dock="Top">
+ <Border CornerRadius="5 5 0 0" Background="{StaticResource TangoPopupTitleBackgroundBrush}" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0 0 0 1" Padding="30">
+ <TextBlock DockPanel.Dock="Top" Text="{Binding Title}" FontSize="{StaticResource TangoComboBoxTitleFontSize}" FontWeight="SemiBold"></TextBlock>
+ </Border>
+ <local:TouchIconButton x:Name="PART_comboboxCloseButton" Background="Transparent" Padding="35" Style="{StaticResource TangoRoundTouchIconButton}" Command="{Binding CloseCommand}" CommandParameter="{Binding}" HorizontalAlignment="Right" MaxHeight="90" Width="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}" Icon="Close" Foreground="{StaticResource TangoDarkForegroundBrush}" Opacity="0.5" />
+ </Grid>
+ <local:TouchListBox x:Name="PART_ComboBoxList" Width="{Binding MinPopupWidth}" Height="{Binding MinPopupHeight}" ItemSelectedCommand="{Binding RelativeSource={RelativeSource AncestorType=local:TouchPanel},Path=ComboBoxPickedCommand}" ItemsSource="{Binding ItemsSource}" SelectedItem="{Binding SelectedItem,Mode=TwoWay}" SelectionMode="None" ItemTemplate="{Binding ItemTemplate}" ValuePath="{Binding ValuePath}" VerticalAlignment="Top" >
+
+ </local:TouchListBox>
+ </DockPanel>
+ </Grid>
+ </Border>
+ </Grid>
+ </Grid>
+
+ <!--Date Picker-->
+ <Grid Background="{StaticResource TangoPanelMaskBrushLight}" x:Name="PART_datepicker_grid">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="Opacity" Value="0"></Setter>
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDatePicker,Converter={StaticResource NullObjectToBooleanConverter}}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation To="1" Storyboard.TargetProperty="Opacity" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Grid DataContext="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDatePicker}" VerticalAlignment="Center" HorizontalAlignment="Center">
+ <Border Background="{StaticResource TangoPrimaryBackgroundBrush}" CornerRadius="5" Margin="10" HorizontalAlignment="Center" VerticalAlignment="Center">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="10" />
+ </Border.Effect>
+
+ <DockPanel>
+ <StackPanel Margin="0 40 0 10" DockPanel.Dock="Bottom" HorizontalAlignment="Right" Orientation="Horizontal">
+ <local:TouchButton Command="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CancelDateCommand}" Width="120" Margin="2 0" Style="{StaticResource TangoMessageBoxButton}">CANCEL</local:TouchButton>
+ <local:TouchButton Command="{Binding RelativeSource={RelativeSource TemplatedParent},Path=DateSelectedCommand}" Width="120" Margin="2 0" Style="{StaticResource TangoMessageBoxButton}">OK</local:TouchButton>
+ </StackPanel>
+
+ <Viewbox Width="470" Stretch="Uniform">
+ <local:TouchCalendar Width="370" x:Name="PART_calendar" Focusable="False"
+ SelectedDate="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDatePicker.SelectedDate,Mode=OneWay}"
+ DisplayDateStart="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDatePicker.DisplayDateStart,Mode=OneWay}"
+ DisplayDateEnd="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentDatePicker.DisplayDateEnd,Mode=OneWay}"/>
+ </Viewbox>
+ </DockPanel>
+ </Border>
+ </Grid>
+ </Grid>
+
+ <!--Messages-->
+ <Grid Background="{StaticResource TangoPanelMaskBrushLight}">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <!--<Setter Property="Opacity" Value="0"></Setter>-->
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=HasMessageBox}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <!--<DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation To="1" Storyboard.TargetProperty="Opacity" Duration="00:00:0.2" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>-->
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Grid Height="400" Margin="20" RenderTransformOrigin="0.5,0.5">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <ScaleTransform ScaleX="0" ScaleY="0" />
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=HasMessageBox}" Value="True">
+ <DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="0" To="1" Duration="00:00:0.1" />
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="0" To="1" Duration="00:00:0.1" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>
+ <DataTrigger.ExitActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="1" To="0" Duration="00:00:0.1" />
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="1" To="0" Duration="00:00:0.1" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.ExitActions>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Border DataContext="{Binding RelativeSource={RelativeSource TemplatedParent},Path=CurrentMessageBox}" Background="{StaticResource TangoPrimaryBackgroundBrush}" CornerRadius="5" Margin="10">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="10" />
+ </Border.Effect>
+ <Grid ClipToBounds="True">
+ <DockPanel>
+ <Grid DockPanel.Dock="Top">
+ <Border CornerRadius="5 5 0 0" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0 0 0 1" Padding="30" Background="{Binding HeaderBrush}">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <local:TouchIcon Width="24" Height="24" Icon="{Binding Icon}" Margin="0 0 20 0" Foreground="{Binding Brush}" />
+ <TextBlock Text="{Binding Title}" FontSize="{StaticResource TangoMessageBoxTitleFontSize}" FontWeight="Normal"></TextBlock>
+ </StackPanel>
+ </Border>
+ <local:TouchIconButton Background="Transparent" Padding="35" Style="{StaticResource TangoRoundTouchIconButton}" Command="{Binding CloseCommand}" CommandParameter="{Binding}" HorizontalAlignment="Right" MaxHeight="90" Width="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}" Icon="Close" Foreground="{StaticResource TangoDarkForegroundBrush}" Opacity="0.5" />
+ </Grid>
+
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Bottom" HorizontalAlignment="Center" Height="50" Margin="0 0 0 40">
+ <local:TouchButton x:Name="btnCancel" FontWeight="Normal" CornerRadius="25" Width="220" FontSize="{StaticResource TangoMessageBoxButtonFontSize}" Margin="0 0 30 0" Style="{StaticResource TangoHollowButton}" Command="{Binding CloseCommand}" Visibility="{Binding HasCancel,Converter={StaticResource BooleanToVisibilityConverter}}">CANCEL</local:TouchButton>
+ <local:TouchButton x:Name="btnOK" FontWeight="Normal" Width="220" CornerRadius="25" FontSize="{StaticResource TangoMessageBoxButtonFontSize}" Margin="30 0 0 0" Style="{StaticResource TangoHollowButton}" Command="{Binding OKCommand}">OK</local:TouchButton>
+ </StackPanel>
+
+ <TextBlock FontSize="{StaticResource TangoMessageBoxMessageFontSize}" Text="{Binding Message}" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap" Margin="10 0"></TextBlock>
+
+ </DockPanel>
+ </Grid>
+ </Border>
+ </Grid>
+ </Grid>
+
+ <!--Busy-->
+ <Grid Background="{StaticResource TangoPanelMaskBrushLight}">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=IsBusy}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Grid MinHeight="390" Margin="20" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Center">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <ScaleTransform ScaleX="0" ScaleY="0" />
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=IsBusy}" Value="True">
+ <DataTrigger.EnterActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="0" To="1" Duration="00:00:0.1" />
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="0" To="1" Duration="00:00:0.1" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.EnterActions>
+ <DataTrigger.ExitActions>
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="1" To="0" Duration="00:00:0.1" />
+ <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="1" To="0" Duration="00:00:0.1" />
+ </Storyboard>
+ </BeginStoryboard>
+ </DataTrigger.ExitActions>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <Border Background="{StaticResource TangoPrimaryBackgroundBrush}" CornerRadius="5" Margin="10">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="10" />
+ </Border.Effect>
+ <Grid ClipToBounds="True">
+ <DockPanel>
+ <Grid DockPanel.Dock="Top">
+ <Border CornerRadius="5 5 0 0" Background="{StaticResource TangoPopupTitleBackgroundBrush}" BorderBrush="{StaticResource TangoGrayBrush}" BorderThickness="0 0 0 1" Padding="30">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <local:TouchIcon Width="24" Height="24" Icon="ProgressClock" Margin="0 0 20 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
+ <TextBlock Text="Working" FontSize="{StaticResource TangoMessageBoxTitleFontSize}" FontWeight="Normal"></TextBlock>
+ </StackPanel>
+ </Border>
+ </Grid>
+
+ <local:TouchBusyIndicator DockPanel.Dock="Bottom" Margin="0 0 0 40" IsIndeterminate="{Binding RelativeSource={RelativeSource TemplatedParent},Path=IsBusy}" Width="100" Height="100"></local:TouchBusyIndicator>
+
+ <TextBlock FontSize="{StaticResource TangoMessageBoxMessageFontSize}" Text="{Binding RelativeSource={RelativeSource TemplatedParent},Path=BusyMessage}" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap"></TextBlock>
+ </DockPanel>
+ </Grid>
+ </Border>
+ </Grid>
+ </Grid>
+ </Grid>
+ </keyboard:KeyboardView>
+ </Grid>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+
+
+</ResourceDictionary> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml b/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml
index 2433ca077..0ae0c31f0 100644
--- a/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml
+++ b/Software/Visual_Studio/Tango.Touch/Resources/Colors.xaml
@@ -56,6 +56,9 @@
<Color x:Key="TangoPowerMenuOpenedBackgroundColor">#4E5470</Color>
+ <Color x:Key="TangoPanelMaskColor">#9E000000</Color>
+ <Color x:Key="TangoPanelMaskColorLight">#55FFFFFF</Color>
+
<!--Brushes-->
<SolidColorBrush x:Key="TangoPrimaryBackgroundBrush" Color="{StaticResource TangoPrimaryBackgroundColor}"></SolidColorBrush>
<SolidColorBrush x:Key="TangoMidBackgroundBrush" Color="{StaticResource TangoMidBackgroundColor}"></SolidColorBrush>
@@ -106,6 +109,9 @@
<SolidColorBrush x:Key="TangoNotificationBarBottomBorderBrush" Color="{StaticResource TangoNotificationBarBottomBorderColor}"></SolidColorBrush>
<SolidColorBrush x:Key="TangoNotificationBarBackgroundBrush" Color="{StaticResource TangoNotificationBarBackgroundColor}"></SolidColorBrush>
+ <SolidColorBrush x:Key="TangoPanelMaskBrush" Color="{StaticResource TangoPanelMaskColor}"></SolidColorBrush>
+ <SolidColorBrush x:Key="TangoPanelMaskBrushLight" Color="{StaticResource TangoPanelMaskColorLight}"></SolidColorBrush>
+
<LinearGradientBrush x:Key="TangoNotificationBackgroundBrush" StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="White"/>
<GradientStop Color="White" Offset="1"/>
diff --git a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj
index 58eb68e45..2e2370584 100644
--- a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj
+++ b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj
@@ -71,6 +71,7 @@
<Compile Include="Controls\TouchCalendar.cs" />
<Compile Include="Controls\TouchCheckBox.cs" />
<Compile Include="Controls\TouchClickableControl.cs" />
+ <Compile Include="Controls\TouchPanelEureka.cs" />
<Compile Include="TouchColorPickerControls\MultiRangeSlider.cs" />
<Compile Include="TouchColorPickerControls\TouchSliderThreeThumbs.cs" />
<Compile Include="TouchColorPickerControls\TouchColorPickerCMYKControl.cs" />
@@ -143,6 +144,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Controls\TouchPanelEureka.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Styles\TouchCheckBox.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -492,7 +497,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml b/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml
index 0a9ce1282..a623203cf 100644
--- a/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml
+++ b/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml
@@ -65,6 +65,7 @@
<ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Styles/TouchScrollViewer.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Controls/TouchPanel.xaml" />
+ <ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/Controls/TouchPanelEureka.xaml" />
<ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/TouchColorPickerControls/TouchColorPickerSlider.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/TouchColorPickerControls/TouchColorPickerControl.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Tango.Touch;component/TouchColorPickerControls/TouchColorPickerHSBControl.xaml"/>
diff --git a/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs b/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs
index b4fc23c8e..608b015d8 100644
--- a/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs
+++ b/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs
@@ -13,7 +13,7 @@ namespace Tango.JobProgressTester.UI
public class JobHandler2 : JobHandler
{
public JobHandler2(Action cancelAction, Job job, JobTicket jobTicket, ProcessParametersTable processParameters, JobHandlerModes mode)
- : base(cancelAction, job, jobTicket, processParameters, mode)
+ : base(cancelAction, job, jobTicket, processParameters, mode, BL.Enumerations.MachineTypes.TS1800)
{
}