aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-07-15 14:16:26 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-07-15 14:16:26 +0300
commitde5700549a5fe01862f71d452f2abe4a74996605 (patch)
treed64cd490c7012ea96299ea891d5d7013a822e347 /Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs
parentc6b01f3e683b83fb0d6bf080efbd24a9a732b9f5 (diff)
downloadTango-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.cs39
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>