From 5e66f7f601bfbb2f4d46b7b379fd37a5cb88d0bf Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 8 Aug 2018 18:06:43 +0300 Subject: Working on machine setup. --- .../MachineSetup/IMachineSetupManager.cs | 2 ++ .../MachineSetup/MachineSetupManager.cs | 27 ++++++++++++++++------ .../MachineSetup/MachineSetupSteps.cs | 2 +- .../PPC/Tango.PPC.UI/Views/MachineSetupView.xaml | 7 +++++- .../Tango.Touch/Controls/TouchProgressBar.cs | 25 ++++++++++++++++++++ .../Tango.Touch/Controls/TouchProgressBar.xaml | 15 ++++++++++++ .../Visual_Studio/Tango.Touch/Tango.Touch.csproj | 7 +++++- .../Visual_Studio/Tango.Touch/Themes/Generic.xaml | 1 + 8 files changed, 76 insertions(+), 10 deletions(-) create mode 100644 Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.cs create mode 100644 Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.xaml (limited to 'Software/Visual_Studio') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/IMachineSetupManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/IMachineSetupManager.cs index 69acfbbcf..52fc5acd1 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/IMachineSetupManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/IMachineSetupManager.cs @@ -10,6 +10,8 @@ namespace Tango.PPC.Common.MachineSetup { MachineSetupSteps CurrentStep { get; } event EventHandler ProgressLog; + double UpdatingPackagesProgress { get; } + String UpdatingPackagesStatus { get; } event EventHandler ProgressStep; Task Setup(String serialNumber, String hostAddress); } diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs index f469fb799..dc5164465 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs @@ -37,10 +37,17 @@ namespace Tango.PPC.Common.MachineSetup } private double _downloadProgress; - public double DownloadProgress + public double UpdatingPackagesProgress { get { return _downloadProgress; } - set { _downloadProgress = value; RaisePropertyChangedAuto(); } + private set { _downloadProgress = value; RaisePropertyChangedAuto(); } + } + + private String _updatingPackagesStatus; + public String UpdatingPackagesStatus + { + get { return _updatingPackagesStatus; } + set { _updatingPackagesStatus = value; RaisePropertyChangedAuto(); } } public Task Setup(string serialNumber, string machineServiceAddress) @@ -49,7 +56,9 @@ namespace Tango.PPC.Common.MachineSetup { //Connect to machine service and get matching packages for this machine. - CurrentStep = MachineSetupSteps.DownloadingPackage; + CurrentStep = MachineSetupSteps.UpdatingPackages; + UpdatingPackagesProgress = 0; + UpdatingPackagesStatus = "Connecting to machine service..."; MachineSetupRequest request = new MachineSetupRequest(); request.SerialNumber = serialNumber; @@ -72,15 +81,17 @@ namespace Tango.PPC.Common.MachineSetup //Download software package. var tempFile = TemporaryManager.CreateFile(".zip"); + UpdatingPackagesStatus = "Downloading application package..."; + int fileSize = 0; - DownloadProgress = 0; + UpdatingPackagesProgress = 0; using (FileStreamWrapper fs = new FileStreamWrapper(tempFile.Path, FileMode.Create, (current) => { InvokeUINow(() => { Thread.Sleep(10); - DownloadProgress = ((double)current / (double)fileSize) * 100d; + UpdatingPackagesProgress = ((double)current / (double)fileSize) * 100d; }); })) { @@ -102,15 +113,17 @@ namespace Tango.PPC.Common.MachineSetup //Download embedded package. tempFile = TemporaryManager.CreateFile(".zip"); + UpdatingPackagesStatus = "Downloading embedded package..."; + fileSize = 0; - DownloadProgress = 0; + UpdatingPackagesProgress = 0; using (FileStreamWrapper fs = new FileStreamWrapper(tempFile.Path, FileMode.Create, (current) => { InvokeUINow(() => { Thread.Sleep(10); - DownloadProgress = ((double)current / (double)fileSize) * 100d; + UpdatingPackagesProgress = ((double)current / (double)fileSize) * 100d; }); })) { diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupSteps.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupSteps.cs index 3db1eb4b0..1262eb248 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupSteps.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupSteps.cs @@ -10,7 +10,7 @@ namespace Tango.PPC.Common.MachineSetup public enum MachineSetupSteps { [Description("Downloading Package")] - DownloadingPackage, + UpdatingPackages, [Description("Synchronizing Schema")] SynchronizingSchema, [Description("Synchronizing Data")] diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineSetupView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineSetupView.xaml index b7bd4d803..521da0e35 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineSetupView.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineSetupView.xaml @@ -62,7 +62,12 @@ - + + + + Downloading package... + + diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.cs new file mode 100644 index 000000000..99d208d4e --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.Touch.Controls +{ + public class TouchProgressBar : ProgressBar + { + static TouchProgressBar() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(TouchProgressBar), new FrameworkPropertyMetadata(typeof(TouchProgressBar))); + } + } +} diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.xaml new file mode 100644 index 000000000..769efd930 --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchProgressBar.xaml @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj index 3e7a68897..fc0c13207 100644 --- a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj +++ b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj @@ -78,6 +78,7 @@ + @@ -185,6 +186,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -369,7 +374,7 @@ - + \ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml b/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml index 288307852..ad85463dd 100644 --- a/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml +++ b/Software/Visual_Studio/Tango.Touch/Themes/Generic.xaml @@ -41,6 +41,7 @@ + -- cgit v1.3.1