public override void VertexSetedUp()
        {
            if (Vertex.Get("VisualiserClass:") != null)
            {
                ContentVisualiser = PlatformClass.CreatePlatformObject(Vertex.Get("VisualiserClass:"));

                GraphUtil.ReplaceEdge(ContentVisualiser.Vertex, "BaseEdge", Vertex.Get("BaseEdge:"));

                Grid.SetRow((UIElement)ContentVisualiser, 2);

                TheGrid.Children.Add((UIElement)ContentVisualiser);
            }
            else
            {
                InternalFrame.BorderThickness = new Thickness(0);
                ContentVisualiser             = null;
            }

            //VisualiserUpdate(); done in base.VertexSetedUp();

            if (Vertex.Get("VisualiserVertex:") != null && ContentVisualiser != null)
            {
                Diagram.AddEdgesFromDefintion(ContentVisualiser.Vertex, Vertex.Get("VisualiserVertex:"));
            }

            base.VertexSetedUp();
        }
Beispiel #2
0
        public static IVertex OpenVisualiserSelectedBase(IVertex baseVertex, IVertex inputVertex)
        {
            IPlatformClass pc = (IPlatformClass)PlatformClass.CreatePlatformObject(inputVertex.Get("VisualiserClass:"));

            GraphUtil.ReplaceEdge(pc.Vertex.Get("BaseEdge:"), "Meta", baseVertex.Get("Meta:"));

            GraphUtil.ReplaceEdge(pc.Vertex.Get("BaseEdge:"), "To", baseVertex.Get("To:"));

            IVertex synchronisedVisualiser = inputVertex.Get("SynchronisedVisualiser:");

            BaseSelectedSynchronisedHelper helper = new BaseSelectedSynchronisedHelper(pc.Vertex, synchronisedVisualiser);

            PlatformClass.RegisterVertexChangeListeners(synchronisedVisualiser, new VertexChange(helper.SynchronisedVisualiserChange), new string[] { "BaseEdge", "SelectedEdges" });

            IVertex firstSelectedVertex = synchronisedVisualiser.Get(@"SelectedEdges:\");

            if (firstSelectedVertex != null)
            {
                GraphUtil.ReplaceEdge(pc.Vertex, "BaseEdge", firstSelectedVertex);
            }

            MinusZero.Instance.DefaultShow.ShowContent(pc);

            return(null);
        }
Beispiel #3
0
        public static IVertex OpenMetaVisualiser(IVertex baseVertex, IVertex inputVertex)
        {
            IPlatformClass sv = (IPlatformClass)PlatformClass.CreatePlatformObject(inputVertex);

            GraphUtil.ReplaceEdge(sv.Vertex.Get("BaseEdge:"), "To", baseVertex.Get("Meta:"));

            MinusZero.Instance.DefaultShow.ShowContent(sv);

            return(null);
        }
Beispiel #4
0
        public static IVertex OpenDiagram(IVertex baseVertex, IVertex inputVertex)
        {
            IPlatformClass sv = (IPlatformClass)PlatformClass.CreatePlatformObject(baseVertex.Get("To:"));

            //GraphUtil.ReplaceEdge(sv.Vertex, "BaseEdge", baseVertex);

            MinusZero.Instance.DefaultShow.ShowContent(sv);

            return(null);
        }
Beispiel #5
0
        public static void BaseEdgeChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs _e)
        {
            //int counter = (int)MinusZero.Instance.Root.Get(@"TEST\Counter:").Value;
            //counter++;
            //MinusZero.Instance.Root.Get(@"TEST\Counter:").Value = counter;

            VisualiserViewWrapper _this = (VisualiserViewWrapper)d;
            IEdge e = (IEdge)_e.NewValue;

            IPlatformClass pc;

            IVertex defvis = e.Meta.Get(@"$DefaultViewVisualiser:");

            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$EdgeTarget:\$DefaultViewVisualiser:");
            }

            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$VertexTarget:\$DefaultViewVisualiser:");
            }

            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$EdgeTarget:\$Is:\$DefaultEditVisualiser:");
            }

            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$VertexTarget:\$Is:\$DefaultEditVisualiser:");
            }

            if (defvis == null && e.To != null)
            {
                defvis = e.To.Get(@"$Is:\$DefaultViewVisualiser:");
            }

            if (defvis != null)
            {
                pc = (IPlatformClass)PlatformClass.CreatePlatformObject(defvis);

                if (defvis.Get("$Inherits:HasBaseEdge") != null)
                {
                    Edge.ReplaceEdgeEdges(pc.Vertex.Get("BaseEdge:"), e);
                }
            }
            else
            {
                pc = new StringViewVisualiser();
                Edge.ReplaceEdgeEdges(pc.Vertex.Get("BaseEdge:"), e);
            }

            _this.Content = pc;
        }
