diff options
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.cs | 38 |
1 files changed, 37 insertions, 1 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 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; + /// <summary> + /// Gets or sets a value indicating whether to display the machine errors. + /// </summary> + public bool IsMachineErrorsOpened + { + get { return _isMachineErrorsOpened; } + set { _isMachineErrorsOpened = value; RaisePropertyChangedAuto(); } + } + /// <summary> /// Gets or sets the start module command. /// </summary> @@ -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<MachinesEvent> e) + { + if (ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events.Count == 0) + { + IsMachineErrorsOpened = false; + } + } + + private void MachineEventsStateProvider_NewEvents(object sender, IEnumerable<MachinesEvent> 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) |
