using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using Tango.Core.Commands; using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Authentication; using Tango.MachineStudio.Common.Modules; using Tango.MachineStudio.UI.SupervisingController; using Tango.SharedUI; namespace Tango.MachineStudio.UI.ViewModels { public class MainViewVM : ViewModel { private IStudioModule _currentModule; public IStudioModule CurrentModule { get { return _currentModule; } set { _currentModule = value; RaisePropertyChangedAuto(); } } private bool _isMenuOpened; public bool IsMenuOpened { get { return _isMenuOpened; } set { _isMenuOpened = value; RaisePropertyChangedAuto(); } } public RelayCommand StartModuleCommand { get; set; } public RelayCommand HomeCommand { get; set; } private IAuthenticationProvider _authenticationProvider; public IAuthenticationProvider AuthenticationProvider { get { return _authenticationProvider; } set { _authenticationProvider = value; RaisePropertyChangedAuto(); } } private IStudioModuleLoader _studioModuleLoader; public IStudioModuleLoader StudioModuleLoader { get { return _studioModuleLoader; } set { _studioModuleLoader = value; RaisePropertyChangedAuto(); } } public MainViewVM(IMainView view, IAuthenticationProvider authenticationProvider, IStudioModuleLoader studioModuleLoader) : base(view) { AuthenticationProvider = authenticationProvider; StudioModuleLoader = studioModuleLoader; StartModuleCommand = new RelayCommand(StartModule); HomeCommand = new RelayCommand(Home); } private void Home() { StartModule(null); } private void StartModule(IStudioModule module) { IsMenuOpened = false; CurrentModule = module; } protected override void OnViewAttached() { base.OnViewAttached(); } } }