/// <summary> /// Removes the specified map frame if it is a root node. /// </summary> /// <param name="mapFrame">Map frame that gets removed.</param> /// <param name="preventRefresh">Boolean, if true, removing the map frame will not automatically force a refresh of the legend.</param> public void RemoveMapFrame(IFrame mapFrame, bool preventRefresh) { RootNodes.Remove(mapFrame); if (!RootNodes.Contains(mapFrame)) { OnExcludeMapFrame(mapFrame); } if (preventRefresh) { return; } RefreshNodes(); }
private void OnAddEdge(GraphEdge <T> edge) { if (edge.Source.IsLeafNode) { LeafNodes.Remove(edge.Source); } if (edge.Sink.IsRootNode) { RootNodes.Remove(edge.Sink); } edge.Source.OutgoingEdges.Add(edge); edge.Sink.IncomingEdges.Add(edge); }
private void OnRemoveNode(GraphNode <T> node) { RootNodes.Remove(node); var tempIncomingEdges = new List <GraphEdge <T> >(node.IncomingEdges); foreach (GraphEdge <T> incomingEdge in tempIncomingEdges) { RemoveEdge(incomingEdge); } LeafNodes.Remove(node); var tempOutgoingEdges = new List <GraphEdge <T> >(node.OutgoingEdges); foreach (GraphEdge <T> outgoingEdge in tempOutgoingEdges) { RemoveEdge(outgoingEdge); } }