aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-04-22 13:59:10 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-04-22 13:59:10 +0300
commit531c3aba8b49d38f53890c61aa3addef3b5c28dd (patch)
tree0a913689a8968bcea2e174d90f0d423ffa3ccaca /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
parent540272c93c7d0b4a12ea797c996f2c9ddf2a5bbb (diff)
parent24e4a3e25a9ac161097a46b59aee637fe7bdaa50 (diff)
downloadTango-531c3aba8b49d38f53890c61aa3addef3b5c28dd.tar.gz
Tango-531c3aba8b49d38f53890c61aa3addef3b5c28dd.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs28
1 files changed, 21 insertions, 7 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index 8e451cdce..b97825d34 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -35,6 +35,7 @@ using Tango.MachineStudio.UI.Windows;
using Tango.PMR.Stubs;
using Tango.Settings;
using Tango.SharedUI;
+using Tango.SharedUI.Controls;
using Tango.SharedUI.Helpers;
using Tango.Transport.Adapters;
@@ -497,6 +498,16 @@ namespace Tango.MachineStudio.UI.ViewModels
{
IsMenuOpened = false;
+ if (module != null)
+ {
+ if (!(MainView.Self as MainView).TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
+ {
+ FrameworkElement view = Activator.CreateInstance(module.MainViewType) as FrameworkElement;
+ NavigationControl.SetNavigationName(view, module.Name);
+ (MainView.Self as MainView).TransitionControl.Elements.Add(view);
+ }
+ }
+
foreach (var m in StudioModuleLoader.AllModules.Where(x => x != module))
{
m.IsLoaded = false;
@@ -507,12 +518,12 @@ namespace Tango.MachineStudio.UI.ViewModels
CurrentModule = module;
CurrentModule.IsLoaded = true;
IsModuleLoaded = true;
- View.NavigateToModule(module);
+ (MainView.Self as MainView).TransitionControl.NavigateTo(module.Name);
}
else
{
IsModuleLoaded = false;
- View.NavigateToModule(null);
+ (MainView.Self as MainView).TransitionControl.NavigateTo("Home");
}
}
@@ -538,18 +549,21 @@ namespace Tango.MachineStudio.UI.ViewModels
module.InNewWindow = true;
- var parent = (MainView.Self as MainView).TransitionControl.Controls.SingleOrDefault(x => x.Tag.ToString() == module.Name).Content as Grid;
+ if (!(MainView.Self as MainView).TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
+ {
+ FrameworkElement v = Activator.CreateInstance(module.MainViewType) as FrameworkElement;
+ NavigationControl.SetNavigationName(v, module.Name);
+ (MainView.Self as MainView).TransitionControl.Elements.Add(v);
+ }
- var view = parent.Children[0] as FrameworkElement;
- parent.Children.Remove(view);
+ var view = (MainView.Self as MainView).TransitionControl.GetAndDetach(module.Name);
- ModuleWindowVM vm = new ModuleWindowVM(module, parent);
+ ModuleWindowVM vm = new ModuleWindowVM(module);
ModuleWindow window = new ModuleWindow(this, vm, view);
window.Closing += (x, y) =>
{
window.grid.Children.Remove(view);
- parent.Children.Add(view);
module.InNewWindow = false;
};