示例#1
0
 private Command OpenCmdDialog(CmdEditType cmdEditType, ref FrmInputDialog inputDialog, TreeNode selectedNode)
 {
     while (inputDialog.ShowDialog() == DialogResult.OK)
     {
         Command cmd = inputDialog.GetCmdSet();
         if (ChkValidCmd(cmdEditType, selectedNode, cmd) == true)
         {
             return(SetProperRunState(cmd));
         }
     }
     return(null);
 }
示例#2
0
        private bool ChkValidCmd(CmdEditType cmdEditType, TreeNode selectedNode, Command cmd)
        {
            // Check redundant command
            TreeNodeCollection cmdGrp;

            if ((selectedNode == null) ||
                ((cmdEditType == CmdEditType.EDIT) && (selectedNode.Level == 0)))
            {
                cmdGrp = TreeView.Nodes;
            }
            else if (cmdEditType == CmdEditType.ADD)
            {
                cmdGrp = selectedNode.Nodes;
            }
            else
            {
                cmdGrp = selectedNode.Parent.Nodes;
            }

            if (cmd.Name == "")
            {
                MessageBox.Show("커맨드 이름을 입력해주세요.");
                return(false);
            }
            else if (cmdEditType == CmdEditType.ADD)
            {
                if (cmdGrp.ContainsKey(cmd.Name))
                {
                    MessageBox.Show("같은 이름의 커맨드 가 존재합니다.");
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            else
            {
                // 같은 이름의 node라도 그게 자기 자신인 경우는 제외
                TreeNode[] treeNodes = cmdGrp.Find(cmd.Name, false);
                if ((treeNodes.Length == 0) || (treeNodes[0] == selectedNode))
                {
                    return(true);
                }
                else
                {
                    MessageBox.Show("같은 이름의 커맨드 가 존재합니다.");
                    return(false);
                }
            }
        }