public BasePin(VisualPin _visualPin, BaseNodePanel _parentNode = null) //Fix this _parentNode stuff { visualPin = _visualPin; parentNode = _parentNode; this.Size = new Size(23, 10); actualPinPanel = new Panel(); this.Controls.Add(actualPinPanel); actualPinPanel.Size = new Size(10, 10); switch (visualPin.pinRole) { case PinRole.Input: actualPinPanel.Location = new Point(0, 0); break; case PinRole.Output: actualPinPanel.Location = new Point(this.Size.Width - 10, 0); break; } actualPinPanel.BackColor = GetPinColor(visualPin.pinType); actualPinPanel.Click += BasePinClick; pinText = new Label(); this.Controls.Add(pinText); pinText.Size = new Size(13, 10); switch (visualPin.pinRole) { case PinRole.Input: pinText.Location = new Point(this.Size.Width - 13, 0); break; case PinRole.Output: pinText.Location = new Point(0, 0); break; } pinText.Font = new Font("Arial", 4, FontStyle.Bold); pinText.Text = visualPin.pinName; }
protected void SetupAllPins(List <VisualNodeC> _inputs, List <VisualNodeC> _outputs) { this.MouseDown += mouseDown; this.MouseUp += mouseUp; this.MouseMove += mouseMove; this.BackColor = Color.LightGray; nodeLabel = new Label(); this.Controls.Add(nodeLabel); nodeLabel.Location = new Point(0, 0); nodeLabel.Size = new Size(this.Size.Width, 13); nodeLabel.Text = visualNode.GetType().GetField("nodeName").GetValue(null).ToString(); nodeLabel.MouseDown += mouseDown; nodeLabel.MouseUp += mouseUp; nodeLabel.MouseMove += mouseMove; inputPins = new List <BasePin>(); outputPins = new List <BasePin>(); for (int i = 0; i < _inputs.Count; i++) { VisualPin newVisualPin = new VisualPin(PinRole.Input, _inputs[i].type, _inputs[i].isVariable, _inputs[i].pinName); visualNode.visualInputs.Add(newVisualPin); BasePin newPin = new BasePin(visualNode.visualInputs[i], this); /* * if (_inputs[i].pinType == typeof(ExecutionPin)) * { * //newPin = new ExecutionPin(PinRole.Input, this); * newPin = new BasePin(_inputs[i], PinRole.Input, this); * } * else * { * newPin = new BasePin(_inputs[i], PinRole.Input, this); * } */ this.Controls.Add(newPin); newPin.Location = new Point(0, i * 12 + 13); inputPins.Add(newPin); newPin.visualPin.visualNode = visualNode; visualNode.visualInputs[i].basePin = newPin; newPin.MouseMove += mouseMove; newPin.pinPressed += PinClicked; } for (int i = 0; i < _outputs.Count; i++) { VisualPin newVisualPin = new VisualPin(PinRole.Output, _outputs[i].type, _outputs[i].isVariable, _outputs[i].pinName); visualNode.visualOutputs.Add(newVisualPin); BasePin newPin = new BasePin(visualNode.visualOutputs[i], this); /* * if (_outputs[i] == typeof(ExecutionPin)) * { * newPin = new BasePin(_outputs[i], PinRole.Output, this); * } * else * { * newPin = new BasePin(_outputs[i], PinRole.Output, this); * } */ this.Controls.Add(newPin); newPin.Location = new Point(this.Size.Width - 23, i * 12 + 13); outputPins.Add(newPin); newPin.visualPin.visualNode = visualNode; visualNode.visualOutputs[i].basePin = newPin; newPin.MouseMove += mouseMove; newPin.pinPressed += PinClicked; } }