private void copySetMetaNodeToolStripMenuItem_Click(object sender, EventArgs e) { if (listViewStateEntries.SelectedItems.Count > 0) { StateGraphDocument.StateGraphEntry entry = (StateGraphDocument.StateGraphEntry)listViewStateEntries.SelectedItems[0].Tag; SetMetaStateNodeConfig config = new SetMetaStateNodeConfig(); config.MetaName = textBoxMetaName.Text; config.Value = entry.StateName; config.ResetStateOnMatch = true; LibraryNodeConfig libNode = new LibraryNodeConfig(typeof(SetMetaStateNode), String.Format(Properties.Resources.StateGraphDocumentControl_SetStateName, entry.StateName), config); libNode.Label = String.Format(Properties.Resources.StateGraphDocumentControl_SetStateName, entry.StateName); NetGraphDocumentControl.CopyNode(libNode); } }
/// <summary> /// Add a node at the current location with a new pipe node /// </summary> /// <param name="templateName"></param> private void AddNode(string templateName) { GraphNodeTemplate template = _templates[templateName]; BaseNodeConfig config = null; string label = null; if (template.TagType == typeof(LibraryNodeConfig)) { using (SelectLibraryNodeForm frm = new SelectLibraryNodeForm()) { if (frm.ShowDialog(this) == DialogResult.OK) { NodeLibraryManager.NodeLibraryType type = frm.Node; object nodeConfig = null; if (type.ConfigType != null) { nodeConfig = Activator.CreateInstance(type.ConfigType); } config = new LibraryNodeConfig(type.Type, type.Name, nodeConfig); if (!String.IsNullOrWhiteSpace(type.NodeName)) { label = type.NodeName; } } } } else { config = (BaseNodeConfig)Activator.CreateInstance(template.TagType); } if (config != null) { if (label != null) { config.Label = label; } else { config.Label = template.GetNewName(); } GraphNode n = AddNode(config, _currMousePos, 0.0f); if (config is MasterLayerNodeConfig) { MasterLayerNodeConfig masterConfig = config as MasterLayerNodeConfig; masterConfig.Slave.Label = config.Label + "-Slave"; AddLinkLine(n, AddNode(masterConfig.Slave, new PointF(_currMousePos.X + 75.0f, _currMousePos.Y), 0.0f)); } netEditor.SelectedObject = n; } }