aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
diff options
context:
space:
mode:
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.cs33
1 files changed, 28 insertions, 5 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 29bb459ee..8eff9ea4e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
@@ -21,6 +21,7 @@ using Tango.BL.Enumerations;
using Tango.Core.DI;
using Tango.BL.Entities;
using Tango.BL;
+using Tango.MachineStudio.UI.ViewModels;
namespace Tango.MachineStudio.UI.StudioApplication
{
@@ -45,7 +46,7 @@ namespace Tango.MachineStudio.UI.StudioApplication
_navigationManager = navigationManager;
_openedWindows = new List<Window>();
- Application.Current.MainWindow.ContentRendered += (_, __) =>
+ Application.Current.MainWindow.ContentRendered += (_, __) =>
{
TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>().ToList().ForEach(x => x.OnApplicationStarted());
};
@@ -150,8 +151,8 @@ namespace Tango.MachineStudio.UI.StudioApplication
await Task.Factory.StartNew(async () =>
{
- //Do Shutdown Procedures...
- foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>())
+ //Do Shutdown Procedures...
+ foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>())
{
try
{
@@ -173,7 +174,29 @@ namespace Tango.MachineStudio.UI.StudioApplication
vm.OnShuttingDown();
}
- SettingsManager.Default.GetOrCreate<MachineStudioSettings>().LastBounds = r;
+
+ var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
+ settings.LastBounds = r;
+ settings.StudioModulesBounds.Clear();
+
+
+ foreach (var window in _openedWindows.OfType<Windows.ModuleWindow>())
+ {
+ window.Invoke(() =>
+ {
+ var context = window.ModuleContext;
+
+ if (context != null)
+ {
+ settings.StudioModulesBounds.Add(new MachineStudioSettings.StudioModuleBounds()
+ {
+ Bounds = window.RestoreBounds,
+ State = window.WindowState,
+ Name = context.Module.Name,
+ });
+ }
+ });
+ }
try
{
@@ -224,7 +247,7 @@ namespace Tango.MachineStudio.UI.StudioApplication
catch (Exception ex)
{
IsShuttingDown = false;
- LogManager.Log(ex,"An error occurred while shutting down machine studio.");
+ LogManager.Log(ex, "An error occurred while shutting down machine studio.");
}
}