using MainShell.Models;
using MaxwellFramework.Core.Interfaces;
using MwFramework.Controls.UIControl.Axis;
using StyletIoC;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MainShell.ParaSetting.ViewModel
{
    public class DeviceFoundationViewModel : BaseScreen, IPage
    {
        private ProduceControlViewModel _produceControlViewModel;
        [Inject]
        public ProduceControlViewModel ProduceControlViewModel
        {
            get { return _produceControlViewModel; }
            set
            {
                _produceControlViewModel = value;
                OnPropertyChanged(nameof(ProduceControlViewModel));
            }
        }

        private AxisSoftLimitSettingViewModel _axisSoftLimitSettingViewModel;
        [Inject]
        public AxisSoftLimitSettingViewModel AxisSoftLimitSettingViewModel
        {
            get { return _axisSoftLimitSettingViewModel; }
            set
            {
                _axisSoftLimitSettingViewModel = value;
                OnPropertyChanged(nameof(AxisSoftLimitSettingViewModel));
            }
        }

        private AxisParameterSettingViewModel _axisParameterSettingViewModel;
        [Inject]
        public AxisParameterSettingViewModel AxisParameterSettingViewModel
        {
            get { return _axisParameterSettingViewModel; }
            set
            {
                _axisParameterSettingViewModel = value;
                OnPropertyChanged(nameof(AxisParameterSettingViewModel));
            }
        }

        private SaveSettingViewModel _saveSettingViewModel;
        [Inject]
        public SaveSettingViewModel SaveSettingViewModel
        {
            get { return _saveSettingViewModel; }
            set
            {
                _saveSettingViewModel = value;
                OnPropertyChanged(nameof(SaveSettingViewModel));
            }
        }

        private CameraParameterViewModel _cameraParameterViewModel;
        [Inject]
        public CameraParameterViewModel CameraParameterViewModel
        {
            get { return _cameraParameterViewModel; }
            set
            {
                _cameraParameterViewModel = value;
                OnPropertyChanged(nameof(CameraParameterViewModel));
            }
        }
    }
}
