Esempio n. 1
0
        public static void StopNonAtomProcess()
        {
            IVertex r = MinusZero.Instance.Root;

            IVertex processes = r.GetAll(@"User\CurrentUser:\CurrentSession:\Process:");

            r.Get(@"User\CurrentUser:\CurrentSession:").DeleteEdge(processes.First());
        }
Esempio n. 2
0
        public IEdge this[string meta]
        {
            get {
                IVertex r = this.GetAll(meta + ":");

                if (r.Count() > 0)
                {
                    return(r.First());
                }

                IVertex metavertexs = this.GetAll(@"$Is:\" + meta);

                if (metavertexs.Count() > 0)
                {
                    IEdge metavertex = metavertexs.First();

                    IEdge newedge = new EasyEdge(this, metavertex.To, null);

                    return(newedge);
                }
                else
                {
                    if (meta == "$EdgeTarget")
                    {
                        IEdge metavertex = m0.MinusZero.Instance.Root.GetAll(@"System\Meta\Base\Vertex\$EdgeTarget").FirstOrDefault();

                        IEdge newedge = new EasyEdge(this, metavertex.To, null);

                        return(newedge);
                    }
                }

                // inherits from Vertex. hiddenly
                // this is for Table Visualiser
                IEdge vertexMetaVertex = m0.MinusZero.Instance.Root.GetAll(@"System\Meta\Base\Vertex\" + meta).FirstOrDefault();

                if (vertexMetaVertex != null)
                {
                    return(new EasyEdge(this, vertexMetaVertex.To, null));
                }

                return(null);
            }
        }
Esempio n. 3
0
        public static void DoFormDrop(object orgin, IVertex baseVertex, IVertex metaVertex, DragEventArgs e)
        {
            object sender = e.Data.GetData("DragSource");

            if (sender == null || orgin == sender)
            {
                return;
            }

            if (e.Data.GetDataPresent("Vertex"))
            {
                IVertex dndVertex = e.Data.GetData("Vertex") as IVertex;

                IVertex maxCardinality = metaVertex.Get("$MaxCardinality:");

                if (maxCardinality != null && (GraphUtil.GetIntegerValue(maxCardinality) == -1 || GraphUtil.GetIntegerValue(maxCardinality) > 1)) // ADD
                {
                    foreach (IEdge ee in dndVertex)
                    {
                        baseVertex.AddEdge(metaVertex, ee.To.Get("To:"));
                    }
                }
                else // REPLACE
                {
                    GraphUtil.ReplaceEdge(baseVertex, metaVertex, dndVertex.First().To.Get("To:"));
                }


                if (sender is IHasSelectableEdges)
                {
                    ((IHasSelectableEdges)sender).UnselectAllSelectedEdges();
                }

                GraphUtil.RemoveAllEdges(dndVertex);
            }

            MinusZero.Instance.IsGUIDragging = false;
        }