Ejemplo n.º 1
0
        public void ForEach()
        {
            var r = new MapNode(new MapTree(), "r");
            var c1 = new MapNode(r, "c1");
            var cc1 = new MapNode(c1, "cc1");
            var c2 = new MapNode(r, "c2");

            r.ForEach(n => n.Text = "Updated");

            Assert.AreEqual(r.Text, "Updated");
            Assert.AreEqual(c1.Text, "Updated");
            Assert.AreEqual(cc1.Text, "Updated");
            Assert.AreEqual(c2.Text, "Updated");
        }
Ejemplo n.º 2
0
        public void ForEach_SkipFolded()
        {
            var r = new MapNode(new MapTree(), "r");
            var c1 = new MapNode(r, "c1");
            var c11 = new MapNode(c1, "c11");
            var c12 = new MapNode(c1, "c12");
            var c13 = new MapNode(c1, "c13");
            var c2 = new MapNode(r, "c2");
            var c3 = new MapNode(r, "c3", NodePosition.Left);
            c3.Folded = true;
            var c31 = new MapNode(c3, "c31");
            var c311 = new MapNode(c31, "c311");
            var c32 = new MapNode(c3, "c32");

            r.ForEach(n => n.Text = "Updated", n => n.Folded == false);

            Assert.AreEqual(r.Text, "Updated");
            Assert.AreEqual(c1.Text, "Updated");
            Assert.AreEqual(c11.Text, "Updated");
            Assert.AreEqual(c12.Text, "Updated");
            Assert.AreEqual(c12.Text, "Updated");
            Assert.AreEqual(c2.Text, "Updated");
            Assert.AreEqual(c3.Text, "Updated");
            Assert.AreEqual(c31.Text, "c31");
            Assert.AreEqual(c311.Text, "c311");
            Assert.AreEqual(c32.Text, "c32");
        }
Ejemplo n.º 3
0
 private void Tree_TreeStructureChanged(MapNode node, TreeStructureChangedEventArgs e)
 {
     if (e.ChangeType == TreeStructureChange.Deleted || e.ChangeType == TreeStructureChange.Detached)
     {
         node.ForEach(n =>
             {
                 if (n.IsTaskComplete())
                 {
                     Remove(n);
                     var evtTask = new CompletedTaskEventArgs();
                     evtTask.TaskChange = CompletedTaskChange.TaskRemoved;
                     if (n.CompletionDateExists()) evtTask.OldCompletionDate = n.GetCompletionDate();
                     evtTask.OldTaskStatus = n.GetTaskStatus();
                     TaskChanged(n, evtTask);
                 }
             });
     }
     else if (e.ChangeType == TreeStructureChange.Attached)
     {
         node.ForEach((n) =>
         {
             if (n.IsTaskComplete())
             {
                 Add(n);
                 var evtTask = new CompletedTaskEventArgs();
                 evtTask.TaskChange = CompletedTaskChange.TaskCompleted;
                 if (n.CompletionDateExists()) evtTask.OldCompletionDate = n.GetCompletionDate();
                 evtTask.OldTaskStatus = n.GetTaskStatus();
                 TaskChanged(n, evtTask);
             }
         });
     }
 }