/// <summary> /// Called when an edit operation on a connection is requested /// </summary> /// <param name="sender">The sender.</param> /// <param name="point">The point.</param> private void OnConnectionEditRequested(object sender, Point point) { DiagramConnection connection = (DiagramConnection)sender; TileConnection tileConnection = connection.ToTileConnection(); tileConnection.DiagramConnection = connection; DiagramConnectionEditOperation operation = new DiagramConnectionEditOperation() { Connection = tileConnection, X = point.X, Y = point.Y }; //this.scatterView.DiagramConnectionEditCommand?.Execute(operation); }
/// <summary> /// Adds a new connection. /// </summary> /// <param name="connection">The connection.</param> private void AddConnection(TileConnection connection) { ConnectableViewItem connectableFrom = this.GetConnectable(connection.FromId); if (connectableFrom == null) { return; } ConnectableViewItem connectableTo = this.GetConnectable(connection.ToId); if (connectableTo == null) { return; } //From HitTestInfo hitTestInfo = this.GetHitTestInfo(connection.FromOrientation); ConnectorInfo originConnectorInfo = connectableFrom.CreateDiagramConnection(hitTestInfo); DiagramConnection newConnection = new DiagramConnection(connectableFrom, originConnectorInfo, 0) { Id = connection.Id, ConnectionType = connection.ConnectionType, RoutingMode = connection.RoutingMode }; newConnection.EditOperationRequested += this.OnConnectionEditRequested; //newConnection.CreateConnection(connection.Color, this.scatterView.DiagramSelectedConnectionColor, this.scatterView.DiagramConnectionHighlightColor, connection.Thickness, connection.Opacity); //To hitTestInfo = this.GetHitTestInfo(connection.ToOrientation); ConnectorInfo targetConnectorInfo = connectableTo.CreateDiagramConnection(hitTestInfo); //newConnection.CompletePendingConnection(connectableTo, targetConnectorInfo, this.scatterView.ControlTileScale); //Adds connection to related tiles newConnection.Origin.DiagramConnections.Add(newConnection); newConnection.Destination.DiagramConnections.Add(newConnection); connection.DiagramConnection = newConnection; //this.scatterView.AddVisualConnection(newConnection, false); }