From 858a2b114f78c87883510e3627874c7632f81177 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 18 Feb 2018 09:23:15 +0200 Subject: Developer redesign.. --- .../ViewModels/MainViewVM.cs | 47 +++++++++++++--------- 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index 013129fc1..267f0bb0c 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -32,6 +32,7 @@ using Tango.MachineStudio.Technician.ViewModels; using Tango.MachineStudio.Common.Diagnostics; using Tango.MachineStudio.Common.Video; using Tango.Integration.Services; +using Tango.MachineStudio.Developer.Navigation; namespace Tango.MachineStudio.Developer.ViewModels { @@ -46,6 +47,7 @@ namespace Tango.MachineStudio.Developer.ViewModels private Dictionary _controllers; private int _fullScreenGraphIndex; private JobHandler _jobHandler; + private DeveloperNavigationManager _navigation; #region Properties @@ -148,7 +150,6 @@ namespace Tango.MachineStudio.Developer.ViewModels { _selectedJob = value; RaisePropertyChangedAuto(); - OnSelectedJobChanged(); } } @@ -427,6 +428,11 @@ namespace Tango.MachineStudio.Developer.ViewModels /// public RelayCommand ExitFullScreenCommand { get; set; } + /// + /// Gets or sets the load job command. + /// + public RelayCommand LoadJobCommand { get; set; } + #endregion #region Constructors @@ -452,9 +458,10 @@ namespace Tango.MachineStudio.Developer.ViewModels /// The application manager. /// The notification provider. [PreferredConstructor] - public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IMainView view, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider) : this(view) + public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IMainView view, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation) : this(view) { _notification = notificationProvider; + _navigation = navigation; ApplicationManager = applicationManager; VideoCaptureProvider = videoCaptureProvider; diagnosticsFrameProvider.FrameReceived += DiagnosticsFrameProvider_FrameReceived; @@ -476,6 +483,7 @@ namespace Tango.MachineStudio.Developer.ViewModels StopJobCommand = new RelayCommand(StopJob, () => IsJobRunning); CloseJobCompletionStatusCommand = new RelayCommand(CloseJobCompletionStatusBar); ExitFullScreenCommand = new RelayCommand(ExitFullScreen); + LoadJobCommand = new RelayCommand(LoadJob, () => SelectedJob != null); ToggleCameraCommand = new RelayCommand(ToggleCamera); @@ -584,22 +592,6 @@ namespace Tango.MachineStudio.Developer.ViewModels } } - /// - /// Called when the selected job has been changed. - /// - protected virtual void OnSelectedJobChanged() - { - if (SelectedJob != null) - { - SelectedSegment = SelectedJob.Segments.FirstOrDefault(); - - SelectedJob.LengthChanged -= SelectedJob_LengthChanged; - SelectedJob.LengthChanged += SelectedJob_LengthChanged; - - UpdateEstimatedDuration(); - } - } - /// /// Called when the selected group history has been changed /// @@ -623,6 +615,25 @@ namespace Tango.MachineStudio.Developer.ViewModels #region Private Methods + private void LoadJob() + { + if (SelectedJob != null) + { + Task.Factory.StartNew(() => + { + SelectedSegment = SelectedJob.Segments.FirstOrDefault(); + + SelectedJob.LengthChanged -= SelectedJob_LengthChanged; + SelectedJob.LengthChanged += SelectedJob_LengthChanged; + + UpdateEstimatedDuration(); + }); + + _navigation.NavigateTo(DeveloperNavigationView.JobView); + + } + } + private void ClearGraphs() { _controllers.ToList().ForEach(x => x.Value.Clear()); -- cgit v1.3.1