using System; using System.Linq; using System.Windows; using Tango.BL.ActionLogs; using Tango.Core.DI; using Tango.Integration.ExternalBridge; using Tango.Logging; using Tango.MachineStudio.Common.Authentication; using Tango.MachineStudio.Common.Diagnostics; using Tango.MachineStudio.Common.EventLogging; using Tango.MachineStudio.Common.FirmwareUpgrade; using Tango.MachineStudio.Common.Modules; using Tango.MachineStudio.Common.Navigation; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Common.Speech; using Tango.MachineStudio.Common.StudioApplication; using Tango.MachineStudio.Common.Threading; using Tango.MachineStudio.Common.Video; using Tango.MachineStudio.Common.Web; using Tango.MachineStudio.UI.Authentication; using Tango.MachineStudio.UI.Console; using Tango.MachineStudio.UI.FirmwareUpgrade; using Tango.MachineStudio.UI.Modules; using Tango.MachineStudio.UI.Navigation; using Tango.MachineStudio.UI.Notifications; using Tango.MachineStudio.UI.StudioApplication; using Tango.MachineStudio.UI.SupervisingController; using Tango.MachineStudio.UI.TFS; using Tango.MachineStudio.UI.Threading; using Tango.MachineStudio.UI.ViewModels; using Tango.MachineStudio.UI.Views; using Tango.Settings; using Tango.TFS; namespace Tango.MachineStudio.UI { /// /// This class contains static references to all the view models in the /// application and provides an entry point for the bindings. /// public class ViewModelLocator { private LogManager LogManager = LogManager.Default; /// /// Initializes a new instance of the ViewModelLocator class. /// public ViewModelLocator() { ////if (ViewModelBase.IsInDesignModeStatic) ////{ //// // Create design time view services and models //// TangoIOC.Default.Register(); ////} ////else ////{ //// // Create run time view services and models //// TangoIOC.Default.Register(); ////} TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); if (App.StartupArgs.Contains("-webDebug")) { TangoIOC.Default.Register(new MachineStudioWebClient("http://localhost:1111", null)); } else { TangoIOC.Default.Register(new MachineStudioWebClient()); } TangoIOC.Default.Register(new DefaultDispatcherProvider(Application.Current.Dispatcher)); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(new DefaultActionLogManager() { IsAsync = true }); TangoIOC.Default.Register(new TeamFoundationServiceExtendedClient("https://twinetfs.visualstudio.com", String.Empty, "pyulwgs7m3v7pizz3oxusypdkdfw43txggo5mjwu2ouyv2qwprhq")); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); //Register View (Supervising Controller Pattern). //if (!ViewModelBase.IsInDesignModeStatic) //{ // LogManager.Log(String.Format("Registering Supervising Controller {0}...", nameof(IMainView))); // TangoIOC.Default.Register(() => (IMainView)MainView.Self); //} } public MainViewVM MainViewVM { get { return TangoIOC.Default.GetInstance(); } } public LoadingViewVM LoadingViewVM { get { return TangoIOC.Default.GetInstance(); } } public ShutdownViewVM ShutdownViewVM { get { return TangoIOC.Default.GetInstance(); } } public LoginViewVM LoginViewVM { get { return TangoIOC.Default.GetInstance(); } } public MachineConnectionViewVM MachineConnectionViewVM { get { return TangoIOC.Default.GetInstance(); } } public ConnectedMachineViewVM ConnectedMachineViewVM { get { return TangoIOC.Default.GetInstance(); } } public UpdateViewVM UpdateViewVM { get { return TangoIOC.Default.GetInstance(); } } public ConsoleWindowVM ConsoleWindowVM { get { return TangoIOC.Default.GetInstance(); } } public AboutViewVM AboutViewVM { get { return TangoIOC.Default.GetInstance(); } } } }