diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-04-22 13:35:22 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-04-22 13:35:22 +0300 |
| commit | de099bd3b50b8ea52b212b8d322626582c2648be (patch) | |
| tree | eea98a7f7b073d6cf8ded47bddc3b3f3f5e7c430 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization | |
| parent | 8edd1a95962a5c1c2e73d15f209a9fb362ff884a (diff) | |
| download | Tango-de099bd3b50b8ea52b212b8d322626582c2648be.tar.gz Tango-de099bd3b50b8ea52b212b8d322626582c2648be.zip | |
Implemented new TangoIOC container & TangoMessenger.
Got rid of MVVMLite libs !
Got rid of IShutdownRequestBlocker, IShutdownListener, IModuleRequestListener.
Implemented IStudioViewModel & StudioViewModel.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization')
7 files changed, 110 insertions, 39 deletions
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 @@ </dependentAssembly> + <dependentAssembly> + + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-1.2.2.0" newVersion="1.2.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-1.4.2.0" newVersion="1.4.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> + + </dependentAssembly> + + <dependentAssembly> + + <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + + <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> + + </dependentAssembly> + </assemblyBinding> </runtime> 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 @@ <Reference Include="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath> </Reference> - <Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath> - </Reference> - <Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath> - </Reference> - <Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath> - </Reference> <Reference Include="Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\Google.Protobuf.3.4.1\lib\net45\Google.Protobuf.dll</HintPath> </Reference> @@ -63,9 +54,6 @@ <Reference Include="MaterialDesignThemes.Wpf, Version=2.3.1.953, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\MaterialDesignThemes.2.3.1.953\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath> </Reference> - <Reference Include="Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath> - </Reference> <Reference Include="System" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Data" /> @@ -86,7 +74,7 @@ </Reference> <Reference Include="System.Windows" /> <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath> + <HintPath>..\..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll</HintPath> </Reference> <Reference Include="System.Xml" /> <Reference Include="Microsoft.CSharp" /> 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 /// </summary> static ViewModelLocator() { - ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); - SimpleIoc.Default.Register<MainViewVM>(); - SimpleIoc.Default.Register<MenuViewVM>(); - SimpleIoc.Default.Register<LocalSynchronizationViewVM>(); - SimpleIoc.Default.Register<RemoteSynchronizationViewVM>(); - SimpleIoc.Default.Register<DirectSynchronizationViewVM>(); + TangoIOC.Default.Register<MainViewVM>(); + TangoIOC.Default.Register<MenuViewVM>(); + TangoIOC.Default.Register<LocalSynchronizationViewVM>(); + TangoIOC.Default.Register<RemoteSynchronizationViewVM>(); + TangoIOC.Default.Register<DirectSynchronizationViewVM>(); - SimpleIoc.Default.Unregister<SyncNavigationManager>(); + TangoIOC.Default.Unregister<SyncNavigationManager>(); - SimpleIoc.Default.Register<SyncNavigationManager, SyncNavigationManager>(); + TangoIOC.Default.Register<SyncNavigationManager, SyncNavigationManager>(); } public static MainViewVM MainViewVM { get { - return ServiceLocator.Current.GetInstance<MainViewVM>(); + return TangoIOC.Default.GetInstance<MainViewVM>(); } } @@ -41,7 +38,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance<MenuViewVM>(); + return TangoIOC.Default.GetInstance<MenuViewVM>(); } } @@ -49,7 +46,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance<LocalSynchronizationViewVM>(); + return TangoIOC.Default.GetInstance<LocalSynchronizationViewVM>(); } } @@ -57,7 +54,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance<RemoteSynchronizationViewVM>(); + return TangoIOC.Default.GetInstance<RemoteSynchronizationViewVM>(); } } @@ -65,7 +62,7 @@ namespace Tango.MachineStudio.Synchronization { get { - return ServiceLocator.Current.GetInstance<DirectSynchronizationViewVM>(); + return TangoIOC.Default.GetInstance<DirectSynchronizationViewVM>(); } } } 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<MainViewVM>(); + _mainView = TangoIOC.Default.GetInstance<MainViewVM>(); _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<MainViewVM>(); + _mainView = TangoIOC.Default.GetInstance<MainViewVM>(); _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 /// </summary> /// <seealso cref="Tango.SharedUI.ViewModel" /> /// <seealso cref="Tango.MachineStudio.Common.StudioApplication.IShutdownRequestBlocker" /> - public class RemoteSynchronizationViewVM : ViewModel, IShutdownRequestBlocker + public class RemoteSynchronizationViewVM : StudioViewModel<SynchronizationModule> { private SyncNavigationManager _navigation; private String _slaveDBFile; @@ -117,7 +118,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels { if (_mainView == null) { - _mainView = ServiceLocator.Current.GetInstance<MainViewVM>(); + _mainView = TangoIOC.Default.GetInstance<MainViewVM>(); _mainView.Log = String.Empty; } @@ -407,11 +408,15 @@ namespace Tango.MachineStudio.Synchronization.ViewModels InvokeUINow(() => _notification.ShowInfo(message)); } + #endregion + + #region IStudioModuleVM + /// <summary> /// Called when the application is shutting down. /// </summary> /// <returns></returns> - public Task<bool> OnShutdownRequest() + public override Task<bool> 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 @@ <packages> <package id="CommonServiceLocator" version="1.3" targetFramework="net46" /> <package id="EntityFramework" version="6.0.0" targetFramework="net46" /> + <package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" /> <package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" /> <package id="Google.Protobuf" version="3.4.1" targetFramework="net46" /> <package id="MahApps.Metro" version="1.5.0" targetFramework="net46" /> <package id="MaterialDesignColors" version="1.1.2" targetFramework="net46" /> <package id="MaterialDesignThemes" version="2.3.1.953" targetFramework="net46" /> - <package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net46" /> <package id="System.Reactive" version="3.1.1" targetFramework="net46" /> <package id="System.Reactive.Core" version="3.1.1" targetFramework="net46" /> <package id="System.Reactive.Interfaces" version="3.1.1" targetFramework="net46" /> |
