aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/Views
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-05-27 19:33:15 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-05-27 19:33:15 +0300
commite571f20e27c4fca6bb6efe03d6427a1f332f9830 (patch)
treeb16041b76ea3b4e8368039c9396f9bbf9624dcc2 /Software/Visual_Studio/PPC/Tango.PPC.UI/Views
parent157e0685abb2e7b22b6584cdc7d6f5838ed0a808 (diff)
downloadTango-e571f20e27c4fca6bb6efe03d6427a1f332f9830.tar.gz
Tango-e571f20e27c4fca6bb6efe03d6427a1f332f9830.zip
Working on panel pc.
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/Views')
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml94
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml.cs28
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml119
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml.cs31
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml18
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml.cs28
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml18
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml.cs31
8 files changed, 367 insertions, 0 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml
new file mode 100644
index 000000000..8062280de
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml
@@ -0,0 +1,94 @@
+<UserControl x:Class="Tango.PPC.UI.Views.JobsView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
+ xmlns:global="clr-namespace:Tango.PPC.UI"
+ xmlns:keyboard="clr-namespace:Tango.SharedUI.Keyboard;assembly=Tango.SharedUI"
+ xmlns:converters="clr-namespace:Tango.PPC.Common.Converters;assembly=Tango.PanelPC.Common"
+ xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
+ xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
+ xmlns:sys="clr-namespace:System;assembly=mscorlib"
+ xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:local="clr-namespace:Tango.PPC.UI.Views"
+ mc:Ignorable="d"
+ d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:JobsViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.JobsViewVM}">
+
+ <UserControl.Resources>
+ <converters:SegmentsToPieConverter x:Key="SegmentsToPieConverter" />
+ <sharedConverters:DateTimeUTCToShortDateConverter x:Key="DateTimeUTCToShortDateConverter" />
+ </UserControl.Resources>
+
+ <Grid Background="{StaticResource TangoMidBackgroundBrush}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="82"/>
+ <RowDefinition Height="1*"/>
+ </Grid.RowDefinitions>
+
+ <Border Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}">
+ <Border.Effect>
+ <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
+ </Border.Effect>
+ <TextBlock VerticalAlignment="Center" Margin="20" FontSize="25" FontWeight="SemiBold">JOBS</TextBlock>
+ </Border>
+
+ <Grid Grid.Row="1">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="100"/>
+ <RowDefinition Height="1*"/>
+ </Grid.RowDefinitions>
+
+ <touch:TouchNavigationLinks VerticalAlignment="Bottom" Margin="20" FontSize="18" FontWeight="SemiBold">
+ <sys:String>READY TO DYE</sys:String>
+ <sys:String>NOT READY</sys:String>
+ <sys:String>ALL</sys:String>
+ </touch:TouchNavigationLinks>
+
+ <Grid Grid.Row="1">
+ <touch:TouchDataGrid ItemsSource="{Binding Jobs}" Margin="10" EnableDropShadow="True" ShadowColor="#ECECEC" AutoGenerateColumns="False" RowHeight="68" ColumnHeaderHeight="67">
+ <touch:TouchDataGrid.Columns>
+ <DataGridTemplateColumn>
+ <DataGridTemplateColumn.Header>
+ <Image Source="/Images/warning.png" Width="24" />
+ </DataGridTemplateColumn.Header>
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <Image Source="/Images/Job Issues/cyan.png" Width="38" />
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTextColumn Header="Status" Binding="{Binding Name}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Name" Width="295" Binding="{Binding Name}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Length (m)" Binding="{Binding Length,StringFormat=0.0}"></DataGridTextColumn>
+ <DataGridTemplateColumn Header="Colors" SortMemberPath="Segments.Count">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <ContentControl Content="{Binding Segments,Converter={StaticResource SegmentsToPieConverter}}" Width="23" Height="23"></ContentControl>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTextColumn Header="Updated" Binding="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateConverter}}"></DataGridTextColumn>
+ <DataGridTextColumn Binding="{Binding JobIndex}" Width="70" SortMemberPath="JobIndex">
+ <DataGridTextColumn.HeaderStyle>
+ <Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
+ <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
+ <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
+ <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
+ </Style>
+ </DataGridTextColumn.HeaderStyle>
+ <DataGridTextColumn.Header>
+ <Grid>
+ <Grid IsHitTestVisible="False">
+ <Rectangle HorizontalAlignment="Left" StrokeThickness="2" Stroke="{StaticResource TangoColumnDividerBrush}" />
+ <Image Source="/Images/arrows.png" Width="28" />
+ </Grid>
+ </Grid>
+ </DataGridTextColumn.Header>
+ </DataGridTextColumn>
+ </touch:TouchDataGrid.Columns>
+ </touch:TouchDataGrid>
+ </Grid>
+ </Grid>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml.cs
new file mode 100644
index 000000000..3ccb48c01
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/JobsView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.PPC.UI.Views
+{
+ /// <summary>
+ /// Interaction logic for JobsView.xaml
+ /// </summary>
+ public partial class JobsView : UserControl
+ {
+ public JobsView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml
new file mode 100644
index 000000000..2a6d1b52b
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml
@@ -0,0 +1,119 @@
+<UserControl x:Class="Tango.PPC.UI.Views.LayoutView"
+ 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.Views"
+ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
+ xmlns:fa="http://schemas.fontawesome.io/icons/"
+ xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
+ xmlns:global="clr-namespace:Tango.PPC.UI"
+ xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
+ xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
+ xmlns:keyboard="clr-namespace:Tango.Touch.Keyboard;assembly=Tango.Touch"
+ mc:Ignorable="d"
+ d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:LayoutViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.LayoutViewVM}">
+
+ <Grid>
+ <touch:TouchSideMenu x:Name="menu">
+ <touch:TouchSideMenu.MenuContent>
+ <Border x:Name="border" BorderThickness="0 0 1 0" BorderBrush="{StaticResource TangoDividerBrush}">
+ <DockPanel LastChildFill="False" Background="{StaticResource TangoPrimaryBackgroundBrush}">
+ <StackPanel MinWidth="300" DockPanel.Dock="Top">
+ <Grid>
+ <touch:TouchToggleButton Style="{StaticResource TouchToggleButtonHamburger}"
+ HorizontalAlignment="Right" Margin="16"
+ IsChecked="{Binding ElementName=menu,Path=IsOpened}" />
+
+ <StackPanel Margin="5 0 0 0" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
+ <Image Source="/Images/account.png" RenderOptions.BitmapScalingMode="Fant" VerticalAlignment="Center" Width="50" Height="50"></Image>
+ <StackPanel Margin="0 5 0 0">
+ <TextBlock FontSize="16" TextTrimming="CharacterEllipsis" MaxWidth="170" FontStyle="Italic" FontWeight="Bold" Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding AuthenticationProvider.CurrentUser.Contact.FullName}"></TextBlock>
+ <TextBlock FontSize="12" TextTrimming="CharacterEllipsis" MaxWidth="170" FontStyle="Italic" Margin="10 5 0 0" VerticalAlignment="Center">
+ <Run Text="{Binding AuthenticationProvider.CurrentUser.Organization.Name}"></Run>
+ ,
+ <Run Text="{Binding AuthenticationProvider.CurrentUser.Roles[0].Name}">
+ <Run.ToolTip>
+ <ItemsControl ItemsSource="{Binding AuthenticationProvider.CurrentUser.Roles}">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <StackPanel Orientation="Horizontal" Margin="2">
+ <fa:ImageAwesome Icon="User" Width="16" Height="16" />
+ <TextBlock Margin="5 0 0 0" Text="{Binding Name}"></TextBlock>
+ </StackPanel>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </Run.ToolTip>
+ </Run>
+ <Run>...</Run>
+ </TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+ <StackPanel Margin="0 16 0 0">
+ <ListBoxItem>
+ <i:Interaction.Triggers>
+ <i:EventTrigger EventName="PreviewMouseUp">
+ <i:InvokeCommandAction Command="{Binding HomeCommand}"></i:InvokeCommandAction>
+ </i:EventTrigger>
+ </i:Interaction.Triggers>
+ <StackPanel Orientation="Horizontal">
+ <fa:ImageAwesome VerticalAlignment="Center" Icon="Home" Width="32" Height="32"></fa:ImageAwesome>
+ <TextBlock FontSize="16" VerticalAlignment="Center" Margin="10 0 0 0">Home</TextBlock>
+ </StackPanel>
+ </ListBoxItem>
+ </StackPanel>
+ </StackPanel>
+
+ <StackPanel DockPanel.Dock="Bottom">
+ <Separator Margin="0 10 0 0" Background="Gainsboro" />
+ <ListBoxItem>
+ <i:Interaction.Triggers>
+ <i:EventTrigger EventName="PreviewMouseUp">
+ <i:InvokeCommandAction Command="{Binding SignoutCommand}"></i:InvokeCommandAction>
+ </i:EventTrigger>
+ </i:Interaction.Triggers>
+ <StackPanel Orientation="Horizontal">
+ <fa:ImageAwesome VerticalAlignment="Center" Icon="SignOut" Width="32" Height="32"></fa:ImageAwesome>
+ <TextBlock FontSize="16" VerticalAlignment="Center" Margin="10 0 0 0">Sign out</TextBlock>
+ </StackPanel>
+ </ListBoxItem>
+ </StackPanel>
+ </DockPanel>
+ </Border>
+ </touch:TouchSideMenu.MenuContent>
+
+ <DockPanel>
+ <Border BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}" DockPanel.Dock="Top">
+ <DockPanel>
+ <Border Padding="20" BorderThickness="0 0 1 0" BorderBrush="{StaticResource BorderColorBrush}">
+ <touch:TouchToggleButton Width="50" Height="50" Foreground="{StaticResource TangoPrimaryAccentBrush}" Style="{StaticResource TouchToggleButtonHamburger}" IsChecked="{Binding ElementName=menu,Path=IsOpened}">
+ <ToggleButton.Effect>
+ <DropShadowEffect ShadowDepth="15" BlurRadius="20" Color="Silver" />
+ </ToggleButton.Effect>
+ </touch:TouchToggleButton>
+ </Border>
+ <Grid>
+ <StackPanel HorizontalAlignment="Right" Margin="30 0" Orientation="Horizontal">
+ <touch:TouchButton Height="54" FontSize="20" Padding="0" Width="184" CornerRadius="30" BlurRadius="20">
+ DYE
+ </touch:TouchButton>
+ </StackPanel>
+ </Grid>
+ </DockPanel>
+ </Border>
+
+ <Grid Background="{StaticResource TangoMidBackgroundBrush}">
+ <Grid>
+ <keyboard:KeyboardView>
+ <controls:NavigationControl x:Name="NavigationControl" x:FieldModifier="public" TransitionAlwaysFades="False" TransitionType="Slide">
+ <local:JobsView controls:NavigationControl.NavigationName="JobsView"></local:JobsView>
+ </controls:NavigationControl>
+ </keyboard:KeyboardView>
+ </Grid>
+ </Grid>
+ </DockPanel>
+ </touch:TouchSideMenu>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml.cs
new file mode 100644
index 000000000..e6c778a92
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.PPC.UI.Views
+{
+ /// <summary>
+ /// Interaction logic for LayoutView.xaml
+ /// </summary>
+ public partial class LayoutView : UserControl
+ {
+ public static LayoutView Instance { get; private set; }
+
+ public LayoutView()
+ {
+ InitializeComponent();
+ Instance = this;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml
new file mode 100644
index 000000000..d50c42f7c
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml
@@ -0,0 +1,18 @@
+<UserControl x:Class="Tango.PPC.UI.Views.LoadingView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
+ xmlns:global="clr-namespace:Tango.PPC.UI"
+ xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
+ xmlns:local="clr-namespace:Tango.PPC.UI.Views"
+ mc:Ignorable="d"
+ d:DesignHeight="1280" d:DesignWidth="720" Background="White" d:DataContext="{d:DesignInstance Type=vm:LoadingViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.LoadingView}">
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <touch:TouchBusyIndicator IsIndeterminate="True" Value="0" Width="200" Height="200" StrokeThickness="10"></touch:TouchBusyIndicator>
+ <TextBlock FontSize="20" Margin="20" HorizontalAlignment="Center">Loading...</TextBlock>
+ </StackPanel>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml.cs
new file mode 100644
index 000000000..a1214a0df
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LoadingView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.PPC.UI.Views
+{
+ /// <summary>
+ /// Interaction logic for LoadingView.xaml
+ /// </summary>
+ public partial class LoadingView : UserControl
+ {
+ public LoadingView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml
new file mode 100644
index 000000000..9d264afae
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml
@@ -0,0 +1,18 @@
+<UserControl x:Class="Tango.PPC.UI.Views.MainView"
+ 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:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
+ xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
+ 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:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
+ <Grid>
+ <controls:NavigationControl TransitionAlwaysFades="True" TransitionType="Zoom" x:Name="NavigationControl" x:FieldModifier="public">
+ <local:LoadingView controls:NavigationControl.NavigationName="LoadingView"></local:LoadingView>
+ <local:LayoutView controls:NavigationControl.NavigationName="LayoutView"></local:LayoutView>
+ </controls:NavigationControl>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml.cs
new file mode 100644
index 000000000..cd7562d04
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.PPC.UI.Views
+{
+ /// <summary>
+ /// Interaction logic for MainView.xaml
+ /// </summary>
+ public partial class MainView : UserControl
+ {
+ public static MainView Instance { get; private set; }
+
+ public MainView()
+ {
+ InitializeComponent();
+ Instance = this;
+ }
+ }
+}