aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-12-13 13:45:13 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-12-13 13:45:13 +0200
commit2c376ac3ae651dd6c6592cc4cbf72768dc97a93d (patch)
treeb1f4a2210ab94e023ea122330fd97e830ebdb9c7 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
parent5babd8f257e9e6623ef1b0f1b17bc30619cc62bd (diff)
downloadTango-2c376ac3ae651dd6c6592cc4cbf72768dc97a93d.tar.gz
Tango-2c376ac3ae651dd6c6592cc4cbf72768dc97a93d.zip
Moved Machine Studio to its own folder.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs91
1 files changed, 91 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
new file mode 100644
index 000000000..2d3492ba0
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
@@ -0,0 +1,91 @@
+using GalaSoft.MvvmLight;
+using GalaSoft.MvvmLight.Ioc;
+using Microsoft.Practices.ServiceLocation;
+using System;
+using Tango.Logging;
+using Tango.MachineStudio.UI.SupervisingController;
+using Tango.MachineStudio.UI.ViewModels;
+using Tango.MachineStudio.UI.ViewModels.DBViewModels;
+using Tango.MachineStudio.UI.Views;
+
+namespace Tango.MachineStudio.UI
+{
+ /// <summary>
+ /// This class contains static references to all the view models in the
+ /// application and provides an entry point for the bindings.
+ /// </summary>
+ public class ViewModelLocator
+ {
+ /// <summary>
+ /// Initializes a new instance of the ViewModelLocator class.
+ /// </summary>
+ public ViewModelLocator()
+ {
+ ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
+
+ ////if (ViewModelBase.IsInDesignModeStatic)
+ ////{
+ //// // Create design time view services and models
+ //// SimpleIoc.Default.Register<IDataService, DesignDataService>();
+ ////}
+ ////else
+ ////{
+ //// // Create run time view services and models
+ //// SimpleIoc.Default.Register<IDataService, DataService>();
+ ////}
+
+ SimpleIoc.Default.Register<MainViewVM>();
+ SimpleIoc.Default.Register<MachinesViewVM>();
+ SimpleIoc.Default.Register<OrganizationsViewVM>();
+ SimpleIoc.Default.Register<AddressesViewVM>();
+ SimpleIoc.Default.Register<UsersViewVM>();
+
+ //Register View (Supervising Controller Pattern).
+ if (!ViewModelBase.IsInDesignModeStatic)
+ {
+ LogManager.Log(String.Format("Registering Supervising Controller {0}...", nameof(IMainView)));
+ SimpleIoc.Default.Register(() => (IMainView)MainView.Self);
+ }
+ }
+
+ public MainViewVM MainViewVM
+ {
+ get
+ {
+ return ServiceLocator.Current.GetInstance<MainViewVM>();
+ }
+ }
+
+ public MachinesViewVM MachinesViewVM
+ {
+ get
+ {
+ return ServiceLocator.Current.GetInstance<MachinesViewVM>();
+ }
+ }
+
+ public OrganizationsViewVM OrganizationsViewVM
+ {
+ get
+ {
+ return ServiceLocator.Current.GetInstance<OrganizationsViewVM>();
+ }
+ }
+
+ public AddressesViewVM AddressesViewVM
+ {
+ get
+ {
+ return ServiceLocator.Current.GetInstance<AddressesViewVM>();
+ }
+ }
+
+ public UsersViewVM UsersViewVM
+ {
+ get
+ {
+ return ServiceLocator.Current.GetInstance<UsersViewVM>();
+ }
+ }
+ }
+} \ No newline at end of file