Exemple #1
0
 private void HighlightList(IList value, string name, bool addAnnotation)
 {
     for (int i = 0; i < value.Count; ++i)
     {
         if (value[i] is IGraphElement)
         {
             HighlightSingleValue(value[i], name + "[" + i + "]", addAnnotation);
         }
         if (value[i] is INode && i >= 1)
         {
             if (addAnnotation)
             {
                 ycompClient.AddEdge(name + i, name + "[->]", (INode)value[i - 1], (INode)value[i]);
             }
             else
             {
                 ycompClient.DeleteEdge(name + i);
             }
         }
     }
 }
Exemple #2
0
        // applies changes recorded so far, leaving a graph without visible changes behind (e.g. no annotations)
        public void ApplyChanges(YCompClient ycompClient)
        {
            foreach (INode node in addedNodes.Keys)
            {
                ycompClient.ChangeNode(node, null);
                ycompClient.AnnotateElement(node, null);
            }
            foreach (IEdge edge in addedEdges.Keys)
            {
                ycompClient.ChangeEdge(edge, null);
                ycompClient.AnnotateElement(edge, null);
            }

            foreach (String edgeName in deletedEdges)
            {
                ycompClient.DeleteEdge(edgeName);
            }
            foreach (String nodeName in deletedNodes)
            {
                ycompClient.DeleteNode(nodeName);
            }

            foreach (INode node in retypedNodes.Keys)
            {
                ycompClient.ChangeNode(node, null);
            }
            foreach (IEdge edge in retypedEdges.Keys)
            {
                ycompClient.ChangeEdge(edge, null);
            }

            foreach (INode node in annotatedNodes.Keys)
            {
                ycompClient.AnnotateElement(node, null);
            }
            foreach (IEdge edge in annotatedEdges.Keys)
            {
                ycompClient.AnnotateElement(edge, null);
            }
        }