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()); }
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); } }
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; }