aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MultiComboVM.cs
blob: d15ac6e11c2747307cdd61b871e9b45c7d938079 (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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.SharedUI;

namespace Tango.MachineStudio.DB.ViewModels
{
    public class MultiComboVM<T> : EntityViewModel<T>
    {
        private Action _onSelectionChanged;

        public event EventHandler SelectionChanged;

        public MultiComboVM(T entity) : base(entity)
        {

        }

        public MultiComboVM(T entity, Action onSelectionChanged) : this(entity)
        {
            _onSelectionChanged = onSelectionChanged;
        }

        private bool _isSelected;

        public bool IsSelected
        {
            get { return _isSelected; }
            set { _isSelected = value; RaisePropertyChangedAuto(); OnSelectionChanged(); }
        }

        protected virtual void OnSelectionChanged()
        {
            if (_onSelectionChanged != null)
            {
                _onSelectionChanged();
            }

            SelectionChanged?.Invoke(this, new EventArgs());
        }
    }
}
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.UI.Authentication; using Tango.MachineStudio.UI.Console; using Tango.MachineStudio.UI.FirmwareUpgrade; 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.Threading; 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.Unregister<IDispatcherProvider>(); TangoIOC.Default.Unregister<IJobRunsLogger>(); TangoIOC.Default.Unregister<IFirmwareUpgrader>(); TangoIOC.Default.Register<IDispatcherProvider, DefaultDispatcherProvider>(new DefaultDispatcherProvider(Application.Current.Dispatcher)); TangoIOC.Default.Register<INotificationProvider, DefaultNotificationProvider>(); TangoIOC.Default.Register<IAuthenticationProvider, DefaultAuthenticationProvider>(); TangoIOC.Default.Register<INavigationManager, DefaultNavigationManager>(); TangoIOC.Default.Register<IStudioModuleLoader, DefaultStudioModuleLoader>(); TangoIOC.Default.Register<IJobRunsLogger, DefaultJobRunsLogger>(); 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<IFirmwareUpgrader, DefaultFirmwareUpgrader>(); 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>(); } } } }