From de099bd3b50b8ea52b212b8d322626582c2648be Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 22 Apr 2018 13:35:22 +0300 Subject: Implemented new TangoIOC container & TangoMessenger. Got rid of MVVMLite libs ! Got rid of IShutdownRequestBlocker, IShutdownListener, IModuleRequestListener. Implemented IStudioViewModel & StudioViewModel. --- .../Tango.MachineStudio.Synchronization/App.config | 80 ++++++++++++++++++++++ .../Tango.MachineStudio.Synchronization.csproj | 14 +--- .../ViewModelLocator.cs | 29 ++++---- .../ViewModels/DirectSynchronizationViewVM.cs | 4 +- .../ViewModels/LocalSynchronizationViewVM.cs | 6 +- .../ViewModels/RemoteSynchronizationViewVM.cs | 14 ++-- .../packages.config | 2 +- 7 files changed, 110 insertions(+), 39 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/App.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/App.config index 158702ed3..d46a7e835 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/App.config +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/App.config @@ -24,6 +24,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj index 1b827f001..f863df9c2 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj @@ -42,15 +42,6 @@ ..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll - - ..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll - - - ..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll - - - ..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll - ..\..\..\packages\Google.Protobuf.3.4.1\lib\net45\Google.Protobuf.dll @@ -63,9 +54,6 @@ ..\..\..\packages\MaterialDesignThemes.2.3.1.953\lib\net45\MaterialDesignThemes.Wpf.dll - - ..\..\..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll - @@ -86,7 +74,7 @@ - ..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll + ..\..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs index 090a323a2..861bf56bf 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs @@ -1,6 +1,4 @@ -using GalaSoft.MvvmLight; -using GalaSoft.MvvmLight.Ioc; -using Microsoft.Practices.ServiceLocation; +using Tango.Core.DI; using Tango.MachineStudio.Synchronization.Navigation; using Tango.MachineStudio.Synchronization.ViewModels; @@ -17,23 +15,22 @@ namespace Tango.MachineStudio.Synchronization /// static ViewModelLocator() { - ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); - SimpleIoc.Default.Register(); - SimpleIoc.Default.Register(); - SimpleIoc.Default.Register(); - SimpleIoc.Default.Register(); - SimpleIoc.Default.Register(); + TangoIOC.Default.Register(); + TangoIOC.Default.Register(); + TangoIOC.Default.Register(); + TangoIOC.Default.Register(); + TangoIOC.Default.Register(); - SimpleIoc.Default.Unregister(); + TangoIOC.Default.Unregister(); - SimpleIoc.Default.Register(); + TangoIOC.Default.Register(); } public static MainViewVM MainViewVM { get { - return ServiceLocator.Current.GetInstance(); + return TangoIOC.Default.GetInstance(); } } @@ -41,7 +38,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance(); + return TangoIOC.Default.GetInstance(); } } @@ -49,7 +46,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance(); + return TangoIOC.Default.GetInstance(); } } @@ -57,7 +54,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance(); + return TangoIOC.Default.GetInstance(); } } @@ -65,7 +62,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance(); + return TangoIOC.Default.GetInstance(); } } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs index b4dd67178..bb5ef68f1 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs @@ -1,5 +1,4 @@ using Google.Protobuf; -using Microsoft.Practices.ServiceLocation; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -21,6 +20,7 @@ using Tango.SharedUI; using Tango.Synchronization; using Tango.Synchronization.Local; using Tango.Synchronization.Remote; +using Tango.Core.DI; namespace Tango.MachineStudio.Synchronization.ViewModels { @@ -168,7 +168,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels { if (_mainView == null) { - _mainView = ServiceLocator.Current.GetInstance(); + _mainView = TangoIOC.Default.GetInstance(); _mainView.Log = String.Empty; } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs index 2621f622a..d3cb23d64 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs @@ -1,5 +1,4 @@ -using Microsoft.Practices.ServiceLocation; -using Microsoft.Win32; +using Microsoft.Win32; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -9,6 +8,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using Tango.Core.Commands; +using Tango.Core.DI; using Tango.Logging; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Synchronization.Navigation; @@ -178,7 +178,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels { if (_mainView == null) { - _mainView = ServiceLocator.Current.GetInstance(); + _mainView = TangoIOC.Default.GetInstance(); _mainView.Log = String.Empty; } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs index 57b3af1a8..75b5fe95a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs @@ -21,7 +21,8 @@ using Tango.SharedUI; using Tango.Synchronization; using Tango.Synchronization.Local; using Tango.Synchronization.Remote; -using Microsoft.Practices.ServiceLocation; +using Tango.Core.DI; +using Tango.MachineStudio.Common; namespace Tango.MachineStudio.Synchronization.ViewModels { @@ -30,7 +31,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels /// /// /// - public class RemoteSynchronizationViewVM : ViewModel, IShutdownRequestBlocker + public class RemoteSynchronizationViewVM : StudioViewModel { private SyncNavigationManager _navigation; private String _slaveDBFile; @@ -117,7 +118,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels { if (_mainView == null) { - _mainView = ServiceLocator.Current.GetInstance(); + _mainView = TangoIOC.Default.GetInstance(); _mainView.Log = String.Empty; } @@ -407,11 +408,15 @@ namespace Tango.MachineStudio.Synchronization.ViewModels InvokeUINow(() => _notification.ShowInfo(message)); } + #endregion + + #region IStudioModuleVM + /// /// Called when the application is shutting down. /// /// - public Task OnShutdownRequest() + public override Task OnShutdownRequest() { if (_comparer != null) { @@ -420,6 +425,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels return Task.FromResult(true); } + #endregion } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config index 1fa8e3268..3f608c982 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config @@ -2,12 +2,12 @@ + - -- cgit v1.3.1