| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using Cognex.VisionPro.ToolBlock;
- using System;
- using System.Windows;
- using System.Windows.Controls;
- using TeamAAS.FlowEngine;
- using TeamAAS.FlowEditor.Plugins;
- using Plugins.Vpp.Models;
- using TeamAAS;
- namespace Plugins.Vpp.Views
- {
- public partial class VppToolBlockEditView : UserControl, IPluginViewSave
- {
- public VppToolBlockEditView()
- {
- InitializeComponent();
- Loaded += OnLoaded;
- Unloaded += OnUnloaded;
- }
- private void OnLoaded(object sender, RoutedEventArgs e)
- {
- if (DataContext is VppToolBlockModel model)
- {
- TxtTitle.Text = model.ToolName ?? "VPP工具块";
- if (model.ToolBlock == null)
- model.ToolBlock = new CogToolBlock();
- ToolBlockEditor.CogToolBlockEdit.Subject = model.ToolBlock;
- }
- }
- private void OnUnloaded(object sender, RoutedEventArgs e)
- {
- SaveChanges();
- PluginLoader.Instance.ParentGroupModel = null;
- }
- public void SaveChanges()
- {
- if (DataContext is VppToolBlockModel model)
- {
- model.ToolBlock = ToolBlockEditor.CogToolBlockEdit.Subject ?? model.ToolBlock;
- }
- }
- /// <summary>
- /// 点击齿轮 → 弹属性窗口配置输入参数映射
- /// InputSourceDataProvider 通过 PluginLoader.ParentGroupModel 查主流程前置节点结果
- /// </summary>
- private void BtnProperties_Click(object sender, RoutedEventArgs e)
- {
- if (DataContext is VppToolBlockModel model)
- {
- PluginLoader.Instance.ParentGroupModel = model;
- try
- {
- if (DialogHelper.EditProperties(model, $"VPP工具块属性 - {model.NodeName}"))
- {
- TxtTitle.Text = model.ToolName ?? "VPP工具块";
- DialogHelper.Info($"已更新VPP工具块属性: {model.ToolName}");
- }
- }
- finally
- {
- PluginLoader.Instance.ParentGroupModel = null;
- }
- }
- }
- private void BtnRun_Click(object sender, RoutedEventArgs e)
- {
- if (DataContext is VppToolBlockModel model && model.ToolBlock != null)
- {
- System.Threading.Tasks.Task.Run(() =>
- {
- try
- {
- model.ToolBlock.Run();
- }
- catch (Exception ex)
- {
- System.Diagnostics.Debug.WriteLine($"[VPP运行异常] {ex.Message}");
- }
- });
- }
- }
- }
- }
|