public void Add(CaseCell yourCaseCell) { if (myProjectChilds == null) { myProjectChilds = new List <CaseCell>(); } myProjectChilds.Add(yourCaseCell); }
/// <summary> /// 向当前Cell中插入子Cell /// </summary> /// <param name="yourCaseCell">子Cell</param> public void Add(CaseCell yourCaseCell) { if (childCellList == null) { childCellList = new List <CaseCell>(); } yourCaseCell.SetParentCell(this); childCellList.Add(yourCaseCell); if (childCellList.Count > 1) { childCellList[childCellList.Count - 2].SetNextCell(yourCaseCell); } }
/// <summary> /// 设置ParentCell /// </summary> /// <param name="yourCaseCell">ParentCell</param> public void SetParentCell(CaseCell yourCaseCell) { parentCell = yourCaseCell; }
/// <summary> /// 设置下一个Cell /// </summary> /// <param name="yourCaseCell">下一个Cell</param> public void SetNextCell(CaseCell yourCaseCell) { nextCell = yourCaseCell; }
void MyCaseTreeAction_OnCaseTreeChange(CaseExecutiveActuator.Cell.CaseCell yourCell, CaseTreeActionEventArgs e, CaseTreeActionType actionType) { if (yourCell == null) { return; } switch (actionType) { #region CaseNodeRunning case CaseTreeActionType.CaseNodeRunning: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 19); } break; #endregion #region CaseNodeSleeping case CaseTreeActionType.CaseNodeSleeping: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 20); } break; #endregion #region CaseNodePass case CaseTreeActionType.CaseNodePass: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 15); } break; #endregion #region CaseNodeFial case CaseTreeActionType.CaseNodeFial: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 7); } break; #endregion #region CaseNodeWarning case CaseTreeActionType.CaseNodeWarning: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 13); } break; #endregion #region CaseNodeBreak case CaseTreeActionType.CaseNodeBreak: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 11); } break; #endregion #region CaseNodePause case CaseTreeActionType.CaseNodePause: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 18); } break; #endregion #region CaseNodeStop case CaseTreeActionType.CaseNodeStop: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 25); } break; #endregion #region CaseNodeNukown case CaseTreeActionType.CaseNodeNukown: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 12); } break; #endregion #region CaseNodeAbnormal case CaseTreeActionType.CaseNodeAbnormal: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 21); } break; #endregion #region CaseNodeNoActuator case CaseTreeActionType.CaseNodeNoActuator: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 24); } break; #endregion #region CaseNodeConnectInterrupt case CaseTreeActionType.CaseNodeConnectInterrupt: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, 23); } break; #endregion #region CaseNodeContentError case CaseTreeActionType.CaseNodeContentError: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, Color.Pink); } break; #endregion #region CaseNodeContentWarning case CaseTreeActionType.CaseNodeContentWarning: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, Color.LightGoldenrodYellow); } break; #endregion #region CaseNodeContentEdit case CaseTreeActionType.CaseNodeContentEdit: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; CaseTreeNodeChangeState(yourTreeNode, Color.PaleGoldenrod); } break; #endregion #region CaseNodeLoopChange /// <summary> /// 为TreeNode添加额外运行时消息以表示loop的变化(额外消息原则上为【···】这种格式或者为空"",处理时替换原有【···】,如果没有则直接添加) /// </summary> /// <param name="yourCell">CaseCell</param> /// <param name="yourMessage">Message (请务必保证数据为【···】这种格式,或为空"")</param> case CaseTreeActionType.CaseNodeLoopChange: if (yourCell.UiTag == null || e == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; if (yourTreeNode.Text.StartsWith("【")) { int tempEnd = yourTreeNode.Text.IndexOf('】'); CaseTreeNodeChangeText(yourTreeNode, e.ExtendMessage + yourTreeNode.Text.Remove(0, tempEnd + 1)); } else { CaseTreeNodeChangeText(yourTreeNode, e.ExtendMessage + yourTreeNode.Text); } } break; #endregion #region CaseNodeLoopRefresh case CaseTreeActionType.CaseNodeLoopRefresh: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; yourTreeNode.TreeView.BeginUpdate(); if (yourTreeNode.Nodes.Count > 0) { foreach (TreeNode tempNode in yourTreeNode.Nodes) { if (((CaseCell)tempNode.Tag).CaseType != CaseType.Case) { continue; } if (((CaseCell)(tempNode.Tag)).CaseRunData.actions != null) { if (((CaseCell)(tempNode.Tag)).CaseRunData.actions.Count > 0) { CaseTreeNodeChangeState(tempNode, 16); continue; } } CaseTreeNodeChangeState(tempNode, 1); } } yourTreeNode.TreeView.EndUpdate(); } break; #endregion #region CaseNodeExpand case CaseTreeActionType.CaseNodeExpand: if (yourCell.UiTag == null) { return; } if (yourCell.UiTag is TreeNode) { TreeNode yourTreeNode = (TreeNode)yourCell.UiTag; if (yourTreeNode.Nodes.Count > 0) { //CaseType.Repeat if (!yourTreeNode.IsExpanded) { CaseTreeNodeChangeExpand(yourTreeNode); } } else { //CaseType.Case TreeNode tempParentNode = yourTreeNode.Parent; while (tempParentNode != null) { if (!tempParentNode.IsExpanded) { CaseTreeNodeChangeExpand(tempParentNode); } tempParentNode = tempParentNode.Parent; } } } break; #endregion default: throw new Exception("MyCaseTreeAction_OnCaseTreeChange unknow type"); } }