From 2836f1031bf9c1414a80620e040c1414a45c1648 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Thu, 15 Mar 2018 20:04:52 +0200 Subject: Working on machine events ! --- .../ViewModels/MainViewVM.cs | 38 +++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels') 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 ba94cd860..b3c6236f8 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -11,6 +11,7 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Media; +using Tango.BL.Entities; using Tango.Core.Commands; using Tango.Integration.Services; using Tango.Logging; @@ -75,6 +76,16 @@ namespace Tango.MachineStudio.UI.ViewModels set { _isMenuOpened = value; RaisePropertyChangedAuto(); } } + private bool _isMachineErrorsOpened; + /// + /// Gets or sets a value indicating whether to display the machine errors. + /// + public bool IsMachineErrorsOpened + { + get { return _isMachineErrorsOpened; } + set { _isMachineErrorsOpened = value; RaisePropertyChangedAuto(); } + } + /// /// Gets or sets the start module command. /// @@ -225,6 +236,31 @@ namespace Tango.MachineStudio.UI.ViewModels _updateCheckThread = new Thread(UpdateCheckThreadMethod); _updateCheckThread.IsBackground = true; _updateCheckThread.Start(); + + ApplicationManager.ConnectedMachineChanged += (sender, machine) => + { + if (machine != null) + { + machine.MachineEventsStateProvider.NewEvents -= MachineEventsStateProvider_NewEvents; + machine.MachineEventsStateProvider.NewEvents += MachineEventsStateProvider_NewEvents; + + machine.MachineEventsStateProvider.EventsResolved -= MachineEventsStateProvider_EventsResolved; + machine.MachineEventsStateProvider.EventsResolved += MachineEventsStateProvider_EventsResolved; + } + }; + } + + private void MachineEventsStateProvider_EventsResolved(object sender, IEnumerable e) + { + if (ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events.Count == 0) + { + IsMachineErrorsOpened = false; + } + } + + private void MachineEventsStateProvider_NewEvents(object sender, IEnumerable e) + { + IsMachineErrorsOpened = true; } private void UpdateCheckThreadMethod() @@ -323,7 +359,7 @@ namespace Tango.MachineStudio.UI.ViewModels else { ApplicationManager.ConnectedMachine = x.SelectedMachine; - _eventLogger.Log(String.Format("Successfully connected to machine {0} via TCP",x.SelectedMachine.SerialNumber)); + _eventLogger.Log(String.Format("Successfully connected to machine {0} via TCP", x.SelectedMachine.SerialNumber)); } } catch (Exception ex) -- cgit v1.3.1