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)); }
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); }
public GlobalRangeReference(RangeVertex rangeVertex) : base(rangeVertex) { ReferencedVertex = rangeVertex; }