aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Controls/ErrorData.cs
blob: 2dc07ba3f9c813bfab90211739ca9c6032d8d52f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
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.Html;
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.Video;
using Tango.MachineStudio.UI.Authentication;
using Tango.MachineStudio.UI.Console;
using Tango.MachineStudio.UI.Html;
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.ViewModels;
using Tango.MachineStudio.UI.Views;
using Tango.Settings;
using Tango.TFS;

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
    {
        private LogManager LogManager = LogManager.Default;

        /// <summary>
        /// Initializes a new instance of the ViewModelLocator class.
        /// </summary>
        public ViewModelLocator()
        {
            ////if (ViewModelBase.IsInDesignModeStatic)
            ////{
            ////    // Create design time view services and models
            ////    TangoIOC.Default.Register<IDataService, DesignDataService>();
            ////}
            ////else
            ////{
            ////    // Create run time view services and models
            ////    TangoIOC.Default.Register<IDataService, DataService>();
            ////}

            TangoIOC.Default.Unregister<INotificationProvider>();
            TangoIOC.Default.Unregister<IAuthenticationProvider>();
            TangoIOC.Default.Unregister<INavigationManager>();
            TangoIOC.Default.Unregister<IStudioModuleLoader>();
            TangoIOC.Default.Unregister<IStudioApplicationManager>();
            TangoIOC.Default.Unregister<ExternalBridgeScanner>();
            TangoIOC.Default.Unregister<IVideoCaptureProvider>();
            TangoIOC.Default.Unregister<IDiagnosticsFrameProvider>();
            TangoIOC.Default.Unregister<IEventLogger>();
            TangoIOC.Default.Unregister<ISpeechProvider>();
            TangoIOC.Default.Unregister<IHtmlPresenter>();
            TangoIOC.Default.Unregister<ITeamFoundationServiceClient>();

            TangoIOC.Default.Register<INotificationProvider, DefaultNotificationProvider>();
            TangoIOC.Default.Register<IAuthenticationProvider, DefaultAuthenticationProvider>();
            TangoIOC.Default.Register<INavigationManager, DefaultNavigationManager>();
            TangoIOC.Default.Register<IStudioModuleLoader, DefaultStudioModuleLoader>();
            TangoIOC.Default.Register<IStudioApplicationManager, DefaultStudioApplicationManager>();
            TangoIOC.Default.Register<ExternalBridgeScanner, ExternalBridgeScanner>();
            TangoIOC.Default.Register<IVideoCaptureProvider, DefaultVideoCaptureProvider>();
            TangoIOC.Default.Register<IDiagnosticsFrameProvider, DefaultDiagnosticsFrameProvider>();
            TangoIOC.Default.Register<IEventLogger, DefaultEventLogger>();
            TangoIOC.Default.Register<ISpeechProvider, DefaultSpeechProvider>();
            TangoIOC.Default.Register<IHtmlPresenter, DefaultHtmlPresenter>();
            TangoIOC.Default.Register<TeamFoundationServiceExtendedClient>(new TeamFoundationServiceExtendedClient("https://twinetfs.visualstudio.com", String.Empty, "szzfokrceo4rhd4eqi5qpmxn3pa5iwl3q7tlqd36l2m7smz2ynoa"));

            TangoIOC.Default.Register<MainViewVM>();
            TangoIOC.Default.Register<LoadingViewVM>();
            TangoIOC.Default.Register<ShutdownViewVM>();
            TangoIOC.Default.Register<LoginViewVM>();
            TangoIOC.Default.Register<MachineConnectionViewVM>();
            TangoIOC.Default.Register<ConnectedMachineViewVM>();
            TangoIOC.Default.Register<MachineLoginViewVM>();
            TangoIOC.Default.Register<UpdateViewVM>();
            TangoIOC.Default.Register<ConsoleWindowVM>();
            TangoIOC.Default.Register<AboutViewVM>();

            //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<MainViewVM>();
            }
        }

        public LoadingViewVM LoadingViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<LoadingViewVM>();
            }
        }

        public ShutdownViewVM ShutdownViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<ShutdownViewVM>();
            }
        }

        public LoginViewVM LoginViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<LoginViewVM>();
            }
        }

        public MachineConnectionViewVM MachineConnectionViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<MachineConnectionViewVM>();
            }
        }

        public ConnectedMachineViewVM ConnectedMachineViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<ConnectedMachineViewVM>();
            }
        }

        public MachineLoginViewVM MachineLoginViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<MachineLoginViewVM>();
            }
        }

        public UpdateViewVM UpdateViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<UpdateViewVM>();
            }
        }

        public ConsoleWindowVM ConsoleWindowVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<ConsoleWindowVM>();
            }
        }

        public AboutViewVM AboutViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<AboutViewVM>();
            }
        }
    }
}