Beispiel #1
0
        //*************************************************XML_BUILDERS****************************
        private void BuildDefaultVertex(XmlElement pParent, GVSDefaultVertex pVertex)
        {
            var defaultVertex = document.CreateElement(DEFAULTVERTEX);

            pParent.AppendChild(defaultVertex);
            defaultVertex.SetAttribute(ATTRIBUTEID, pVertex.GetHashCode().ToString());
            var vertexStyle = pVertex.GetStyle() ?? new GVSStyle();

            var label = document.CreateElement(LABEL);

            defaultVertex.AppendChild(label);
            var vertexLabel = pVertex.GetGvsVertexLabel() ?? "";

            label.AppendChild(document.CreateTextNode(vertexLabel));

            var lineColor = document.CreateElement(LINECOLOR);

            defaultVertex.AppendChild(lineColor);
            lineColor.AppendChild(document.CreateTextNode(vertexStyle.GetLineColor().ToString()));

            var lineStyle = document.CreateElement(LINESTYLE);

            defaultVertex.AppendChild(lineStyle);
            lineStyle.AppendChild(document.CreateTextNode(vertexStyle.GetLineStyle().ToString()));

            var lineThick = document.CreateElement(LINETHICKNESS);

            defaultVertex.AppendChild(lineThick);
            lineThick.AppendChild(document.CreateTextNode(vertexStyle.GetLineThickness().ToString()));

            var fillColor = document.CreateElement(FILLCOLOR);

            defaultVertex.AppendChild(fillColor);
            fillColor.AppendChild(document.CreateTextNode(vertexStyle.GetFillColor().ToString()));

            if (vertexStyle.GetIcon() != null)
            {
                var icon = document.CreateElement(ICON);
                defaultVertex.AppendChild(icon);
                icon.AppendChild(document.CreateTextNode(vertexStyle.GetIcon().ToString()));
            }
        }
Beispiel #2
0
        /// <summary>
        ///	 Remove a DefaultVertex. Connected edges will be removed to
        /// </summary>
        /// <param name="pGVSVertex"></param>
        public void Remove(GVSDefaultVertex pGVSVertex)
        {
            var toRemove = new ArrayList();

            foreach (var edge in gvsGraphEdges)
            {
                var interfaces = edge.GetType().GetInterfaces();
                foreach (var theInterface in interfaces)
                {
                    if (theInterface.FullName == typeof(GVSDirectedEdge).FullName)
                    {
                        var de = (GVSDirectedEdge)edge;
                        if (pGVSVertex == de.GetGvsEndVertex())
                        {
                            toRemove.Add(de);
                        }
                        if (pGVSVertex == de.GetGvsStartVertex())
                        {
                            toRemove.Add(de);
                        }
                    }
                    else if (theInterface.FullName == typeof(GVSUndirectedEdge).FullName)
                    {
                        var ue       = (GVSUndirectedEdge)edge;
                        var vertizes = ue.GetGvsVertizes();
                        foreach (var gvsVertex in vertizes)
                        {
                            if (gvsVertex == pGVSVertex)
                            {
                                toRemove.Add(ue);
                            }
                        }
                    }
                }
            }
            foreach (GVSGraphEdge edgeToRemove in toRemove)
            {
                this.gvsGraphEdges.Remove(edgeToRemove);
            }
            this.gvsGraphVertizes.Remove(pGVSVertex);
        }
Beispiel #3
0
 /// <summary>
 ///	 Add a DefaultVertex
 /// </summary>
 /// <param name="pGVSVertex"></param>
 public void Add(GVSDefaultVertex pGVSVertex)
 {
     this.gvsGraphVertizes.Add(pGVSVertex);
 }