using Aurora; using Aurora.Api; using VisionCommon; namespace VisionUI.RecipeMenu { /// /// VisionDef 레시피 사용 /// public class UCVisionRecipeMenuRecipe : UCVisionRecipeMenuViewModelBase, IRecipeViewModel { /// /// 생성자 /// /// 오로라 환경 /// 프로퍼티 그리드만 사용할지 여부 public UCVisionRecipeMenuRecipe(IAuroraEnvironment aurora, bool onlyPropertyGrid = false) : base(aurora, onlyPropertyGrid) { } #region IRecipeViewItem Interface public void OnChanged((int id, string name) recipe) { _Aurora.ModelManager.ReloadModelItem(recipe.name, VisionKeys.VisionRecipeKey); SelectedVisionDef = _Aurora.RecipeManager.RecipeItem(recipe.id, VisionKeys.VisionRecipeKey) as VisionDef; ShowInitZeroIndexValue(); } public void OnModelSelectChanged(string modelName) { } public void OnSaved(int id, string recipeName) { } public bool PreSaved(int id, string recipeName) { 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((int id, string name) recipe) { _Aurora.ModelManager.ReloadModelItem(recipe.name, VisionKeys.VisionRecipeKey); SelectedVisionDef = _Aurora.RecipeManager.RecipeItem(recipe.id, VisionKeys.VisionRecipeKey) as VisionDef; ShowInitZeroIndexValue(); } #endregion } }