public void SaveAnouncement(AnouncementData ad) { // Search and remove the previous version XmlNode nodeToRemove = null; foreach (XmlNode xn in xd.DocumentElement.ChildNodes) { if (xn.Name == "Anouncement" && xn.Attributes["Name"].InnerText == ad.name) { nodeToRemove = xn; } } if (nodeToRemove != null) { xd.DocumentElement.RemoveChild(nodeToRemove); } // Write the new version XmlNode an = xd.CreateElement("Anouncement"); XmlAttribute xaName = xd.CreateAttribute("Name"); xaName.InnerText = ad.name; an.Attributes.Append(xaName); AddStringNode(an, "ImageId", ad.imageId.ToString()); AddStringNode(an, "Opacity", ad.opacity.ToString()); // Write out each region foreach (GfxTextRegion tr in ad.lTextRegions) { XmlNode xnTr = xd.CreateElement("TextRegion"); // Save basics string bounds = tr.bounds.X.ToString() + "," + tr.bounds.Y.ToString() + "," + tr.bounds.Width.ToString() + "," + tr.bounds.Height.ToString(); AddStringNode(xnTr, "Bounds", bounds); AddStringNode(xnTr, "Message", tr.message); // Save the font PresenterFont.AppendToXMLNode(xnTr, tr.font); an.AppendChild(xnTr); } // Finish and save xd.DocumentElement.AppendChild(an); Save(); }
public void SaveProject(ScrollerData sd) { // Search and remove the previous version XmlNode nodeToRemove = null; foreach (XmlNode xn in xd.DocumentElement.ChildNodes) { if (xn.Name == "Project" && xn.Attributes["Name"].InnerText == sd.name) { nodeToRemove = xn; } } if (nodeToRemove != null) { xd.DocumentElement.RemoveChild(nodeToRemove); } // Write the new version XmlNode an = xd.CreateElement("Project"); XmlAttribute xaName = xd.CreateAttribute("Name"); xaName.InnerText = sd.name; an.Attributes.Append(xaName); AddStringNode(an, "LeftMessage", sd.leftMessage); AddStringNode(an, "Message", sd.message); AddStringNode(an, "RightMessage", sd.rightMessage); if (sd.font == null) { sd.font = new PresenterFont(); sd.font.SizeInPoints = 12; } PresenterFont.AppendToXMLNode(an, sd.font); // Finish and save xd.DocumentElement.AppendChild(an); Save(); }