60 lines
2.6 KiB
C#
60 lines
2.6 KiB
C#
using Aurora.View;
|
|
using System.Windows.Input;
|
|
using VisionCommon;
|
|
using VisionCommonUI.Resources;
|
|
|
|
namespace VisionUI.Inspector {
|
|
/// <summary>
|
|
/// 어태치 검사 레시피 세팅 뷰 모델
|
|
/// </summary>
|
|
public class AttachInspRecipeSettingViewModel : NotifyPropertyChangedBase, IUpdateRecipe {
|
|
private SubSysInfo _SubSysInfo;
|
|
private SubSysRecipe _SubSysRecipe;
|
|
|
|
#region Binding Properties
|
|
private AttachInspRecipe _AttachInspRecipe;
|
|
/// <summary>어태치 검사 레시피</summary>
|
|
public AttachInspRecipe AttachInspRecipe {
|
|
get => _AttachInspRecipe; set { SetProperty(ref _AttachInspRecipe, value); }
|
|
}
|
|
#endregion
|
|
/// <summary>
|
|
/// 생성자
|
|
/// </summary>
|
|
/// <param name="subSysInfo">서브시스템 정보</param>
|
|
public AttachInspRecipeSettingViewModel(SubSysInfo subSysInfo) {
|
|
_SubSysInfo = subSysInfo;
|
|
_SubSysRecipe = VisionRecipeManager.GetSubSysRecipe(subSysInfo);
|
|
AttachInspRecipe = VisionRecipeManager.GetAttachInspRecipe(_SubSysInfo);
|
|
}
|
|
|
|
public void RefreshVisionRecipes() {
|
|
AttachInspRecipe = VisionRecipeManager.GetAttachInspRecipe(_SubSysInfo);
|
|
_SubSysRecipe = VisionRecipeManager.GetSubSysRecipe(_SubSysInfo);
|
|
}
|
|
|
|
public void UpdateRecipeFromFile() {
|
|
var attachInspRecipe = VisionRecipeManager.GetAttachInspRecipe(_SubSysInfo);
|
|
AttachInspRecipe = attachInspRecipe.Clone();
|
|
}
|
|
|
|
public void UpdateRecipeFromUI() {
|
|
var attachInspRecipe = VisionRecipeManager.GetAttachInspRecipe(_SubSysInfo);
|
|
var clonedAttachInspRecipe = AttachInspRecipe.Clone();
|
|
|
|
// IList 파라미터 사용시, CoordUnitAttachInspParamsConverter에서 ConvertBack이 동작하지 않으므로, 여기서 처리
|
|
if (VisionSettingManager.VisionSetting.CoordUnit == eCoordUnit.UM) {
|
|
foreach (var attachInspParam in clonedAttachInspRecipe.AttachInspParams) {
|
|
attachInspParam.SpecW = MathUtil.ConvertUnitMicroToMilli(attachInspParam.SpecW);
|
|
attachInspParam.ErrRangeW = MathUtil.ConvertUnitMicroToMilli(attachInspParam.ErrRangeW);
|
|
attachInspParam.SpecH = MathUtil.ConvertUnitMicroToMilli(attachInspParam.SpecH);
|
|
attachInspParam.ErrRangeH = MathUtil.ConvertUnitMicroToMilli(attachInspParam.ErrRangeH);
|
|
}
|
|
clonedAttachInspRecipe.CopyTo(attachInspRecipe);
|
|
}
|
|
else {
|
|
AttachInspRecipe.CopyTo(attachInspRecipe);
|
|
}
|
|
}
|
|
}
|
|
} |