示例#1
0
 private void tsmIndependent_Click(object sender, EventArgs e)
 {
     if (trvTask.SelectedNode != null)
     {
         TreeNode node            = trvTask.SelectedNode;
         TreeNode parentNode      = node.Parent;
         TreeNode grandparentNode = node.Parent.Parent;
         TreeNode newNode         = (TreeNode)node.Clone();
         if (node.Parent != null && node.Parent.Parent != null)
         {
             string parentNodeName      = parentNode.Text;
             string grandparentNodeName = grandparentNode.Text;
             G.glb.lstSubTask.RemoveAll(o => o.Task == parentNode.Text && o.SubTask == node.Text);
             RSubTask newSub = new RSubTask();
             newSub.Task    = grandparentNode.Text;
             newSub.SubTask = node.Text;
             newSub.index   = grandparentNode.Nodes.Count;
             G.glb.lstSubTask.Add(newSub);
             grandparentNode.Nodes.Insert(parentNode.Index + 1, newNode);
             node.Remove();
             trvTask.SelectedNode = newNode;
             ReIndex(grandparentNodeName);
             ReIndex(parentNodeName);
             calculate C = new calculate();
             C.RefreshFinishTask(parentNodeName, G.glb.lstSubTask, G.glb.lstTask, G.glb.lstLog);
             RefreshIcon(trvTask.Nodes[0]);
         }
     }
 }
示例#2
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (G.glb.lstTask.Exists(o => o.TaskName == txtTask.Text))
     {
         MessageBox.Show("Task exists!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     else
     {
         CTask newTask = new CTask();
         newTask.TaskName   = txtTask.Text;
         newTask.DeadLine   = dtpDeadLine.Value.Date;
         newTask.TaskState  = ETaskState.NotStartedYet;
         newTask.IsBottom   = chkBottom.Checked;
         newTask.IsInfinite = chkInfinite.Checked;
         G.glb.lstTask.Add(newTask);
         RSubTask newRSubTask = new RSubTask();
         int      maxIndex;
         if (G.glb.lstSubTask.Exists(o => o.Task == UpperTask))
         {
             List <RSubTask> sameLevel = G.glb.lstSubTask.FindAll(o => o.Task == UpperTask).ToList();
             sameLevel = sameLevel.OrderByDescending(o => o.index).ToList();
             maxIndex  = sameLevel[0].index + 1;
         }
         else
         {
             maxIndex = 0;
         }
         newRSubTask.Task    = UpperTask;
         newRSubTask.SubTask = txtTask.Text;
         newRSubTask.index   = maxIndex;
         G.glb.lstSubTask.Add(newRSubTask);
         AddChildNode(txtTask.Text);
         Dispose();
     }
 }