protected override void OnMouseUp(MouseButtonEventArgs e) { base.OnMouseUp(e); Mediator.Instance.NotifyColleagues <bool>("DoneDrawingMessage", true); if (sourceConnector != null) { FullyCreatedConnectorInfo sourceDataItem = sourceConnector.DataContext as FullyCreatedConnectorInfo; if (sinkConnector != null) { FullyCreatedConnectorInfo sinkDataItem = sinkConnector.DataContext as FullyCreatedConnectorInfo; int indexOfLastTempConnection = sinkDataItem.DataItem.Parent.Items.Count - 1; sinkDataItem.DataItem.Parent.RemoveItemCommand.Execute( sinkDataItem.DataItem.Parent.Items[indexOfLastTempConnection]); sinkDataItem.DataItem.Parent.AddItemCommand.Execute(new ConnectorViewModel(sourceDataItem, sinkDataItem)); } else { //Need to remove last item as we did not finish drawing the path int indexOfLastTempConnection = sourceDataItem.DataItem.Parent.Items.Count - 1; sourceDataItem.DataItem.Parent.RemoveItemCommand.Execute( sourceDataItem.DataItem.Parent.Items[indexOfLastTempConnection]); } } sourceConnector = null; sinkConnector = null; }
public static Point GetPointForConnector(FullyCreatedConnectorInfo connector) { Point point = new Point(); switch (connector.Orientation) { case ConnectorOrientation.Left: point = new Point(connector.DataItem.Left - ConnectorInfoBase.ConnectorWidth, connector.DataItem.Top + (DesignerItemViewModelBase.ItemHeight / 2)); break; case ConnectorOrientation.Right: point = new Point(connector.DataItem.Left + DesignerItemViewModelBase.ItemWidth + (ConnectorInfoBase.ConnectorWidth), connector.DataItem.Top + (DesignerItemViewModelBase.ItemHeight / 2)); break; } return(point); }
public ConnectorViewModel(int id, IDiagramViewModel parent, FullyCreatedConnectorInfo sourceConnectorInfo, FullyCreatedConnectorInfo sinkConnectorInfo) : base(id, parent) { Init(sourceConnectorInfo, sinkConnectorInfo); }
public ConnectorViewModel(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo) { Init(sourceConnectorInfo, sinkConnectorInfo); }
private void Init(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo) { this.Parent = sourceConnectorInfo.DataItem.Parent; this.SourceConnectorInfo = sourceConnectorInfo; this.SinkConnectorInfo = sinkConnectorInfo; }