using MwFramework.ManagerService;
using Stylet;

namespace MainShell.Recipe.Models.SubstrateParameter
{
    public class MarkCoordinatePoint : PropertyChangedBase, IParameterItem
    {
        private int _index;
        public int Index
        {
            get { return _index; }
            set { SetAndNotify(ref _index, value); }
        }

        private string _pointName;
        public string PointName
        {
            get { return _pointName; }
            set { SetAndNotify(ref _pointName, value); }
        }

        private int _row;
        public int Row
        {
            get { return _row; }
            set { SetAndNotify(ref _row, value); }
        }

        private int _col;
        public int Col
        {
            get { return _col; }
            set { SetAndNotify(ref _col, value); }
        }

        private double _theoryX;
        public double TheoryX
        {
            get { return _theoryX; }
            set { SetAndNotify(ref _theoryX, value); }
        }

        private double _theoryY;
        public double TheoryY
        {
            get { return _theoryY; }
            set { SetAndNotify(ref _theoryY, value); }
        }

        public IParameterItem Clone()
        {
            return new MarkCoordinatePoint
            {
                Index = Index,
                PointName = PointName,
                Row = Row,
                Col = Col,
                TheoryX = TheoryX,
                TheoryY = TheoryY,
            };
        }
    }
}