aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-22 17:38:12 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-22 17:38:12 +0200
commit86197cd0ec87a6cc186e90f75d848adc6dfa2285 (patch)
tree0e62585bae9e84a554bee2b6922fb059d72b9810 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
parent3de0d44f88b713e7b018f470c7bd318a775345b7 (diff)
downloadTango-86197cd0ec87a6cc186e90f75d848adc6dfa2285.tar.gz
Tango-86197cd0ec87a6cc186e90f75d848adc6dfa2285.zip
Simulate Hardware Events using DiagnosticsFrameProvider.
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.cs40
1 files changed, 29 insertions, 11 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 b3c6236f8..f54a9dae1 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -17,6 +17,7 @@ using Tango.Integration.Services;
using Tango.Logging;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Authentication;
+using Tango.MachineStudio.Common.Diagnostics;
using Tango.MachineStudio.Common.EventLogging;
using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common.Navigation;
@@ -197,6 +198,16 @@ namespace Tango.MachineStudio.UI.ViewModels
set { _disableCheckForUpdates = value; RaisePropertyChangedAuto(); }
}
+ private IDiagnosticsFrameProvider _diagnosticsFrameProvider;
+ /// <summary>
+ /// Gets or sets the diagnostics frame provider.
+ /// </summary>
+ public IDiagnosticsFrameProvider DiagnosticsFrameProvider
+ {
+ get { return _diagnosticsFrameProvider; }
+ set { _diagnosticsFrameProvider = value; RaisePropertyChangedAuto(); }
+ }
+
/// <summary>
/// Initializes a new instance of the <see cref="MainViewVM"/> class.
@@ -214,7 +225,8 @@ namespace Tango.MachineStudio.UI.ViewModels
INotificationProvider notificationProvider,
IStudioApplicationManager applicationManager,
INavigationManager navigationManager,
- IEventLogger eventLogger) : base(view)
+ IEventLogger eventLogger,
+ IDiagnosticsFrameProvider frameProvider) : base(view)
{
_eventLogger = eventLogger;
_navigation = navigationManager;
@@ -222,6 +234,9 @@ namespace Tango.MachineStudio.UI.ViewModels
StudioModuleLoader = studioModuleLoader;
NotificationProvider = notificationProvider;
ApplicationManager = applicationManager;
+ DiagnosticsFrameProvider = frameProvider;
+
+ DiagnosticsFrameProvider.MachineEventsStateProviderChanged += FrameProvider_MachineEventsStateProviderChanged;
StartModuleCommand = new RelayCommand<IStudioModule>(StartModule);
@@ -236,23 +251,26 @@ namespace Tango.MachineStudio.UI.ViewModels
_updateCheckThread = new Thread(UpdateCheckThreadMethod);
_updateCheckThread.IsBackground = true;
_updateCheckThread.Start();
+ }
- ApplicationManager.ConnectedMachineChanged += (sender, machine) =>
+ private void FrameProvider_MachineEventsStateProviderChanged(object sender, Integration.Operation.IMachineEventsStateProvider provider)
+ {
+
+ if (DiagnosticsFrameProvider.MachineEventsStateProvider.Events.Count == 0)
{
- if (machine != null)
- {
- machine.MachineEventsStateProvider.NewEvents -= MachineEventsStateProvider_NewEvents;
- machine.MachineEventsStateProvider.NewEvents += MachineEventsStateProvider_NewEvents;
+ IsMachineErrorsOpened = false;
+ }
- machine.MachineEventsStateProvider.EventsResolved -= MachineEventsStateProvider_EventsResolved;
- machine.MachineEventsStateProvider.EventsResolved += MachineEventsStateProvider_EventsResolved;
- }
- };
+ provider.NewEvents -= MachineEventsStateProvider_NewEvents;
+ provider.NewEvents += MachineEventsStateProvider_NewEvents;
+
+ provider.EventsResolved -= MachineEventsStateProvider_EventsResolved;
+ provider.EventsResolved += MachineEventsStateProvider_EventsResolved;
}
private void MachineEventsStateProvider_EventsResolved(object sender, IEnumerable<MachinesEvent> e)
{
- if (ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events.Count == 0)
+ if (DiagnosticsFrameProvider.MachineEventsStateProvider.Events.Count == 0)
{
IsMachineErrorsOpened = false;
}