aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI
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
parent3de0d44f88b713e7b018f470c7bd318a775345b7 (diff)
downloadTango-86197cd0ec87a6cc186e90f75d848adc6dfa2285.tar.gz
Tango-86197cd0ec87a6cc186e90f75d848adc6dfa2285.zip
Simulate Hardware Events using DiagnosticsFrameProvider.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs40
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml8
2 files changed, 33 insertions, 15 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;
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
index b7a4cc93f..a85e0a850 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
@@ -227,11 +227,11 @@
</StackPanel>
</Button>
- <ToggleButton Visibility="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.HasEvents,Converter={StaticResource BooleanToVisibilityConverter},FallbackValue=Collapsed,TargetNullValue=Collapsed,Mode=OneWay}" IsChecked="{Binding IsMachineErrorsOpened}" Style="{StaticResource emptyToggleButton}" Margin="0 0 10 0" Cursor="Hand">
+ <ToggleButton Visibility="{Binding DiagnosticsFrameProvider.MachineEventsStateProvider.HasEvents,Converter={StaticResource BooleanToVisibilityConverter},FallbackValue=Collapsed,TargetNullValue=Collapsed,Mode=OneWay}" IsChecked="{Binding IsMachineErrorsOpened}" Style="{StaticResource emptyToggleButton}" Margin="0 0 10 0" Cursor="Hand">
<ToggleButton.ToolTip>
<TextBlock>
<Run>Press to view</Run>
- <Run Text="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events.Count,Mode=OneWay}"></Run>
+ <Run Text="{Binding DiagnosticsFrameProvider.MachineEventsStateProvider.Events.Count,Mode=OneWay}"></Run>
<Run>hardware messages</Run>
</TextBlock>
</ToggleButton.ToolTip>
@@ -240,7 +240,7 @@
<Style TargetType="Grid">
<Setter Property="Opacity" Value="1"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.HasEvents}" Value="True">
+ <DataTrigger Binding="{Binding DiagnosticsFrameProvider.MachineEventsStateProvider.HasEvents}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
@@ -433,7 +433,7 @@
<DropShadowEffect ShadowDepth="0" BlurRadius="10" />
</Border.Effect>
- <ItemsControl ItemsSource="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events}">
+ <ItemsControl ItemsSource="{Binding DiagnosticsFrameProvider.MachineEventsStateProvider.Events}">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type entities:MachinesEvent}">
<Border BorderThickness="0 0 0 1" BorderBrush="#E1E1E1" Padding="5">