/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using Aurora; using Aurora.Api; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using VisionCommon; namespace VisionUI.RecipeMenu { /// /// VisionDef 모델 사용 /// public class UCVisionRecipeMenuModel : UCVisionRecipeMenuViewModelBase, IModelViewModel { /// /// 생성자 /// /// 오로라 환경 /// 프로퍼티 그리드만 사용할지 여부 public UCVisionRecipeMenuModel(IAuroraEnvironment aurora, bool onlyPropertyGrid = false) : base(aurora, onlyPropertyGrid) { } #region IModelViewModel Interface public bool CanRename(string oldName, string newName, out string errMsg) { return base.CanRename(oldName, newName, out errMsg); } public void OnChanged(string modelName) { _Aurora.ModelManager.ReloadModelItem(modelName, VisionKeys.VisionRecipeKey); SelectedVisionDef = _Aurora.ModelManager.ModelItem(modelName, VisionKeys.VisionRecipeKey) as VisionDef; ShowInitZeroIndexValue(); } public void OnSaved(string modelName) { } public bool PreSaved(string modelName) { foreach (var unitRecipe in SelectedVisionDef.UnitRecipes) { foreach (var subSysRecipe in unitRecipe.SubSysRecipes) { CalculateCoordSystem(subSysRecipe); } } if (StaticCoordSettingVM != null) { return StaticCoordSettingVM.SaveRecipe(); } return true; } public void Reloaded(string modelName) { _Aurora.ModelManager.ReloadModelItem(modelName, VisionKeys.VisionRecipeKey); SelectedVisionDef = _Aurora.ModelManager.ModelItem(modelName, VisionKeys.VisionRecipeKey) as VisionDef; ShowInitZeroIndexValue(); } #endregion } }