diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-07-15 14:16:26 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-07-15 14:16:26 +0300 |
| commit | de5700549a5fe01862f71d452f2abe4a74996605 (patch) | |
| tree | d64cd490c7012ea96299ea891d5d7013a822e347 /Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs | |
| parent | c6b01f3e683b83fb0d6bf080efbd24a9a732b9f5 (diff) | |
| download | Tango-de5700549a5fe01862f71d452f2abe4a74996605.tar.gz Tango-de5700549a5fe01862f71d452f2abe4a74996605.zip | |
Implemented PPC twine animated gif.
Sign out.
Implemented TangoInject attribute 'When Available' mode!
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs index 5f5fb4f7e..0fbef92a7 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs @@ -30,6 +30,7 @@ namespace Tango.PPC.UI.PPCApplication public class DefaultPPCApplicationManager : ExtendedObject, IPPCApplicationManager { private List<PPCViewModel> _notifiedViewModels; + private IMachineProvider _machineProvider; /// <summary> /// Occurs when the application has started. @@ -63,6 +64,8 @@ namespace Tango.PPC.UI.PPCApplication /// </summary> public DefaultPPCApplicationManager(IMachineProvider machineProvider) { + _machineProvider = machineProvider; + if (!DesignMode) { _notifiedViewModels = new List<PPCViewModel>(); @@ -115,20 +118,17 @@ namespace Tango.PPC.UI.PPCApplication { if (loader.UserModules.Count > 0) { - loader.UserModules.LastOrDefault().Initialized += (e, f) => + if (loader.UserModules.ToList().Exists(m => !m.IsInitialized)) { - foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<PPCViewModel>()) + loader.UserModules.LastOrDefault().Initialized += (e, f) => { - if (!_notifiedViewModels.Contains(vm)) - { - vm.OnApplicationStarted(); - _notifiedViewModels.Add(vm); - } - } - - ModulesInitialized?.Invoke(this, new EventArgs()); - machineProvider.Init(); - }; + FinalizeModuleInitialization(); + }; + } + else + { + FinalizeModuleInitialization(); + } } }; }); @@ -136,6 +136,21 @@ namespace Tango.PPC.UI.PPCApplication } } + private void FinalizeModuleInitialization() + { + foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<PPCViewModel>()) + { + if (!_notifiedViewModels.Contains(vm)) + { + vm.OnApplicationStarted(); + _notifiedViewModels.Add(vm); + } + } + + ModulesInitialized?.Invoke(this, new EventArgs()); + _machineProvider.Init(); + } + /// <summary> /// Shutdown the application. /// </summary> |
