コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: WrongDog/Sequence
        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;
        }