예제 #1
0
 public void Add(CaseCell yourCaseCell)
 {
     if (myProjectChilds == null)
     {
         myProjectChilds = new List <CaseCell>();
     }
     myProjectChilds.Add(yourCaseCell);
 }
예제 #2
0
 /// <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);
     }
 }
예제 #3
0
 /// <summary>
 /// 设置ParentCell
 /// </summary>
 /// <param name="yourCaseCell">ParentCell</param>
 public void SetParentCell(CaseCell yourCaseCell)
 {
     parentCell = yourCaseCell;
 }
예제 #4
0
 /// <summary>
 /// 设置下一个Cell
 /// </summary>
 /// <param name="yourCaseCell">下一个Cell</param>
 public void SetNextCell(CaseCell yourCaseCell)
 {
     nextCell = yourCaseCell;
 }
예제 #5
0
        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");
            }
        }