private static DTreeNode<DependencyGraphData> GetDependencyGraphNode(ITreeItem item, GraphDataArrow graphDataArrow, string edgeText) { var data = new DependencyGraphData { SelectedType = item.SelectionType, Title = item.Text, Arrow = graphDataArrow, EdgeText = edgeText }; return new DTreeNode<DependencyGraphData>(data); }
private void AddConnection(ShapeBase rootShape, ImageRectangle child, Point point, DependencyGraphData dGraphData) { IConnector rootConnector = null; IConnector childConnector = null; if (point.X <= rootShape.X) { if (point.Y < rootShape.Y) { rootConnector = rootShape.Connectors[0]; childConnector = child.Connectors[2]; } else if (point.Y < (rootShape.Y + rootShape.Height)) { rootConnector = rootShape.Connectors[3]; childConnector = child.Connectors[1]; } else { rootConnector = rootShape.Connectors[2]; childConnector = child.Connectors[0]; } } else if (point.X > rootShape.X) { if (point.Y < rootShape.Y) { rootConnector = rootShape.Connectors[0]; childConnector = child.Connectors[2]; } else if (point.Y < (rootShape.Y + rootShape.Height)) { rootConnector = rootShape.Connectors[1]; childConnector = child.Connectors[3]; } else { rootConnector = rootShape.Connectors[2]; childConnector = child.Connectors[0]; } } var pS = new LinePenStyle {EndCap = LineCap.DiamondAnchor}; if (dGraphData.SelectedType == SelectionType.INTERFACE || dGraphData.SelectedType == SelectionType.ABSTRACT) { pS.Color = Color.Chocolate; pS.Width = 2; pS.DashStyle = DashStyle.Dash; } IConnection conn; if (dGraphData.Arrow == GraphDataArrow.TO) { conn = canvas.AddConnection(rootConnector, childConnector); } else { conn = canvas.AddConnection(childConnector, rootConnector); } conn.PenStyle = pS; }