using Microsoft.Win32;
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 System.Windows;
using Tango.Core.Commands;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.PMR;
using Tango.Scripting;
using Tango.Settings;
using Tango.SharedUI;
using Tango.Stubs;
using Tango.Stubs.ViewModels;
using Tango.Transport;
using Tango.Transport.Adapters;
namespace Tango.MachineStudio.Stubs.ViewModels
{
///
/// Represents the script execution module main view model.
///
///
public class MainViewVM : StudioViewModel
{
private INotificationProvider _notification;
#region Properties
public IStudioApplicationManager ApplicationManager { get; set; }
private StubsViewVM _stubsViewVM;
///
/// Gets or sets the stubs view vm.
///
public StubsViewVM StubsViewVM
{
get { return _stubsViewVM; }
set { _stubsViewVM = value; RaisePropertyChangedAuto(); }
}
#endregion
#region Constructors
///
/// Initializes a new instance of the class.
///
public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notification)
{
StubsViewVM = new StubsViewVM(ConnectionMode.External);
ApplicationManager = applicationManager;
_notification = notification;
StubsViewVM.Bind(nameof(StubsViewVM.MachineOperator), ApplicationManager, nameof(ApplicationManager.ConnectedMachine));
}
#endregion
#region Studio View Model
///
/// Called when [shutdown request].
///
///
public override void OnShuttingDown()
{
StubsViewVM.SaveSettings();
}
public override void OnApplicationReady()
{
}
#endregion
}
}