aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-07-31 10:06:51 +0300
committerAvi Levkovich <avi@twine-s.com>2018-07-31 10:06:51 +0300
commitb6b2f9ad4c96deface6763adbb2ac533e9706d1b (patch)
tree732a7ce2f629ab4cd9a1bfc1bec79adf97185025 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
parent90b65a54cd28ee8b0d908c86795a7096c4073e83 (diff)
parentc728eba7cf217972c47e0a65afcb1975f6d6f6f1 (diff)
downloadTango-b6b2f9ad4c96deface6763adbb2ac533e9706d1b.tar.gz
Tango-b6b2f9ad4c96deface6763adbb2ac533e9706d1b.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs118
1 files changed, 67 insertions, 51 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
index d33b12a17..c7ac60ace 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
@@ -15,7 +15,7 @@ using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common;
using Tango.Settings;
using System.Windows;
-using Tango.Integration.Services;
+using Tango.Integration.ExternalBridge;
using Tango.MachineStudio.Common.EventLogging;
using Tango.BL.Enumerations;
using Tango.Core.DI;
@@ -135,7 +135,7 @@ namespace Tango.MachineStudio.UI.StudioApplication
{
get
{
- return AssemblyHelper.GetCurrentAssemblyVersion().ToString(3);
+ return AssemblyHelper.GetCurrentAssemblyVersion().ToString(4);
}
}
@@ -148,76 +148,92 @@ namespace Tango.MachineStudio.UI.StudioApplication
IsShuttingDown = true;
- await Task.Factory.StartNew(async () =>
+ try
{
+ Rect r = new Rect(
+ MainWindow.Instance.Left,
+ MainWindow.Instance.Top,
+ MainWindow.Instance.Width,
+ MainWindow.Instance.Height);
+
+ await Task.Factory.StartNew(async () =>
+ {
//Do Shutdown Procedures...
foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>())
- {
- try
{
- var result = await vm.OnShutdownRequest();
- if (!result)
+ try
+ {
+ var result = await vm.OnShutdownRequest();
+ if (!result)
+ {
+ IsShuttingDown = false;
+ return;
+ }
+ }
+ catch (Exception ex)
{
- IsShuttingDown = false;
- return;
+ LogManager.Log(ex, "Error on shutdown request with " + vm.GetType().Name);
}
}
- catch (Exception ex)
+
+ foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>())
{
- LogManager.Log(ex, "Error on shutdown request with " + vm.GetType().Name);
+ vm.OnShuttingDown();
}
- }
- foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>())
- {
- vm.OnShuttingDown();
- }
+ SettingsManager.Default.GetOrCreate<MachineStudioSettings>().LastBounds = r;
- try
- {
- SettingsManager.Default.Save();
- }
- catch (Exception ex)
- {
- LogManager.Log(ex, "Error saving settings.");
- }
+ try
+ {
+ SettingsManager.Default.Save();
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error saving settings.");
+ }
- _navigationManager.NavigateTo(NavigationView.ShutdownView);
+ _navigationManager.NavigateTo(NavigationView.ShutdownView);
- Thread.Sleep(1500);
+ Thread.Sleep(1500);
- foreach (var window in _openedWindows)
- {
- ThreadsHelper.InvokeUI(() =>
+ foreach (var window in _openedWindows)
{
- window.Close();
- });
- }
+ ThreadsHelper.InvokeUI(() =>
+ {
+ window.Close();
+ });
+ }
- try
- {
- if (ConnectedMachine != null)
+ try
{
- ConnectedMachine.Disconnect().Wait();
+ if (ConnectedMachine != null)
+ {
+ ConnectedMachine.Disconnect().Wait();
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error disconnecting from machine.");
}
- }
- catch (Exception ex)
- {
- LogManager.Log(ex, "Error disconnecting from machine.");
- }
- var eventLogger = TangoIOC.Default.GetInstance<IEventLogger>();
- if (eventLogger != null)
- {
- eventLogger.Log(EventTypes.ApplicationTerminated, "Application Terminated!");
- eventLogger.FlushAll();
- }
+ var eventLogger = TangoIOC.Default.GetInstance<IEventLogger>();
+ if (eventLogger != null)
+ {
+ eventLogger.Log(EventTypes.ApplicationTerminated, "Application Terminated!");
+ eventLogger.FlushAll();
+ }
- Thread.Sleep(1500);
+ Thread.Sleep(1500);
- Environment.Exit(0);
+ Environment.Exit(0);
- });
+ });
+ }
+ catch (Exception ex)
+ {
+ IsShuttingDown = false;
+ LogManager.Log(ex,"An error occurred while shutting down machine studio.");
+ }
}
/// <summary>
@@ -264,7 +280,7 @@ namespace Tango.MachineStudio.UI.StudioApplication
{
get
{
- return typeof(ExtendedObject).Assembly.GetName().Version.ToString(3);
+ return typeof(ExtendedObject).Assembly.GetName().Version.ToString(3);
}
}