/// <summary> /// Executes CreateAndConnectNodeCommand to create DoubleSlider and /// connect it's output port to the input port of the node. /// </summary> /// <param name="outputPortIndex">index of output port of slider</param> /// <param name="inputPortIndex">index of input port of the node.</param> /// <returns>New slider node</returns> protected NodeModel CreateAndConnectInputNode(int outputPortIndex, int inputPortIndex) { var loc = ComputeInputNodeLocation(inputPortIndex); // Create number slider node and connect to Point node var inputNodeGuid = Guid.NewGuid(); var command = new DynamoModel.CreateAndConnectNodeCommand(inputNodeGuid, Node.GUID, "CoreNodeModels.Input.DoubleSlider", outputPortIndex, inputPortIndex, loc.Item1, loc.Item2, false, false); CommandExecutive.ExecuteCommand(command, UniqueId, ExtensionName); var inputNode = WorkspaceModel.Nodes.FirstOrDefault(node => node.GUID == command.ModelGuid) as DoubleSlider; if (inputNode != null) { // Assign the input slider to the default value of the node's input port var doubleNode = Node.InPorts[inputPortIndex].DefaultValue as DoubleNode; if (doubleNode != null) { inputNode.Value = doubleNode.Value; } } return(inputNode); }
/// <summary> /// Executes CreateAndConnectNodeCommand to create DoubleSlider and /// connect it's output port to the input port of the node. /// </summary> /// <param name="outputPortIndex">index of output port of slider</param> /// <param name="inputPortIndex">index of input port of the node.</param> /// <returns>New slider node</returns> protected NodeModel CreateAndConnectInputNode(int outputPortIndex, int inputPortIndex) { var loc = ComputeInputNodeLocation(inputPortIndex); // Create number slider node and connect to Point node var inputNodeGuid = Guid.NewGuid(); var command = new DynamoModel.CreateAndConnectNodeCommand(inputNodeGuid, Node.GUID, "DSCoreNodesUI.Input.DoubleSlider", outputPortIndex, inputPortIndex, loc.Item1, loc.Item2, false, false); CommandExecutive.ExecuteCommand(command, UniqueId, ExtensionName); var inputNode = WorkspaceModel.Nodes.FirstOrDefault(node => node.GUID == command.ModelGuid) as DoubleSlider; return(inputNode); }