private void AddGraphToList(List <ListViewItem> items, NetGraph graph) { foreach (var pair in graph.Nodes) { BasePipelineNode node = pair.Value; if (_showHidden || !node.Hidden) { NetGraphContainerNode container = node as NetGraphContainerNode; if (node is NetGraphContainerNode) { AddGraphToList(items, ((NetGraphContainerNode)node).ContainedGraph); } else if (node is LayerSectionNode) { LayerSectionNode layerNode = (LayerSectionNode)node; if (layerNode.IsMaster) { foreach (NetGraph subGraph in layerNode.Graphs) { AddGraphToList(items, subGraph); } } } else { ListViewItem item = new ListViewItem(node.ToString()); item.SubItems.Add(node.Enabled.ToString()); item.SubItems.Add(node.IsShutdown.ToString()); item.SubItems.Add(node.InputPacketCount.ToString()); item.SubItems.Add(node.OutputPacketCount.ToString()); item.SubItems.Add(node.ByteCount.ToString()); item.Tag = node; items.Add(item); } } } }
/// <summary> /// On Create method /// </summary> /// <param name="logger">The logger for use during creation</param> /// <param name="graph">The containing graph</param> /// <param name="stateDictionary">Current state dictionary</param> /// <returns></returns> protected override BasePipelineNode OnCreate(Logger logger, Nodes.NetGraph graph, Dictionary <string, object> stateDictionary) { if (Factory == null) { throw new NodeFactoryException(CANAPE.Properties.Resources.NetGraphContainerFactory_MustSpecifyGraph); } // Check if we have already created this node as part of a pairing if (stateDictionary.ContainsKey(Id.ToString())) { return((BasePipelineNode)stateDictionary[Id.ToString()]); } NetGraphContainerNode ret = new NetGraphContainerNode(Label, Factory, Direction, graph, logger, stateDictionary, LinkedNode != null); if (LinkedNode != null) { stateDictionary[LinkedNode.Id.ToString()] = new NetGraphContainerNode(ret, logger); } return(ret); }