| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using FlowEditor.WorkFlow;
- namespace FlowEditor
- {
- public partial class ModifyOutputEditForm : Form
- {
-
- WorkFlow.Flow _flow;
- WorkFlow.FlowNode _objNode;
- List<WorkFlow.OutputPort> _newOutputPortList;
- WorkFlow.OutputPort _outputPort;
- public WorkFlow.Flow Flow
- {
- get { return _flow; }
- set { _flow = value; }
- }
- public WorkFlow.FlowNode ObjNode
- {
- get { return _objNode; }
- set
- {
- _objNode = value;
- }
- }
- public List<WorkFlow.OutputPort> NewOutputPortList
- {
- get { return _newOutputPortList; }
- set { _newOutputPortList = value; }
- }
- public WorkFlow.OutputPort OutputPort
- {
- get { return _outputPort; }
- set { _outputPort = value; }
- }
- public ModifyOutputEditForm()
- {
- InitializeComponent();
- }
- /// <summary>
- /// 获取可供作为出口的节点列表
- /// 开始节点不选,当前节点不选,除了当前出口的节点外其他已被作为出口的节点不选
- /// </summary>
- /// <returns></returns>
- protected List<WorkFlow.FlowNode> GetNodes()
- {
- List<WorkFlow.FlowNode> nodeList = new List<WorkFlow.FlowNode>();
- nodeList.Add(_outputPort.ObjNode);
- foreach (WorkFlow.FlowNode node in _flow.FlowNodeList)
- {
- if (node.Type == WorkFlow.FlowNodeType.Begin_FlowNode || node == _objNode)
- continue;
- bool bAdd = true;
- if (_newOutputPortList != null && _newOutputPortList.Count > 0)
- {
- foreach (WorkFlow.OutputPort outputPort in _newOutputPortList)
- {
- if (outputPort.ObjNode == node)
- {
- bAdd = false;
- break;
- }
- }
- }
- if (bAdd)
- nodeList.Add(node);
- }
- return nodeList;
- }
- private void OutputEditForm_Load(object sender, EventArgs e)
- {
- FlowNode[] nodes = GetNodes().ToArray<FlowNode>();
- cbNextNodes.Items.AddRange(nodes);
- //设置原来出口节点为当前节点
- cbNextNodes.SelectedItem = _outputPort.ObjNode;
- tbID.Text = _outputPort.ID;
- tbName.Text = _outputPort.Name;
- }
- private void btOK_Click(object sender, EventArgs e)
- {
- _outputPort.ID = tbID.Text;
- _outputPort.Name = tbName.Text;
- _outputPort.ObjNode = (FlowNode)cbNextNodes.SelectedItem;
- }
- }
- }
|