Ejemplo n.º 1
0
        internal void RemoveVariablesDefinedInNode(VisualNode node)
        {
            List <string> variables = node.GetDefinedVariables(false);

            if (variables == null || variables.Count <= 0)
            {
                return;
            }

            foreach (string variable in variables)
            {
                this.RemoveDefinition(variable, node.NodeId);
            }
        }
Ejemplo n.º 2
0
        internal void AddVariablesDefinedInNode(VisualNode node, bool isPriority)
        {
            List <string> variables = node.GetDefinedVariables(false);

            if (variables == null || variables.Count <= 0)
            {
                return;
            }

            foreach (string variable in variables)
            {
                this.AddDefinition(variable, node.NodeId, isPriority);
            }
        }
Ejemplo n.º 3
0
        internal void UpdateVariablesDefinedInNode(VisualNode node, bool isPriority)
        {
            List <string> mappingToRemove = new List <string>();
            List <string> variables       = node.GetDefinedVariables(false);

            if (null != variables)
            {
                foreach (KeyValuePair <string, List <uint> > kvp in this.variableNodesMap)
                {
                    if (!variables.Contains(kvp.Key) && kvp.Value.Contains(node.NodeId))
                    {
                        mappingToRemove.Add(kvp.Key);
                    }
                }
            }

            foreach (string variable in mappingToRemove)
            {
                this.RemoveDefinition(variable, node.NodeId);
            }

            if (null != variables)
            {
                foreach (string variable in variables)
                {
                    this.AddDefinition(variable, node.NodeId, isPriority);
                }
            }

            if (null != undefinedVarsTracker && (mappingToRemove.Count > 0))
            {
                if (!undefinedVarsTracker.ContainsKey(node.NodeId))
                {
                    undefinedVarsTracker.Add(node.NodeId, new List <string>());
                }

                foreach (string variable in mappingToRemove)
                {
                    undefinedVarsTracker[node.NodeId].Add(variable);
                }
            }
        }
Ejemplo n.º 4
0
        internal void UpdateVariablesDefinedInNode(VisualNode node, bool isPriority)
        {
            List<string> mappingToRemove = new List<string>();
            List<string> variables = node.GetDefinedVariables(false);

            if (null != variables)
            {
                foreach (KeyValuePair<string, List<uint>> kvp in this.variableNodesMap)
                {
                    if (!variables.Contains(kvp.Key) && kvp.Value.Contains(node.NodeId))
                        mappingToRemove.Add(kvp.Key);
                }
            }

            foreach (string variable in mappingToRemove)
                this.RemoveDefinition(variable, node.NodeId);

            if (null != variables)
            {
                foreach (string variable in variables)
                    this.AddDefinition(variable, node.NodeId, isPriority);
            }

            if (null != undefinedVarsTracker && (mappingToRemove.Count > 0))
            {
                if (!undefinedVarsTracker.ContainsKey(node.NodeId))
                    undefinedVarsTracker.Add(node.NodeId, new List<string>());

                foreach (string variable in mappingToRemove)
                    undefinedVarsTracker[node.NodeId].Add(variable);
            }
        }
Ejemplo n.º 5
0
        internal void RemoveVariablesDefinedInNode(VisualNode node)
        {
            List<string> variables = node.GetDefinedVariables(false);
            if (variables == null || variables.Count <= 0)
                return;

            foreach (string variable in variables)
                this.RemoveDefinition(variable, node.NodeId);
        }
Ejemplo n.º 6
0
        internal void AddVariablesDefinedInNode(VisualNode node, bool isPriority)
        {
            List<string> variables = node.GetDefinedVariables(false);
            if (variables == null || variables.Count <= 0)
                return;

            foreach (string variable in variables)
                this.AddDefinition(variable, node.NodeId, isPriority);
        }
Ejemplo n.º 7
0
        private void TransferInformationFromMethodToProperty(VisualNode sourceNode, VisualNode destinationNode)
        {
            if (sourceNode == null)
                throw new ArgumentNullException("sourceNode");
            if (sourceNode == null)
                throw new ArgumentNullException("destinationNode");

            destinationNode.Text = sourceNode.Text;

            Slot destinationInputSlot = this.GetSlot(destinationNode.GetInputSlot(0)) as Slot;
            Slot sourceInputSlot = this.GetSlot(sourceNode.GetInputSlot(0)) as Slot;
            if (sourceInputSlot.ConnectingSlots != null)
            {
                Slot outputSlot = this.GetSlot(sourceInputSlot.ConnectingSlots[0]) as Slot;
                this.edgeController.CreateLinkingEdge(outputSlot, destinationInputSlot);
            }

            Slot destinationOutputSlot = this.GetSlot(destinationNode.GetOutputSlot(0)) as Slot;
            Slot sourceOutputSlot = this.GetSlot(sourceNode.GetOutputSlot(0)) as Slot;
            if (sourceOutputSlot.ConnectingSlots != null)
            {
                foreach (uint slotId in sourceOutputSlot.ConnectingSlots)
                {
                    Slot inputSlot = this.GetSlot(slotId) as Slot;
                    this.edgeController.CreateLinkingEdge(destinationOutputSlot, inputSlot);
                }
            }

            List<string> defined = sourceNode.GetDefinedVariables(false);
            graphProperties.RuntimeStates.TransferVariableDefinitionMapping(
                defined, sourceNode.NodeId, destinationNode.NodeId);
        }