Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
            }
        }