Ejemplo n.º 1
0
        public static NodeViewModel FormatRangeVertex(this RangeVertex rangeVertex, Graph graph)
        {
            double width  = rangeVertex.ColumnCount * VERTEX_BOX - VERTEX_BOX / 3.0;
            double height = rangeVertex.RowCount * VERTEX_BOX - VERTEX_BOX / 3.0;
            var    posX   = Array.IndexOf(graph.PopulatedColumns, rangeVertex.StartAddress.column) * VERTEX_BOX + DIAGRAM_PADDING
                            + width / 2.0 - VERTEX_BOX / 3.0;
            var posY = Array.IndexOf(graph.PopulatedRows, rangeVertex.StartAddress.row) * VERTEX_BOX + DIAGRAM_PADDING
                       + height / 2.0 - VERTEX_BOX / 3.0;

            return(FormatRangeVertex(rangeVertex, posX, posY, width, height));
        }
Ejemplo n.º 2
0
        public static NodeViewModel FormatRangeVertex(this RangeVertex rangeVertex,
                                                      double posX, double posY, double width = 40, double height = 40)
        {
            var isLarge = width > VERTEX_BOX || height > VERTEX_BOX;
            var node    = new NodeViewModel
            {
                ID              = _nodeCounter++,
                Content         = rangeVertex,
                ContentTemplate = new DataTemplate(),
                UnitWidth       = width,
                UnitHeight      = height,
                OffsetX         = posX,
                OffsetY         = posY,
                ShapeStyle      = _rangeShapeStyle,
                Shape           = _rangeShape,
                Annotations     = new AnnotationCollection
                {
                    new AnnotationEditorViewModel
                    {
                        Offset = isLarge ? new Point(0, 0.5) : new Point(0, 0),
                        HorizontalAlignment                             = isLarge ? HorizontalAlignment.Right : HorizontalAlignment.Left,
                        VerticalAlignment                               = isLarge ? default : VerticalAlignment.Bottom,
                                                           Content      = rangeVertex.Name + "  ",
                                                           ViewTemplate = isLarge ? _rangeLabelTemplate : _normalLabelTemplate
                    }
                }
            };

            if (isLarge)
            {
                node.ZIndex = -1000;
            }
            SetNodeConstraints(node);
            rangeVertex.Node = node;
            return(node);
        }
Ejemplo n.º 3
0
 public GlobalRangeReference(RangeVertex rangeVertex) : base(rangeVertex)
 {
     ReferencedVertex = rangeVertex;
 }