diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2023-03-16 18:17:48 +0200 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2023-03-16 18:17:48 +0200 |
| commit | 3283eca8d5cb327779d53b6e1744e3440098bb35 (patch) | |
| tree | 7999c277135507ec39f604ee39cab9d9104d477a /Software/Visual_Studio | |
| parent | bf40501d42c26b3e4357800f57d4c19c09ae3788 (diff) | |
| download | Tango-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')
22 files changed, 922 insertions, 202 deletions
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 d020e13ac..d8b3d535b 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 @@ -667,7 +667,7 @@ </Grid> </Border> <Border Visibility="{Binding IsOpenVectorFineTuningDialog, Converter={StaticResource BooleanToVisibilityConverter}}"> - <local:VectorFineTuningDialog DataContext="{Binding VectorFineTuningDialogVM}" /> + <local:VectorFineTuningDialog DataContext="{Binding VectorFineTuningDialogVM}" Width="{Binding ActualWidth, ElementName=local:ColorSelectionView}" Height="{Binding ActualHeight, ElementName=local:colorSelectionView}"/> </Border> </Grid> </UserControl> diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs index d2ad7e96b..0009fce24 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/JobModel.cs @@ -335,6 +335,24 @@ namespace Tango.PPC.Jobs.Models get { return SpoolType.Guid; } } + private int _copies; + + public int Copies + { + get { return _copies; } + set { _copies = value; RaisePropertyChangedAuto(); } + } + + private int _devidedBySpools; + + public int DevidedBySpools + { + get { return _devidedBySpools; } + set { _devidedBySpools = value; RaisePropertyChangedAuto(); } + } + + + protected User _user; /// <summary> 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 19e6a22b2..788b1eca3 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 @@ -286,6 +286,8 @@ namespace Tango.PPC.Jobs.ViewModels public RelayCommand<SegmentsGroupModel> DeleteSegmentsGroupCommand { get; set; } public RelayCommand<SegmentsGroupModel> RepeatSegmentsGroupCommand { get; set; } + public RelayCommand NavigateBackToJobs { get; set; } + #endregion #region collapsed mode commands @@ -359,6 +361,7 @@ namespace Tango.PPC.Jobs.ViewModels UndoCommand = new RelayCommand(Undo);//(x) => { return UndoRedoManager.Instance.IsEnableUndoOperation(); } RedoCommand = new RelayCommand(Redo);//(x) => { return UndoRedoManager.Instance.IsEnableRedoOperation();} + NavigateBackToJobs = new RelayCommand(NavigateBack); IsFullMode = true; IsSummaryOpened = true; _not_show_warning = false; @@ -1281,6 +1284,19 @@ namespace Tango.PPC.Jobs.ViewModels } } + private async void NavigateBack() + { + if (IsFree ) + { + if(await OnNavigateBackRequest()) + { + LogManager.Log("Back command to Jobs pressed."); + await NavigationManager.NavigateTo<JobsV2Module>(nameof(JobsView)); + } + + } + } + public override void OnApplicationReady() { base.OnApplicationReady(); 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 index 6999c54d7..f8e881df7 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Views/JobEurekaView.xaml @@ -790,12 +790,66 @@ <RowDefinition Height="Auto"/> <RowDefinition Height="1*"/> </Grid.RowDefinitions> + <touch:TouchLoadingPanel x:Name="GeneralSettings" Grid.Row="1" IsLoading="{Binding IsBusy}" Margin="10 7 10 0"> + + <Border Grid.Row="1" x:Name="jobDetailsBorder" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="2" BorderBrush="{StaticResource TangoLightBorderBrush}" Margin="0 7 0 7"> - <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" > + <StackPanel Orientation="Vertical"> + <StackPanel Orientation="Horizontal" MinHeight="55" VerticalAlignment="Top"> + <StackPanel.Style> + <Style TargetType="StackPanel"> + <Setter Property="Margin" Value="20 10 10 0"></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/job-details.png" Width="30" Height="30" /> + <TextBlock FontWeight="Medium" Margin="20 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoExpanderHeaderFontSize}">General Settings</TextBlock> + </StackPanel> + <Rectangle Height="2" Margin="0 0 0 0" Fill="{StaticResource TangoDividerBrush}" VerticalAlignment="Bottom"></Rectangle> + + <StackPanel Orientation="Vertical" VerticalAlignment="Top"> + <DockPanel HorizontalAlignment="Stretch" Margin="60 20 60 0"> + <TextBlock HorizontalAlignment="Left" Margin="0 10 0 0" Text="Thread Type" FontSize="{StaticResource TangoDialogFontSize}" Width="145"/> + <Border Margin="20 0 0 0" BorderThickness="1" Height="44" CornerRadius="12" BorderBrush="{StaticResource TangoMidAccentBrush}"> + <touch:TouchComboBox Margin="20 0 10 10" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRML ,Mode=TwoWay}" Focusable="False" KeyboardNavigation.TabNavigation ="None"> + <touch:TouchComboBox.ItemTemplate> + <DataTemplate> + <TextBlock Margin="20 10 10 10" TextTrimming="CharacterEllipsis" FontSize="{StaticResource TangoDialogFontSize}" Text="{Binding FinalName}"/> + </DataTemplate> + </touch:TouchComboBox.ItemTemplate> + <touch:TouchComboBox.SelectedItemTemplate> + <DataTemplate> + <TextBlock Margin="0 0 0 5" FontSize="{StaticResource TangoDialogFontSize}" Text="{Binding FinalName}" VerticalAlignment="Center"></TextBlock> + </DataTemplate> + </touch:TouchComboBox.SelectedItemTemplate> + </touch:TouchComboBox> + </Border> + </DockPanel> + </StackPanel> + <DockPanel HorizontalAlignment="Stretch" Margin="60 20 60 20"> + <StackPanel Orientation="Horizontal" DockPanel.Dock="Right"> + <TextBlock HorizontalAlignment="Left" Margin="20 10 0 0" Text="Divided By Spools" FontSize="{StaticResource TangoDialogFontSize}" Width="Auto"/> + <Border Margin="20 0 0 0" BorderThickness="1" Height="44" CornerRadius="12" BorderBrush="{StaticResource TangoMidAccentBrush}" Width="120" DockPanel.Dock="Right"> + <touch:TouchTextBox BorderBrush="Transparent" Margin="0 6 0 0" FontSize="24" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding JobModel.DevidedBySpools}" ></touch:TouchTextBox> + </Border> + </StackPanel> + <StackPanel Orientation="Horizontal"> + <TextBlock HorizontalAlignment="Left" Margin="0 10 0 0" Text="Copies" FontSize="{StaticResource TangoDialogFontSize}" Width="145"/> + <Border Margin="20 0 0 0" BorderThickness="1" Height="44" CornerRadius="12" BorderBrush="{StaticResource TangoMidAccentBrush}" Width="120"> + <touch:TouchTextBox BorderBrush="Transparent" Margin="0 6 0 0" FontSize="24" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding JobModel.Copies}"></touch:TouchTextBox> - <Grid x:Name="job_details" HorizontalAlignment="Stretch" Height="72"> + </Border> + </StackPanel> + + </DockPanel> + </StackPanel> - <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}" + <!--<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"> @@ -827,32 +881,90 @@ <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> + </touch:TouchButton>--> </Grid> + </Border> - + + </touch:TouchLoadingPanel> <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 Grid.Row="0" 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="Center"> + <StackPanel.Style> + <Style TargetType="StackPanel"> + <Setter Property="Margin" Value="20 25 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="30" /> + <TextBlock FontWeight="Medium" Margin="20 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoExpanderHeaderFontSize}">Color Properties</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> + <Canvas Width="250" Height="70" Margin="0 0 40 0" HorizontalAlignment="Right" VerticalAlignment="Center"> + <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0 20 20 10"> + <TextBlock FontSize="20" VerticalAlignment="Center" >Advanced Options</TextBlock> + <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGreenAccent}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="20 0 110 0" Width="90" IsChecked="{Binding IsFullMode, Converter={StaticResource BooleanInverseConverter}}"></touch:TouchToggleSlider> + </StackPanel> + </Canvas> + </Grid> + <Grid Grid.Row="1" Margin="0 4 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" Padding="0" BorderThickness="0" 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="1"> <Grid > - <DockPanel VerticalAlignment="Top" x:Name="collapsedToolbar" Margin="0 2 20 0" HorizontalAlignment="Stretch" Height="66"> + <DockPanel VerticalAlignment="Top" x:Name="collapsedToolbar" Margin="30 2 30 8" Height="80" HorizontalAlignment="Stretch" Visibility="{Binding IsFullMode, Converter={StaticResource BooleanToVisibilityInverseConverter}}"> - <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 DockPanel.Dock="Right" Height="80" CornerRadius="22" BorderBrush="{StaticResource TangoDividerBrush}" BorderThickness="1" Background="{StaticResource TangoPrimaryBackgroundBrush}" > <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" > + <UniformGrid Columns="5" 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"/> @@ -885,7 +997,7 @@ </touch:TouchButton> </UniformGrid> </Border> - <Grid DockPanel.Dock="Left" HorizontalAlignment="Left" Margin="40 0 30 0"> + <!--<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"> @@ -898,83 +1010,20 @@ </Border> </touch:TouchButton> </StackPanel> - </Grid> + </Grid>--> </DockPanel> - <Canvas Width="70" Height="70" Margin="0 3 40 0" HorizontalAlignment="Right" VerticalAlignment="Center"> + <!--<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 & 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> + </Canvas>--> </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"> + <Border Grid.Row="2" 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 > @@ -1062,10 +1111,27 @@ </Border.Effect> <Grid> - <TextBlock Text="{Binding JobModel.Name,FallbackValue='Job Name'}" ToolTip="{Binding JobModel.Name}" VerticalAlignment="Center" FontSize="{StaticResource TangoHeaderFontSize}" FontWeight="SemiBold"></TextBlock> + + <DockPanel> + + <touch:TouchIconButton Icon="ArrowLeftSolid" IsHitTestVisible="{Binding NavigationManager.IsNavigating,Converter={StaticResource BooleanInverseConverter}}" IsEnabled="{Binding NavigationManager.CanNavigateBack}" Width="40" Height="40" Padding="10" Margin="10 0 10 0" Command="{Binding NavigateBackToJobs}" 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> + <TextBlock Margin="0 0 40 0" MaxWidth="410" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding JobModel.Name,FallbackValue='Job Name'}" ToolTip="{Binding JobModel.Name}" VerticalAlignment="Center" FontSize="{StaticResource TangoHeaderFontSize}" FontWeight="SemiBold"></TextBlock> + <touch:TouchButton Margin="0 0 0 0" VerticalAlignment="Center" Width="50" Height="50" HorizontalAlignment="Left" EnableDropShadow="False" Background="Transparent" BorderThickness="0" Command="{Binding EditJobDetailsCommand}" Foreground="{StaticResource TangoKeyboardKeyDarkTextBrush}" + components:TransformationHelper.TransformWhenPressed ="False"> + <Border Height="20" Width="20" Margin="0 0 0 0" BorderThickness="0" Background="Transparent" HorizontalAlignment="Center"> + <Image Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" Source="../Images/JobView/job_details.png"/> + </Border> + </touch:TouchButton> + </DockPanel> <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> + <touch:TouchButton Content="DYE" VerticalAlignment="Center" Height="55" Canvas.Top="10" Width="200" CornerRadius="30" BlurRadius="10" EnableDropShadow="False" Command="{Binding DyeCommand}" IsEnabled="{Binding MachineProvider.MachineOperator.CanPrint}"></touch:TouchButton> </Canvas> </Grid> </Border> 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 Binary files differnew file mode 100644 index 000000000..4f76e1c11 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Events.png 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 Binary files differnew file mode 100644 index 000000000..85d0718f0 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/Thread.png 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 Binary files differnew file mode 100644 index 000000000..77dbab1c9 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/input.png 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 Binary files differnew file mode 100644 index 000000000..dc3cbf124 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_copies.png 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 Binary files differnew file mode 100644 index 000000000..97a177ef4 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_length.png 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 Binary files differnew file mode 100644 index 000000000..6eb0a6194 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/job_weight.png 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 Binary files differnew file mode 100644 index 000000000..53b317042 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/output.png 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 Binary files differnew file mode 100644 index 000000000..8bb977473 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/spools.png 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 Binary files differnew file mode 100644 index 000000000..1e2523a56 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/thread_type.png 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 Binary files differnew file mode 100644 index 000000000..55622f20f --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/Job Issues/ttime_left.png 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> diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchToggleSlider.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchToggleSlider.xaml index 2f758ec8c..7d26fdcff 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/TouchToggleSlider.xaml +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchToggleSlider.xaml @@ -132,4 +132,31 @@ </Style.Triggers> </Style> + <Style x:Key="TangoToggleButtonGreenAccent" TargetType="{x:Type local:TouchToggleSlider}" BasedOn="{StaticResource {x:Type local:TouchToggleSlider}}"> + <Setter Property="BorderBrush" Value="{StaticResource TangoGrayTextBrush}"></Setter> + <Setter Property="ThumbBrush" Value="{StaticResource TangoPrimaryBackgroundBrush}"></Setter> + <Setter Property="CheckedBackground" Value="{StaticResource TangoGreenBrush}"/> + <Setter Property="UncheckedBackground" Value="{StaticResource TangoDividerBrush}"/> + <Style.Triggers> + <Trigger Property="IsChecked" Value="True"> + <Trigger.EnterActions> + <BeginStoryboard> + <Storyboard> + <ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" To="{StaticResource TangoGrayTextColor}" Duration="00:00:0.2"></ColorAnimation> + <ColorAnimation Storyboard.TargetProperty="ThumbBrush.Color" To="{StaticResource TangoPrimaryBackgroundColor}" Duration="00:00:0.2"></ColorAnimation> + </Storyboard> + </BeginStoryboard> + </Trigger.EnterActions> + <Trigger.ExitActions> + <BeginStoryboard> + <Storyboard> + <ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" To="{StaticResource TangoGrayTextColor}" Duration="00:00:0.2"></ColorAnimation> + <ColorAnimation Storyboard.TargetProperty="ThumbBrush.Color" To="{StaticResource TangoPrimaryBackgroundColor}" Duration="00:00:0.2"></ColorAnimation> + </Storyboard> + </BeginStoryboard> + </Trigger.ExitActions> + </Trigger> + </Style.Triggers> + </Style> + </ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Touch/Resources/Fonts.xaml b/Software/Visual_Studio/Tango.Touch/Resources/Fonts.xaml index f8db0094f..e1f249008 100644 --- a/Software/Visual_Studio/Tango.Touch/Resources/Fonts.xaml +++ b/Software/Visual_Studio/Tango.Touch/Resources/Fonts.xaml @@ -29,4 +29,5 @@ <sys:Double x:Key="TangoMenuItemFontSize">27</sys:Double> <sys:Double x:Key="TangoLargeFontSize">46</sys:Double> + <sys:Double x:Key="TangoLargeHeaderFontSize">42</sys:Double> </ResourceDictionary>
\ No newline at end of file |
