public Point? LoadElementPosition(GroupableNode node) { if (ShapePositions.Any(x => x.Key == node.Id)) { return ShapePositions.First(x => x.Key == node.Id).Value; } return null; }
public Point? LoadElementPosition(GroupableNode node) { Debug.Assert(ShapePositions != null, "Shape positions not initialized"); if (ShapePositions.Any(x => x.Key == node.Id)) { return ShapePositions.First(x => x.Key == node.Id).Value; } return null; }
public void RemoveChild(GroupableNode child) { this.ChildNodes.Remove(child); RecalculateHeight(); }
public void AddChild(GroupableNode child) { this.ChildNodes.Add(child); this.RecalculateHeight(); }
public void SaveElementPosition(GroupableNode node, Point? point) { if (ShapePositions.Any(x => x.Key == node.Id)) { ShapePositions.Remove(node.Id); } if (point.HasValue) { ShapePositions.Add(node.Id, point.Value); } // Saving into file if (this.FilePath != null) { var fileContent = JsonConvert.SerializeObject(this.ShapePositions); File.WriteAllText(this.FilePath, fileContent); } }
public void RemoveElementPosition(GroupableNode node) { this.SaveElementPosition(node, null); }
private Point CalculateElementPosition(GroupableNode node) { var x = 50.0; var y = 100.0; if (node is EndpointNode) { var leftAlignment = GetYPosition(Endpoint_LeftAlignment); var rightAlignment = GetYPosition(Endpoint_RightAlignment); if (leftAlignment <= rightAlignment) { x = Endpoint_LeftAlignment; } else { x = Endpoint_RightAlignment; } } else if (node is CommandNode || node is EventNode) { x = Message_Alignment; } y = GetYPosition(x); return new Point(x, y); }
public void SetElementPosition(GroupableNode node) { var position = this.LoadElementPosition(node); if (!position.HasValue) { position = this.CalculateElementPosition(node); this.SaveElementPosition(node, position.Value); } node.BoundsChanged += (s, e) => this.SaveElementPosition(node, node.Bounds.Location); node.Bounds = new Rect (position.Value, node.Bounds.Size); }
public void SaveElementPosition(GroupableNode node, Point? point) { if (ShapePositions.Any(x => x.Key == node.Id)) { ShapePositions.Remove(node.Id); } if (point.HasValue) { ShapePositions.Add(node.Id, point.Value); } // Saving into file if (this.FilePath != null) { try { var fileContent = JsonConvert.SerializeObject(this.ShapePositions); File.WriteAllText(this.FilePath, fileContent); } catch (Exception ex) { tracer.Error(ex, "Cannot save shape positions to DiagramShapePositions.json."); } } }
public void RemoveChild(GroupableNode child) { this.ChildNodes.Remove(child); RecalculateHeight(); }
public void AddChild(GroupableNode child) { this.ChildNodes.Add(child); this.RecalculateHeight(); }