using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using FLY.Thick.Base.Common;
using System.Collections.ObjectModel;

namespace FLY.Thick.Base.IService
{
    public interface ICoatingSegmentService : INotifyPropertyChanged
    {
        #region 参数
        bool Enable { get; set; }
        /// <summary>
        /// 保存使能
        /// </summary>
        bool EnSave { get; set; }
        /// <summary>
        /// 一个文件保存的数量
        /// </summary>
        int SaveCnt { get; set; }
        /// <summary>
        /// 列表的行数
        /// </summary>
        int RecentCnt { get; set; }
        /// <summary>
        /// 纵向边界传感器 input 序号
        /// </summary>
        int InIdxOfVSide { get; set; }

        /// <summary>
        /// 总长报警公差，单位mm
        /// </summary>
        double WarningTol_Total { get; set; }
        /// <summary>
        /// 留白报警公差，单位mm
        /// </summary>
        double WarningTol_Distance { get; set; }

        /// <summary>
        /// 参数应用
        /// </summary>
        void Apply();
        #endregion

        #region 工艺
        CoatingSegmentProfile Profile { get; }
        /// <summary>
        /// 工艺应用
        /// </summary>
        void ProfileApply();
        #endregion

        #region 列表

        /// <summary>
        /// 用于显示在 graph 区域
        /// </summary>
        ObservableCollection<FlyData_CoatingSegmentHistory> Recent { get; }
        /// <summary>
        /// 最新的测量结果，用于显示在 dynarea 区域
        /// </summary>
        FlyData_CoatingSegmentHistory Last { get; }
        #endregion
    }
}
