示例#1
0
        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);
        }
示例#2
0
        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" });

                //
            }
        }