protected SimpleVisualiserWrapper Add(double x, double y, FrameworkElement _e, IVertex baseVertex) { SimpleVisualiserWrapper e = new SimpleVisualiserWrapper(_e, baseVertex, this); Children.Add(e); e.UpdateLayout(); Panel.SetZIndex(e, 1); Canvas.SetLeft(e, x - e.ActualWidth / 2); Canvas.SetTop(e, y - e.ActualHeight / 2); if (!DisplayedVertexesUIElements.ContainsKey(baseVertex)) { DisplayedVertexesUIElements.Add(baseVertex, e); } else { DisplayedVertexesUIElements[baseVertex] = e; } return(e); }
public void PaintGraph() { if (ActualHeight != 0) { //MinusZero.Instance.Log(1, "PaintGraph", ""); // turn off Vertex.Change listener PlatformClass.RemoveVertexChangeListeners(this.Vertex, new VertexChange(VertexChange)); // IsPaiting = true; if (GeneralUtil.CompareStrings(Vertex.Get("FastMode:"), "True")) { FastMode = true; } else { FastMode = false; } if (GeneralUtil.CompareStrings(Vertex.Get("MetaLabels:"), "True")) { MetaLabels = true; } else { MetaLabels = false; } if (GeneralUtil.CompareStrings(Vertex.Get("ShowInEdges:"), "True")) { ShowInEdges = true; } else { ShowInEdges = false; } this.Children.Clear(); foreach (UIElement e in DisplayedVertexesUIElements.Values) { if (e is IDisposable) { ((IDisposable)e).Dispose(); } } DisplayedVertexesUIElements.Clear(); //GraphUtil.RemoveAllEdges(Vertex.Get("DisplayedEdges:")); Width = GraphUtil.GetIntegerValue(Vertex.Get("NumberOfCircles:")) * GraphUtil.GetIntegerValue(Vertex.Get("VisualiserCircleSize:")) * 2; Height = Width; AddCircle(0, null); SelectWrappersForSelectedVertexes(); IsFirstPainted = true; IsPaiting = false; // turn on Vertex.Change listener PlatformClass.RegisterVertexChangeListeners(this.Vertex, new VertexChange(VertexChange), new string[] { "BaseEdge", "SelectedEdges" }); // } }