aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-07-29 10:56:41 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-07-29 10:56:41 +0300
commitd62b12aab4f521ff287da135b6e66e92629a50dd (patch)
tree8b4a357bf92d62e1a4dd2e292801ecd41e4239af /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
parent1e3777f0813b2ac26ae0b52e89c171955a949563 (diff)
downloadTango-d62b12aab4f521ff287da135b6e66e92629a50dd.tar.gz
Tango-d62b12aab4f521ff287da135b6e66e92629a50dd.zip
Added data source in about dialog in machine studio.
Added last monitor in machine studio settings.
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.cs114
1 files changed, 65 insertions, 49 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 d6a832c8a..c7ac60ace 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
@@ -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);
}
}