aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2023-03-16 18:17:48 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2023-03-16 18:17:48 +0200
commit3283eca8d5cb327779d53b6e1744e3440098bb35 (patch)
tree7999c277135507ec39f604ee39cab9d9104d477a /Software/Visual_Studio/PPC/Tango.PPC.UI
parentbf40501d42c26b3e4357800f57d4c19c09ae3788 (diff)
downloadTango-3283eca8d5cb327779d53b6e1744e3440098bb35.tar.gz
Tango-3283eca8d5cb327779d53b6e1744e3440098bb35.zip
Eurika UI. Changes in Job details according to figma. Created Job Status page - only GUI.
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI')
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml119
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml.cs77
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Events.pngbin0 -> 646 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Thread.pngbin0 -> 1239 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/input.pngbin0 -> 1011 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_copies.pngbin0 -> 978 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_length.pngbin0 -> 1150 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_weight.pngbin0 -> 1192 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/output.pngbin0 -> 995 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/spools.pngbin0 -> 1177 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/thread_type.pngbin0 -> 1223 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/ttime_left.pngbin0 -> 906 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj17
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs43
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml11
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml561
16 files changed, 710 insertions, 118 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml
new file mode 100644
index 000000000..72a7660ad
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml
@@ -0,0 +1,119 @@
+<UserControl x:Class="Tango.PPC.UI.Controls.RunningJobViewerEureka"
+ 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:local="clr-namespace:Tango.PPC.UI.Controls"
+ xmlns:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL"
+ mc:Ignorable="d"
+ d:DesignHeight="60" d:DesignWidth="500" Height="38" d:DataContext="{d:DesignInstance Type=local:RunningJobViewerEureka, IsDesignTimeCreatable=False}">
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="1*"/>
+ <ColumnDefinition Width="Auto"/>
+ </Grid.ColumnDefinitions>
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="1*" />
+ </Grid.RowDefinitions>
+
+ <ItemsControl ClipToBounds="False" ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=local:RunningJobViewerEureka},Path=RunningJobStatus.CurrentUnitSegments}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DisplayMarkers,Converter={StaticResource BooleanToVisibilityConverter}}">
+ <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=UserControl}" Path="RunningJobStatus.CurrentUnitTotalProgress"></Binding>
+ <Binding RelativeSource="{RelativeSource AncestorType=ItemsControl}" Path="ActualWidth"></Binding>
+ <Binding Path="LengthWithFactor"></Binding>
+ </MultiBinding>
+ </Grid.Width>
+
+ <TextBlock HorizontalAlignment="Center" FontSize="{StaticResource TangoSmallFontSize}">
+ <TextBlock.Style>
+ <Style TargetType="TextBlock">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Grid},Path=ActualWidth,Converter={StaticResource SmallerThanToBooleanConverter},ConverterParameter=20}" Value="True">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </TextBlock.Style>
+ <Run Text="{Binding LengthWithFactor,Mode=OneWay,StringFormat=N0}"></Run><Run Text="m"></Run>
+ </TextBlock>
+ </Grid>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <Border Grid.Row="1" x:Name="brush_border" ClipToBounds="False" CornerRadius="10" Margin="0 5 0 0" Background="{StaticResource TangoLightForegroundBrush}">
+ <!--<Border.Background>
+ <ImageBrush ImageSource="../Images/JobView/transparent_small.jpg" Stretch="None" TileMode="Tile" AlignmentX="Left" ViewportUnits="Absolute" Viewport="0,0,94,30" />
+ </Border.Background>-->
+ <Border.Clip>
+ <RectangleGeometry RadiusX="10" RadiusY="10">
+ <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>
+ <ItemsControl ClipToBounds="False" ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=local:RunningJobViewerEureka},Path=RunningJobStatus.CurrentUnitSegments}">
+ <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=UserControl}" Path="RunningJobStatus.CurrentUnitTotalProgress"></Binding>
+ <Binding RelativeSource="{RelativeSource AncestorType=ItemsControl}" Path="ActualWidth"></Binding>
+ <Binding Path="LengthWithFactor"></Binding>
+ </MultiBinding>
+ </Grid.Width>
+ <Rectangle Fill="{Binding SegmentBrush}"></Rectangle>
+ </Grid>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <Rectangle Stroke="{StaticResource TangoGrayBrush}" StrokeThickness="1" StrokeDashArray="5 5 5 5" RadiusX="8" RadiusY="8" />
+ </Grid>
+ </Border>
+ </Grid>
+
+ <Grid Grid.Column="1" VerticalAlignment="Bottom">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:RunningJobViewerEureka},Path=Job.JobType}" Value="{x:Static enumerations:JobTypes.Embroidery}" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:RunningJobViewerEureka},Path=IsActive}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+
+ <TextBlock Margin="10 0 0 -2" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}">
+ <Run Text="x"></Run><Run Text="{Binding RelativeSource={RelativeSource AncestorType=local:RunningJobViewerEureka},Path=Job.NumberOfUnits}"></Run>
+ </TextBlock>
+ </Grid>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml.cs
new file mode 100644
index 000000000..db6a8c178
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Controls/RunningJobViewerEureka.xaml.cs
@@ -0,0 +1,77 @@
+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.BL.Entities;
+using Tango.Integration.Operation;
+
+namespace Tango.PPC.UI.Controls
+{
+ /// <summary>
+ /// Interaction logic for RunningJobViewerEureka.xaml
+ /// </summary>
+ public partial class RunningJobViewerEureka : UserControl
+ {
+ /// <summary>
+ /// Maybe not necessary!
+ /// </summary>
+ public bool IsActive
+ {
+ get { return (bool)GetValue(IsActiveProperty); }
+ set { SetValue(IsActiveProperty, value); }
+ }
+ public static readonly DependencyProperty IsActiveProperty =
+ DependencyProperty.Register("IsActive", typeof(bool), typeof(RunningJobViewerEureka), new PropertyMetadata(false));
+
+ /// <summary>
+ /// Gets or sets a value indicating whether summary markers.
+ /// </summary>
+ public bool DisplayMarkers
+ {
+ get { return (bool)GetValue(DisplayMarkersProperty); }
+ set { SetValue(DisplayMarkersProperty, value); }
+ }
+ public static readonly DependencyProperty DisplayMarkersProperty =
+ DependencyProperty.Register("DisplayMarkers", typeof(bool), typeof(RunningJobViewerEureka), new PropertyMetadata(true));
+
+ /// <summary>
+ /// Gets or sets the job.
+ /// </summary>
+ public Job Job
+ {
+ get { return (Job)GetValue(JobProperty); }
+ set { SetValue(JobProperty, value); }
+ }
+ public static readonly DependencyProperty JobProperty =
+ DependencyProperty.Register("Job", typeof(Job), typeof(RunningJobViewerEureka), new PropertyMetadata(null));
+
+ /// <summary>
+ /// Gets or sets the running job status.
+ /// </summary>
+ public RunningJobStatus RunningJobStatus
+ {
+ get { return (RunningJobStatus)GetValue(RunningJobStatusProperty); }
+ set { SetValue(RunningJobStatusProperty, value); }
+ }
+ public static readonly DependencyProperty RunningJobStatusProperty =
+ DependencyProperty.Register("RunningJobStatus", typeof(RunningJobStatus), typeof(RunningJobViewerEureka), new PropertyMetadata(null));
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="RunningJobViewerEureka"/> class.
+ /// </summary>
+ public RunningJobViewerEureka()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Events.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Events.png
new file mode 100644
index 000000000..4f76e1c11
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Events.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Thread.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Thread.png
new file mode 100644
index 000000000..85d0718f0
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Thread.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/input.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/input.png
new file mode 100644
index 000000000..77dbab1c9
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/input.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_copies.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_copies.png
new file mode 100644
index 000000000..dc3cbf124
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_copies.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_length.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_length.png
new file mode 100644
index 000000000..97a177ef4
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_length.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_weight.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_weight.png
new file mode 100644
index 000000000..6eb0a6194
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_weight.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/output.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/output.png
new file mode 100644
index 000000000..53b317042
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/output.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/spools.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/spools.png
new file mode 100644
index 000000000..8bb977473
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/spools.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/thread_type.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/thread_type.png
new file mode 100644
index 000000000..1e2523a56
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/thread_type.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/ttime_left.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/ttime_left.png
new file mode 100644
index 000000000..55622f20f
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/ttime_left.png
Binary files differ
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 14a4d02c1..6249447c4 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
@@ -136,6 +136,9 @@
<Compile Include="Controls\MachineStatusControl.xaml.cs">
<DependentUpon>MachineStatusControl.xaml</DependentUpon>
</Compile>
+ <Compile Include="Controls\RunningJobViewerEureka.xaml.cs">
+ <DependentUpon>RunningJobViewerEureka.xaml</DependentUpon>
+ </Compile>
<Compile Include="Converters\AppBarItemConverter.cs" />
<Compile Include="Converters\ItemBaseConverter.cs" />
<Compile Include="Dialogs\BitResultsView.xaml.cs">
@@ -292,6 +295,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Controls\RunningJobViewerEureka.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Dialogs\BitResultsView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -534,6 +541,16 @@
<Resource Include="Images\waste_replace.png" />
<Resource Include="Images\JobProgressView\clock.png" />
<Resource Include="Images\JobProgressView\drop.png" />
+ <Resource Include="Images\Job Issues\input.png" />
+ <Resource Include="Images\Job Issues\job_copies.png" />
+ <Resource Include="Images\Job Issues\job_length.png" />
+ <Resource Include="Images\Job Issues\job_weight.png" />
+ <Resource Include="Images\Job Issues\output.png" />
+ <Resource Include="Images\Job Issues\spools.png" />
+ <Resource Include="Images\Job Issues\Thread.png" />
+ <Resource Include="Images\Job Issues\ttime_left.png" />
+ <Resource Include="Images\Job Issues\thread_type.png" />
+ <Resource Include="Images\Job Issues\Events.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/ViewModels/MachineStatusViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
index a0d6e2955..594f418a7 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
@@ -12,6 +12,8 @@ namespace Tango.PPC.UI.ViewModels
{
public class MachineStatusViewVM : PPCViewModel
{
+ #region Properties
+
private JobHandler _handler;
private Job _job;
@@ -34,11 +36,39 @@ namespace Tango.PPC.UI.ViewModels
set { _runningJobStatus = value; RaisePropertyChangedAuto(); }
}
+ private bool _isJobStatusViewEnable;
+
+ public bool IsJobStatusViewEnable
+ {
+ get { return _isJobStatusViewEnable; }
+ set { _isJobStatusViewEnable = value; RaisePropertyChangedAuto(); }
+ }
+
+ #endregion
+
+ #region Commands
+
public RelayCommand StopCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the job status view command.
+ /// </summary>
+ public RelayCommand JobStatusViewCommand { get; set; }
+
+ /// <summary>
+ /// Gets or sets the overview view command.
+ /// </summary>
+ public RelayCommand OverviewViewCommand { get; set; }
+
+ #endregion
+
public MachineStatusViewVM()
{
StopCommand = new RelayCommand(StopJob);
+ JobStatusViewCommand = new RelayCommand(JobStatusView);
+ OverviewViewCommand = new RelayCommand(OverviewView);
+
+ IsJobStatusViewEnable = true;
}
public override void OnApplicationStarted()
@@ -73,7 +103,7 @@ namespace Tango.PPC.UI.ViewModels
RunningJobStatus = e;
});
}
-
+
#region Public Methods
/// <summary>
@@ -96,6 +126,17 @@ namespace Tango.PPC.UI.ViewModels
_handler?.Cancel();
}
+ protected void JobStatusView()
+ {
+ IsJobStatusViewEnable = true;
+ }
+
+ protected void OverviewView()
+ {
+ IsJobStatusViewEnable = false;
+ }
+
+
#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 d496d4d14..f81b493ff 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutEurekaView.xaml
@@ -48,13 +48,6 @@
</Border>
<StackPanel>
<DockPanel>
- <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="Center" Margin="0 10 10 10" Width="157"></Image>
</DockPanel>
</StackPanel>
@@ -216,9 +209,9 @@
</Grid>
<Grid Background="Gainsboro" Grid.Column="2" Width="1280" Height="1280">
- <!--<Viewbox>-->
+ <Viewbox >
<local:MachineStatusView />
- <!--</Viewbox>-->
+ </Viewbox>
</Grid>
<Grid Grid.Column="1" Background="{StaticResource TangoPrimaryBackgroundBrush}">
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml
index 0879fcaab..ca7aa957b 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineStatusView.xaml
@@ -9,141 +9,486 @@
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="117" Background="{StaticResource TangoPrimaryBackgroundBrush}">
- <Grid.Effect>
- <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
- </Grid.Effect>
+ d:DesignHeight="1280" d:DesignWidth="932" d:DataContext="{d:DesignInstance Type=vm:MachineStatusViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MachineStatusViewVM}">
+ <UserControl.Resources>
+
+ <Style x:Key="LinkRoundButtonStyle" TargetType="{x:Type touch:TouchButton}">
+ <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
+ <Setter Property="CornerRadius" Value="23"></Setter>
+ <Setter Property="EnableDropShadow" Value="False"></Setter>
+ <Setter Property="Width" Value="160"/>
+ <Setter Property="Height" Value="46"/>
+ <Setter Property="RenderOptions.EdgeMode" Value="Unspecified"/>
+ </Style>
+
+ </UserControl.Resources>
+ <Grid Width="1280" Height="1280">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="32"></ColumnDefinition>
+ <ColumnDefinition Width="1*"></ColumnDefinition>
+ </Grid.ColumnDefinitions>
+ <Border>
+ <Border.Background>
+ <LinearGradientBrush StartPoint="0,0" EndPoint="1,0" >
+ <GradientStop Color="Gainsboro" Offset="0" />
+ <GradientStop Color="{StaticResource TangoMidBackgroundColor}" Offset="1.0" />
- <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>
+ </LinearGradientBrush>
+ </Border.Background>
+ </Border>
+ <Grid Grid.Column="1" Background="{StaticResource TangoMidBackgroundBrush}" Margin="0 0 0 0" >
+ <Grid Margin="0 18 0 0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="56"></RowDefinition>
+ <RowDefinition Height="1*"></RowDefinition>
+ </Grid.RowDefinitions>
+
+ <Border x:Name="StatusTabs" HorizontalAlignment="Center" VerticalAlignment="Top" Width="330" BorderThickness="2" CornerRadius ="28" BorderBrush="{StaticResource TangoNotificationBorderBrush}">
+ <StackPanel Orientation="Horizontal" Margin="3">
+ <touch:TouchButton EnableDropShadow="False" Command="{Binding JobStatusViewCommand}">
+ <TextBlock Text="Job Status"></TextBlock>
+ <touch:TouchButton.Style>
+ <Style TargetType="{x:Type touch:TouchButton}" BasedOn="{StaticResource LinkRoundButtonStyle}">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsJobStatusViewEnable}" Value="False">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="BorderBrush" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoDisabledForegroundBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchButton.Style>
+ </touch:TouchButton>
+ <touch:TouchButton Margin="0 0 0 0" Command="{Binding OverviewViewCommand}">
+ <touch:TouchButton.Style>
+ <Style TargetType="{x:Type touch:TouchButton}" BasedOn="{StaticResource LinkRoundButtonStyle}">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsJobStatusViewEnable}" Value="True">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="BorderBrush" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoDisabledForegroundBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchButton.Style>
+ <TextBlock Text="Overview"></TextBlock>
+ </touch:TouchButton>
+ </StackPanel>
+ </Border>
+ <Canvas Width="300" VerticalAlignment="Top" HorizontalAlignment="Right" Height="56" Margin="0 -30 -60 0">
+ <Grid Panel.ZIndex="100" DockPanel.Dock="Top" Height="117" Background="Transparent">
+ <Grid HorizontalAlignment="Right" Margin="0 0 0 0">
+ <StackPanel Orientation="Horizontal">
+ <Grid>
+ <StackPanel x:Name="techPressElement" VerticalAlignment="Center" Background="Transparent" Orientation="Horizontal">
+ <TextBlock Margin="0 10 20 0" FontSize="{StaticResource TangoComboBoxItemFontSize}" Text="{Binding MachineProvider.MachineOperator.Status,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock>
+ <locaControls:MachineStatusControl HorizontalAlignment="Center" DataContext="{Binding MachineProvider.MachineOperator}" />
+
+ </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>
+ </Canvas>
+ <Grid x:Name="JobStatus" Margin="32 50 60 0" Grid.Row="1" Visibility="{Binding IsJobStatusViewEnable, Converter={StaticResource BooleanToVisibilityConverter}}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="95"></RowDefinition>
+ <RowDefinition Height="Auto"></RowDefinition>
+ <RowDefinition Height="Auto"></RowDefinition>
+ <RowDefinition Height="Auto"></RowDefinition>
+ <RowDefinition Height="100"></RowDefinition>
+
+ </Grid.RowDefinitions>
+ <Grid Margin=" 0 0 0 20">
+ <DockPanel>
+ <touch:TouchButton DockPanel.Dock="Right" VerticalAlignment="Top" Style="{StaticResource TangoLinkButton}" Foreground="{StaticResource TangoPrimaryAccentBrush}">
+ <StackPanel Orientation="Vertical">
+ <TextBlock Margin="5 0 0 0" FontSize="{StaticResource TangoButtonFontSize}" VerticalAlignment="Bottom">Go To Job</TextBlock>
+ <Rectangle Height="3" Fill="{StaticResource TangoPrimaryAccentBrush}" VerticalAlignment="Bottom" Margin="0 2 0 0"></Rectangle>
</StackPanel>
+ </touch:TouchButton>
+ <TextBlock DockPanel.Dock="Left" FontSize="{StaticResource TangoLargeHeaderFontSize}" Text="{Binding Job.Name, TargetNullValue='-', FallbackValue='-'}"> </TextBlock>
+ </DockPanel>
+ <Border Height="2" Background="{StaticResource TangoLightBorderBrush}" VerticalAlignment="Bottom" Margin="0 2 0 0" CornerRadius="2"></Border>
+ </Grid>
+
+ <DockPanel Grid.Row="1" Margin="0 25 0 0">
+ <!--<Grid Panel.ZIndex="100" DockPanel.Dock="Top" Height="117" Background="{StaticResource TangoPrimaryBackgroundBrush}">
+ <Grid.Effect>
+ <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
+ </Grid.Effect>
- <Grid IsHitTestVisible="False" HorizontalAlignment="Center">
- <Grid.Style>
- <Style TargetType="Grid">
- <Setter Property="Visibility" Value="Hidden"></Setter>
+ <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>-->
+
+ <Border x:Name="TotalSpool" DockPanel.Dock="Right" HorizontalAlignment="Center" VerticalAlignment="Top" Width="164" BorderThickness="2" CornerRadius ="14" BorderBrush="{StaticResource TangoNotificationBorderBrush}">
+ <StackPanel Orientation="Horizontal" Margin="3">
+ <touch:TouchButton EnableDropShadow="False" Command="{Binding JobStatusViewCommand}" Width="80" Height="24" CornerRadius="12">
+ <TextBlock Text="Total"></TextBlock>
+ <touch:TouchButton.Style>
+ <Style TargetType="{x:Type touch:TouchButton}" BasedOn="{StaticResource LinkRoundButtonStyle}">
<Style.Triggers>
- <DataTrigger Binding="{Binding MachineProvider.MachineOperator.MachineStatus.AutoInkFillingEnabled}" Value="True">
- <Setter Property="Visibility" Value="Visible"></Setter>
+ <DataTrigger Binding="{Binding IsJobStatusViewEnable}" Value="False">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="BorderBrush" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoDisabledForegroundBrush}"></Setter>
</DataTrigger>
- <DataTrigger Binding="{Binding MachineProvider.MachineOperator.IsConnected}" Value="False">
- <Setter Property="Visibility" Value="Hidden"></Setter>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchButton.Style>
+ </touch:TouchButton>
+ <touch:TouchButton Margin="0 0 0 0" Width="80" Height="24" CornerRadius="12">
+ <touch:TouchButton.Style>
+ <Style TargetType="{x:Type touch:TouchButton}" BasedOn="{StaticResource LinkRoundButtonStyle}">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsJobStatusViewEnable}" Value="True">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="BorderBrush" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource TangoDisabledForegroundBrush}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
- </Grid.Style>
- </Grid>
- </Grid>
- </StackPanel>
- </Grid>
- </Grid>
+ </touch:TouchButton.Style>
+ <TextBlock Text="Spool"></TextBlock>
+ </touch:TouchButton>
+ </StackPanel>
+ </Border>
+ <UniformGrid DockPanel.Dock="Left" Columns="1" Rows="5" HorizontalAlignment="Left" Margin="0 0 0 0" Height="420" VerticalAlignment="Top">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/thread_type.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Thread Type</TextBlock>
+ <TextBlock Text="{Binding Job.Rml.Name, TargetNullValue='-', FallbackValue='-'}" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
- <Grid Background="{StaticResource TangoMidBackgroundBrush}">
- <StackPanel VerticalAlignment="Center">
- <Grid>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/job_length.png" Stretch="None" VerticalAlignment="Top" HorizontalAlignment="Left"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Job Length</TextBlock>
+ <TextBlock Text="{Binding Job.LengthIncludingNumberOfUnits, TargetNullValue='-', FallbackValue='-'}" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/job_weight.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Job Weight</TextBlock>
+ <TextBlock Text="10 kg" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/job_copies.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Copies</TextBlock>
+ <TextBlock Text="{Binding Job.NumberOfUnits, TargetNullValue='-', FallbackValue='-'}" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/spools.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Spools</TextBlock>
+ <TextBlock Text="4" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </UniformGrid>
+ <Grid Background="{StaticResource TangoMidBackgroundBrush}" VerticalAlignment="Top">
+ <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: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>
+ <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 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>
+ <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">
+ <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>
+ </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 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>
- </StackPanel>
- <Rectangle Margin="0 10 0 0" Width="250" Stroke="{StaticResource TangoDividerBrush}" />
+ <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>
+ <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">
+ <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>
+ </TextBlock>
+ </StackPanel>
+ </Grid>
+
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
+ <touch:TouchButton Content="Abort" Margin="0 20 0 0" Height="50" Width="164" CornerRadius="30" Command="{Binding StopCommand}" IsEnabled="true" BorderThickness="1" BorderBrush="{StaticResource TangoPrimaryAccentBrush}" EnableDropShadow="False">
+ <touch:TouchButton.Style >
+ <Style TargetType="touch:TouchButton" >
+ <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
+ <Setter Property="Background" Value="Transparent"/>
+ <Style.Triggers>
+ <Trigger Property="IsEnabled" Value="False">
+ <Setter Property="Foreground" Value="{StaticResource TangoDisabledForegroundBrush}"></Setter>
+ <Setter Property="BorderBrush" Value="{StaticResource TangoDisabledBackgroundBrush}"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchButton.Style>
+ </touch:TouchButton>
+ <touch:TouchButton Content="Stop" Margin="20 20 0 0" Height="50" Width="164" CornerRadius="30" Command="{Binding StopCommand}" IsEnabled="{Binding MachineProvider.MachineOperator.IsPrinting}" EnableDropShadow="False">
+ <touch:TouchButton.Style >
+ <Style TargetType="touch:TouchButton" >
+ <Setter Property="Foreground" Value="{StaticResource TangoLightForegroundBrush}"></Setter>
+ <Setter Property="Background" Value="{StaticResource TangoPrimaryAccentBrush}"/>
+ <Style.Triggers>
+ <Trigger Property="IsEnabled" Value="False">
+ <Setter Property="Foreground" Value="{StaticResource TangoDisabledForegroundBrush}"></Setter>
+ <Setter Property="Background" Value="{StaticResource TangoDisabledBackgroundBrush}"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchButton.Style>
+ </touch:TouchButton>
</StackPanel>
+ </StackPanel>
</Grid>
+ </DockPanel>
+ <StackPanel x:Name="Job_Progress" Grid.Row="2" Margin="0 25 0 0" Orientation="Vertical">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/Thread.png" Stretch="None" VerticalAlignment="Top"/>
+ <TextBlock Text="Total Job Progress" FontWeight="DemiBold" Margin="15 10 0 0" FontSize="{StaticResource TangoComboBoxItemFontSize}" VerticalAlignment="Top"></TextBlock>
+ <Rectangle Height="2" Fill="{StaticResource TangoLightBorderBrush}" Width="1010" VerticalAlignment="Top" Margin="15 20 0 0"></Rectangle>
+ </StackPanel>
+ <Grid Margin="0 25 0 0">
+ <locaControls:RunningJobViewerEureka Height="26" DisplayMarkers="False" IsActive="True" Job="{Binding Job}" RunningJobStatus="{Binding RunningJobStatus}" />
+
+ <!--<TextBlock Margin="0 0 -50 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}" HorizontalAlignment="Right">
+ <Run Text="x"></Run><Run Text="{Binding RunningJobStatus.RemainingUnits}"></Run>
+ </TextBlock>-->
+ </Grid>
+ <UniformGrid DockPanel.Dock="Bottom" Columns="4" Rows="1" HorizontalAlignment="Left" Margin="0 35 0 0" Height="Auto" VerticalAlignment="Top" Width="1200">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/job_length.png" Stretch="None" VerticalAlignment="Top" HorizontalAlignment="Left"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Job Length</TextBlock>
+ <TextBlock Text="{Binding Job.LengthIncludingNumberOfUnits, TargetNullValue='-', FallbackValue='-'}" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/job_weight.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Job Weight</TextBlock>
+ <TextBlock Text="10 kg" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/job_copies.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Copies</TextBlock>
+ <TextBlock Text="{Binding Job.NumberOfUnits,TargetNullValue='-', FallbackValue='-'}" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
+ <Image Source="../Images/Job Issues/ttime_left.png" Stretch="None" VerticalAlignment="Top"/>
+ <StackPanel Orientation="Vertical" Margin="15 0 0 0">
+ <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoDefaultFontSize}">Time Left</TextBlock>
+ <TextBlock Text="14:30 hrs" FontWeight="DemiBold" FontSize="{StaticResource TangoComboBoxItemFontSize}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </UniformGrid>
- <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 Grid.Row="3" Margin="0 30 0 0">
+
+ <Rectangle Fill="{StaticResource TangoLightBorderBrush}" Height="2" VerticalAlignment="Top"></Rectangle>
+ <Grid Margin="0 40 0 0">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="1*"/>
+ <ColumnDefinition Width="2*"/>
+ </Grid.ColumnDefinitions>
+ <StackPanel Orientation="Vertical">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="../Images/Job Issues/input.png" Stretch="None" VerticalAlignment="Top" HorizontalAlignment="Left"/>
+ <TextBlock VerticalAlignment="Center" Margin="15 0 0 0" FontSize="{StaticResource TangoDefaultFontSize}">Input</TextBlock>
+ </StackPanel>
+ <UniformGrid Columns="3" Rows="1" Margin="0 30 0 0" Width="180" HorizontalAlignment="Left">
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="Gray" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">L</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="red" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">A</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="Blue" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">B</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ </UniformGrid>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Grid.Column="1" Margin="60 0 0 0">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="../Images/Job Issues/output.png" Stretch="None" VerticalAlignment="Top" HorizontalAlignment="Left" Height="Auto"/>
+ <TextBlock VerticalAlignment="Center" Margin="15 0 0 0" FontSize="{StaticResource TangoDefaultFontSize}" >Output</TextBlock>
+ </StackPanel>
+ <UniformGrid Columns="7" Rows="1" Margin="0 30 0 0" Width="440" HorizontalAlignment="Left">
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="Cyan" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">C</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="Magenta" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">M</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="Yellow" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">Y</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="Black" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">K</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="White" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">-</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="White" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">-</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ <StackPanel Orientation="Vertical" Width="50" HorizontalAlignment="Left">
+ <Border Width="50" Height="50" Background="White" CornerRadius="16" HorizontalAlignment="Left"></Border>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">-</TextBlock>
+ <TextBlock Margin="0 10 0 0 " HorizontalAlignment="Center">86</TextBlock>
+ </StackPanel>
+ </UniformGrid>
+ </StackPanel>
+
+ </Grid>
+ </Grid>
</Grid>
- </DockPanel>
+
+ <Grid x:Name="Overview" Grid.Row="1" Visibility="{Binding IsJobStatusViewEnable, Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+
+ </Grid>
+ </Grid>
+ </Grid>
</Grid>
</UserControl>