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