示例#1
0
        private int FindIndexOfNodeThatShouldPrecede(ProcessGroupNode aNodeGroup)
        {
            Func<Node, bool> textPrecedesNodeText = node => aNodeGroup.Text.CompareTo(node.Text) > 0;

            if (!Nodes.Any(textPrecedesNodeText)) return -1;
            return Nodes.Last(textPrecedesNodeText).Index;
        }
示例#2
0
        private ProcessGroupNode InitializeGroupFor(ProcessNode aNode)
        {
            var group = new ProcessGroupNode(aNode);

            _groups.Add(group);
            AddNodeInLexigographycalOrder(group);

            return group;
        }
示例#3
0
 public void VisitProcessGroupNode(ProcessGroupNode aProcessGroupNode)
 {
     VisitChildNodesOf(aProcessGroupNode);
 }
示例#4
0
 public void VisitProcessGroupNode(ProcessGroupNode aProcessGroupNode)
 {
     throw new System.NotImplementedException();
 }
示例#5
0
 public void VisitProcessGroupNode(ProcessGroupNode aProcessGroupNode)
 {
     throw new System.NotImplementedException();
 }
示例#6
0
 public void VisitProcessGroupNode(ProcessGroupNode aProcessGroupNode)
 {
     VisitChildNodesOf(aProcessGroupNode);
 }
示例#7
0
 public bool Equals(ProcessGroupNode other)
 {
     return(Equals(this, other.MainNode));
 }
示例#8
0
 private void AddNodeInLexigographycalOrder(ProcessGroupNode aNodeGroup)
 {
     var index = FindIndexOfNodeThatShouldPrecede(aNodeGroup);
     Nodes.Insert(index + 1, aNodeGroup);
 }
示例#9
0
 private void Remove(IProcess aProcess, ProcessGroupNode aGroupNode)
 {
     aGroupNode.UnGroup(aProcess);
     if (aGroupNode.IsDeleted) _groups.Remove(aGroupNode);
 }
示例#10
0
 public void VisitProcessGroupNode(ProcessGroupNode aProcessGroupNode)
 {
     _nodeWasHandled = _processGroupHandler(aProcessGroupNode);
 }
示例#11
0
 public bool Equals(ProcessGroupNode other)
 {
     return Equals(this, other.MainNode);            
 }
示例#12
0
 public void VisitProcessGroupNode(ProcessGroupNode aProcessGroupNode)
 {
     _nodeWasHandled = _processGroupHandler(aProcessGroupNode);
 }