コード例 #1
0
        /// <summary>
        /// Begin inserting a node onto the diagram.
        /// </summary>
        /// <param name="node">The node to insert.</param>
        /// <param name="insertCopy">Whether to insert a copy of <see cref="node"/>.</param>
        public void BeginInsertingNode(Node node, bool insertCopy = false)
        {
            var nodeTypeName = node.GetType().FullName;
            var nodeToInsert = insertCopy ? _nodeProvider.CreateNodeFromName(nodeTypeName) : node;

            nodeToInsert.Visible = false;
            nodeToInsert.Model.X = _diagram.GetDiagramPointFromViewPointX(X);
            nodeToInsert.Model.Y = _diagram.GetDiagramPointFromViewPointX(Y);
            _diagram.AddNodeInteractively(nodeToInsert);
            if (ContextTerminal != null)
            {
                var autoWirer = new NodeAutoWirer();
                autoWirer.TryAutoWireTerminals(_diagram, ContextTerminal, nodeToInsert);
            }
            ContextTerminal = null;
        }