2026-06-05 13:44:39 +09:00

51 lines
1.9 KiB
C#

using Aurora;
using Aurora.Api;
using VisionCommon;
namespace VisionUI.RecipeMenu {
/// <summary>
/// VisionDef 레시피 사용
/// </summary>
public class UCVisionRecipeMenuRecipe : UCVisionRecipeMenuViewModelBase, IRecipeViewModel {
/// <summary>
/// 생성자
/// </summary>
/// <param name="aurora">오로라 환경</param>
/// <param name="onlyPropertyGrid">프로퍼티 그리드만 사용할지 여부</param>
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
}
}