aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-02-21 20:21:57 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-02-21 20:21:57 +0200
commit956f9ea033553136ebf199fff30f288dc26fbeb0 (patch)
tree3780e906d8d4f12c5be3836e1704d93d8d4966bd /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views
parent808ce20dbd74862a75499ee0d4e87247ee4479b4 (diff)
downloadTango-956f9ea033553136ebf199fff30f288dc26fbeb0.tar.gz
Tango-956f9ea033553136ebf199fff30f288dc26fbeb0.zip
Working on machine studio update center..
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml4
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml4
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml188
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml.cs42
4 files changed, 237 insertions, 1 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml
index 2478c1155..aaf4accd4 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml
@@ -13,6 +13,10 @@
<Image Source="/Images/machine-trans.png" RenderOptions.BitmapScalingMode="Fant" Width="100"></Image>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="70" Foreground="{StaticResource AccentColorBrush}">Machine Studio</TextBlock>
+ <TextBlock Foreground="Gray" VerticalAlignment="Bottom" Margin="10 0 0 5" FontSize="16" FontWeight="SemiBold" FontStyle="Italic">
+ <Run>v</Run>
+ <Run Text="{Binding ApplicationManager.Version,Mode=OneWay}"></Run>
+ </TextBlock>
</StackPanel>
<TextBlock HorizontalAlignment="Right" FontSize="18" Margin="0 0 -50 0" Foreground="{StaticResource AccentColorBrush}">Twine Solutions</TextBlock>
<mahapps:ProgressRing Margin="20 60 20 40" Width="80" Height="80"></mahapps:ProgressRing>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
index 9a2cc37a4..355bdc1fd 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
@@ -126,7 +126,9 @@
<Separator/>
<Button Content="Open Module In New Window" IsEnabled="{Binding IsModuleLoaded}" Command="{Binding OpenModuleInWindowCommand}" CommandParameter="{Binding CurrentModule}" />
<Separator/>
- <Button Content="Exit" />
+ <Button Content="Update Center" Command="{Binding UpdateCenterCommand}" />
+ <Separator/>
+ <Button Content="Exit" Command="{Binding ExitCommand}" />
</StackPanel>
</materialDesign:PopupBox>
<Grid>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml
new file mode 100644
index 000000000..5b09d3381
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml
@@ -0,0 +1,188 @@
+<UserControl x:Class="Tango.MachineStudio.UI.Views.UpdateView"
+ 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:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:vm="clr-namespace:Tango.MachineStudio.UI.ViewModels"
+ xmlns:mahApps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:local="clr-namespace:Tango.MachineStudio.UI.Views"
+ mc:Ignorable="d"
+ d:DesignHeight="1080" d:DesignWidth="1920" DataContext="{Binding UpdateViewVM, Source={StaticResource Locator}}" Background="White" FontSize="20">
+ <Grid>
+ <Grid.Background>
+ <ImageBrush ImageSource="/Images/White-Abstract.png" />
+ </Grid.Background>
+ <Grid MaxWidth="1200" MaxHeight="700">
+ <DockPanel>
+ <Grid DockPanel.Dock="Top" HorizontalAlignment="Center">
+ <Grid.Effect>
+ <DropShadowEffect BlurRadius="100" ShadowDepth="0" Opacity="0.7" />
+ </Grid.Effect>
+ <StackPanel Orientation="Horizontal">
+ <Image Source="/Images/update.png" Width="100" />
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="70">Update Center</TextBlock>
+ </StackPanel>
+ </Grid>
+
+ <Grid DockPanel.Dock="Bottom">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
+ <Button MinWidth="140" Height="40" Style="{StaticResource MaterialDesignFlatButton}" Command="{Binding BackCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="KeyboardBackspace" Width="24" Height="24" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">BACK TO APPLICATION</TextBlock>
+ </StackPanel>
+ </Button>
+ </StackPanel>
+ </Grid>
+
+ <Grid>
+ <Border Margin="0 10 0 10" BorderThickness="0 0 0 2" BorderBrush="DimGray">
+ <ContentControl>
+ <ContentControl.Style>
+ <Style TargetType="ContentControl">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.CheckingForUpdate}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel VerticalAlignment="Center">
+ <mahApps:ProgressRing Width="120" Height="120" Foreground="DimGray" />
+ <TextBlock HorizontalAlignment="Center" Margin="0 30 0 0">Checking for updates...</TextBlock>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.UpdateAvailable}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <Image Source="/Images/new-version.png" Width="64"></Image>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
+ <TextBlock VerticalAlignment="Center" Margin="0 20 0 0">New version is available!</TextBlock>
+ </StackPanel>
+ <TextBlock FontSize="12" TextAlignment="Center" Padding="20" Margin="0 0 0 40">
+ <Run>A new version of Machine Studio is available to download</Run>
+ <LineBreak/>
+ <Run>Click 'Update' to start the update process.</Run>
+ </TextBlock>
+ <Button MinWidth="140" Height="40" Margin="0 0 0 0" Width="200" Command="{Binding UpdateCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Download" Width="24" Height="24" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">UPDATE</TextBlock>
+ </StackPanel>
+ </Button>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.Downloading}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <TextBlock HorizontalAlignment="Center">
+ <Run>Downloading version</Run>
+ <Run Text="{Binding LatestVersion,FallbackValue='0.0.0.0'}"></Run>
+ <Run>, please wait...</Run>
+ </TextBlock>
+ <ProgressBar Height="10" Foreground="DimGray" Margin="0 20 0 0" Maximum="100" Value="{Binding DownloadProgress}"></ProgressBar>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.Updating}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <TextBlock HorizontalAlignment="Center">
+ <Run>Updating Machine Studio, please wait...</Run>
+ </TextBlock>
+ <ProgressBar Height="10" Foreground="DimGray" Margin="0 20 0 0" Maximum="100" Value="{Binding DownloadProgress}"></ProgressBar>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.UpdateCompleted}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <materialDesign:PackIcon Kind="Check" Width="100" Height="100" Foreground="#1CBB1C" HorizontalAlignment="Center" />
+ <StackPanel Orientation="Horizontal">
+ <TextBlock VerticalAlignment="Center" Margin="0 20 0 0">Your version of Machine Studio is up to date!</TextBlock>
+ </StackPanel>
+
+ <TextBlock HorizontalAlignment="Center" Margin="0 10 0 0" FontSize="12">Please restart Machine Studio in order to apply the changes.</TextBlock>
+
+ <Button MinWidth="140" Height="40" Margin="0 50 0 0" Width="200" Command="{Binding RestartCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="BackupRestore" Width="24" Height="24" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">RESTART</TextBlock>
+ </StackPanel>
+ </Button>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.UpToDate}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <materialDesign:PackIcon Kind="Check" Width="100" Height="100" Foreground="#1CBB1C" HorizontalAlignment="Center" />
+ <StackPanel Orientation="Horizontal">
+ <TextBlock VerticalAlignment="Center" Margin="0 20 0 0">Your version of Machine Studio is up to date!</TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="{x:Static vm:UpdateStatus.Error}">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Grid>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+ <materialDesign:PackIcon Kind="Alert" Width="100" Height="100" Foreground="#FF5F5F" HorizontalAlignment="Center" />
+ <TextBlock VerticalAlignment="Center" Margin="0 20 0 0" HorizontalAlignment="Center">Error updating machine studio</TextBlock>
+ <TextBlock HorizontalAlignment="Center" Margin="0 10 0 0" FontSize="12" TextAlignment="Center">
+ <Run>An error occurred while updating your software.</Run>
+ <LineBreak/>
+ <Run>press 'Try Again' to give it another try.</Run>
+ </TextBlock>
+ <Button MinWidth="140" Height="40" Margin="0 50 0 0" Width="200" Command="{Binding TryAgainCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="BackupRestore" Width="24" Height="24" />
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">TRY AGAIN</TextBlock>
+ </StackPanel>
+ </Button>
+ </StackPanel>
+ </Grid>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ContentControl.Style>
+ </ContentControl>
+ </Border>
+ </Grid>
+ </DockPanel>
+ </Grid>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml.cs
new file mode 100644
index 000000000..75b74f65d
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml.cs
@@ -0,0 +1,42 @@
+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.MachineStudio.UI.ViewModels;
+using static Tango.SharedUI.Controls.MultiTransitionControl;
+
+namespace Tango.MachineStudio.UI.Views
+{
+ /// <summary>
+ /// Interaction logic for UpdateView.xaml
+ /// </summary>
+ public partial class UpdateView : UserControl, ITransitionView
+ {
+ private UpdateViewVM _vm;
+
+ public UpdateView()
+ {
+ InitializeComponent();
+
+ this.Loaded += (x, y) =>
+ {
+ _vm = DataContext as UpdateViewVM;
+ };
+ }
+
+ public void OnTransitionCompleted()
+ {
+ _vm.OnNavigatedInto();
+ }
+ }
+}