private ConnectionPoint GetEmptyEdgeMidConnectionPointNotOfType(UIElement designer, EdgeLocation edgeLocation, ConnectionPointKind invalidType) { List<ConnectionPoint> connectionPoints = FlowchartDesigner.GetAllConnectionPoints(designer); connectionPoints = new List<ConnectionPoint>(connectionPoints.Where<ConnectionPoint>((p) => { return p != null && p.PointType != invalidType && p.AttachedConnectors.Count == 0 && p.EdgeLocation == edgeLocation; })); if (connectionPoints.Count > 0) { return connectionPoints[connectionPoints.Count / 2]; } return null; }
static ConnectionPoint GetClosestConnectionPointNotOfType(ConnectionPoint srcConnectionPoint, List<ConnectionPoint> targetConnectionPoints, ConnectionPointKind illegalConnectionPointKind) { double minDist; List<ConnectionPoint> filteredConnectionPoints = new List<ConnectionPoint>(); foreach (ConnectionPoint connPoint in targetConnectionPoints) { if (connPoint.PointType != illegalConnectionPointKind && !connPoint.Equals(srcConnectionPoint) && connPoint.AttachedConnectors.Count == 0) { filteredConnectionPoints.Add(connPoint); } } return GetClosestConnectionPoint(srcConnectionPoint, filteredConnectionPoints, out minDist); }
public ConnectionPoint() { pointType = ConnectionPointKind.Default; attachedConnectors = new List<Connector>(); this.parentDesigner = null; }
protected ConnectionPointSymbol(ConnectionPointKind kind, string name, Location location, TaskDeclarationSymbol taskDeclaration) : base(name, location) { Kind = kind; TaskDeclaration = taskDeclaration; }
//widthFraction and heightFraction determine the location of the ConnectionPoint on the UIElement. ConnectionPoint CreateConnectionPoint(UIElement element, double widthFraction, double heightFraction, EdgeLocation location, ConnectionPointKind type) { ConnectionPoint connectionPoint = new ConnectionPoint(); connectionPoint.EdgeLocation = location; connectionPoint.PointType = type; connectionPoint.ParentDesigner = element; connectionPoint.IsEnabled = false; BindingOperations.SetBinding(connectionPoint, ConnectionPoint.LocationProperty, GetConnectionPointBinding(element as FrameworkElement, widthFraction, heightFraction)); return connectionPoint; }
static ConnectionPoint GetClosestConnectionPointNotOfType(ConnectionPoint srcConnectionPoint, List <ConnectionPoint> targetConnectionPoints, ConnectionPointKind illegalConnectionPointKind) { double minDist; List <ConnectionPoint> filteredConnectionPoints = new List <ConnectionPoint>(); foreach (ConnectionPoint connPoint in targetConnectionPoints) { if (connPoint.PointType != illegalConnectionPointKind && !connPoint.Equals(srcConnectionPoint) && connPoint.AttachedConnectors.Count == 0) { filteredConnectionPoints.Add(connPoint); } } return(GetClosestConnectionPoint(srcConnectionPoint, filteredConnectionPoints, out minDist)); }
public ConnectionPoint() { pointType = ConnectionPointKind.Default; attachedConnectors = new List <Connector>(); this.parentDesigner = null; }
private static List <ConnectionPoint> FindCandidatePointsForLink(List <ConnectionPoint> destConnPoints, ConnectionPointKind excludePointType) { List <ConnectionPoint> candidateDestConnPoints; IEnumerable <ConnectionPoint> freeDestConnPoints = destConnPoints.Where(p => p.PointType != excludePointType && !p.AttachedConnectors.Any()); if (freeDestConnPoints.Any()) { candidateDestConnPoints = freeDestConnPoints.ToList(); } else { IEnumerable <ConnectionPoint> availablePoints = destConnPoints.Where( p => p.PointType != excludePointType && p.AttachedConnectors.Any(connector => FreeFormPanel.GetDestinationConnectionPoint(connector).Equals(p))); candidateDestConnPoints = availablePoints.Any() ? availablePoints.ToList() : destConnPoints; } return(candidateDestConnPoints); }
ConnectionPoint FindClosestConnectionPointNotOfType(ConnectionPoint srcConnectionPoint, List <ConnectionPoint> targetConnectionPoints, ConnectionPointKind illegalConnectionPointKind) { double minDist; List <ConnectionPoint> filteredConnectionPoints = new List <ConnectionPoint>(); foreach (ConnectionPoint connPoint in targetConnectionPoints) { if (connPoint != null && connPoint.PointType != illegalConnectionPointKind && !connPoint.Equals(srcConnectionPoint)) { filteredConnectionPoints.Add(connPoint); } } return(FindClosestConnectionPoint(srcConnectionPoint, filteredConnectionPoints, out minDist)); }
protected ConnectionPointSymbol(ConnectionPointKind kind, string name, Location location): base(name, location) { Kind = kind; }