Beispiel #6
0
        public static IVertex OpenVisualiser(IVertex baseVertex, IVertex inputVertex)
        {
            IPlatformClass sv = (IPlatformClass)PlatformClass.CreatePlatformObject(inputVertex);

            //GraphUtil.ReplaceEdge(sv.Vertex, "BaseEdge", baseVertex); very wrong, will not work with GraphVisualiser becouse of changing its BaseEdge
            Edge.CopyAndReplaceEdge(sv.Vertex, "BaseEdge", baseVertex);

            MinusZero.Instance.DefaultShow.ShowContent(sv);

            return(null);
        }
Beispiel #7
0
        public static IVertex OpenVisualiserSelectedSelected(IVertex baseVertex, IVertex inputVertex)
        {
            IPlatformClass pc = (IPlatformClass)PlatformClass.CreatePlatformObject(inputVertex.Get("VisualiserClass:"));

            GraphUtil.ReplaceEdge(pc.Vertex, "BaseEdge", baseVertex);

            GraphUtil.ReplaceEdge(pc.Vertex, "SelectedEdges", inputVertex.Get(@"SynchronisedVisualiser:\SelectedEdges:"));

            MinusZero.Instance.DefaultShow.ShowContent(pc);

            return(null);
        }
Beispiel #8
0
        public static IVertex OpenVisualiserFloating(IVertex baseVertex, IVertex inputVertex)
        {
            IPlatformClass pc = (IPlatformClass)PlatformClass.CreatePlatformObject(inputVertex);

            //GraphUtil.ReplaceEdge(pc.Vertex, "BaseEdge", baseVertex);

            Edge.CopyAndReplaceEdge(pc.Vertex, "BaseEdge", baseVertex);

            MinusZero.Instance.DefaultShow.ShowContentFloating(pc);

            return(null);
        }
        public static void BaseEdgeChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs _e)
        {
            VisualiserEditWrapper _this = (VisualiserEditWrapper)d;
            IEdge e = (IEdge)_e.NewValue;

            IPlatformClass pc;

            IVertex defvis = e.Meta.Get(@"$DefaultEditVisualiser:");


            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$EdgeTarget:\$DefaultEditVisualiser:");
            }

            // if (defvis == null)
            //   defvis = e.Meta.Get(@"$VertexTarget:\$DefaultEditVisualiser:");
            //
            // in TableVisualiser it makes Class\Association, Class\Aggregation not editable

            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$EdgeTarget:\$Is:\$DefaultEditVisualiser:");
            }

            if (defvis == null)
            {
                defvis = e.Meta.Get(@"$VertexTarget:\$Is:\$DefaultEditVisualiser:");
            }

            if (defvis == null && e.To != null)
            {
                defvis = e.To.Get(@"$Is:\$DefaultEditVisualiser:");
            }

            if (defvis != null)
            {
                pc = (IPlatformClass)PlatformClass.CreatePlatformObject(defvis);

                if (defvis.Get("$Inherits:HasBaseEdge") != null)
                {
                    Edge.ReplaceEdgeEdges(pc.Vertex.Get("BaseEdge:"), e);
                }
            }
            else
            {
                pc = new StringVisualiser();
                Edge.ReplaceEdgeEdges(pc.Vertex.Get("BaseEdge:"), e);
            }

            _this.Content = pc;
        }
Beispiel #10
0
        public void AddDiagramLineObject(DiagramItemBase toItem, IVertex l)
        {
            DiagramLineBase newline = (DiagramLineBase)PlatformClass.CreatePlatformObject(l);

            newline.Diagram = this.Diagram;

            if (newline.Vertex.Get(@"Definition:\DiagramLineVertex:") != null)
            {
                Diagram.AddEdgesFromDefintion(newline.Vertex, newline.Vertex.Get(@"Definition:\DiagramLineVertex:"));
            }

            newline.FromDiagramItem = this;

            newline.ToDiagramItem = toItem;

            newline.AddToCanvas();

            AddToDiagramLines(newline);

            toItem.DiagramToLines.Add(newline);

            UpdateDiagramLines(toItem);
        }