public static PanelArea Load(XmlNode node, string dir) { PanelArea area = new PanelArea(); area.Name = node.Attributes["name"].Value; area.Left = int.Parse(node.Attributes["left"].Value); area.Top = int.Parse(node.Attributes["top"].Value); area.Width = int.Parse(node.Attributes["width"].Value); area.Height = int.Parse(node.Attributes["height"].Value); area.Clickable = bool.Parse(node.Attributes["clickable"].Value); area.Order = int.Parse(node.Attributes["order"].Value); List <PanelImage> images = new List <PanelImage>(); XmlNodeList nodes = node.SelectNodes("image"); foreach (XmlNode node2 in nodes) { images.Add(PanelImage.Load(node2, dir)); } area.Images = images.ToArray(); return(area); }
public static PanelConfiguration Load(string fileName) { XmlDocument xml = new XmlDocument(); xml.Load(fileName); XmlNode node = xml.SelectSingleNode("/panel"); if (node != null) { PanelConfiguration panel = new PanelConfiguration(); panel.Name = node.Attributes["name"].Value; panel.ShowCaption = bool.Parse(node.Attributes["showCaption"].Value); panel.Width = int.Parse(node.Attributes["width"].Value); panel.Height = int.Parse(node.Attributes["height"].Value); panel.Top = int.Parse(node.Attributes["top"].Value); panel.Left = int.Parse(node.Attributes["left"].Value); XmlNodeList backgroundImagesNodes = node.SelectNodes("background/image"); List <PanelImage> backgroundImages = new List <PanelImage>(); foreach (XmlNode node2 in backgroundImagesNodes) { backgroundImages.Add(PanelImage.Load(node2, Path.GetDirectoryName(fileName))); } panel.Background = backgroundImages.ToArray(); XmlNodeList areasNodes = node.SelectNodes("area"); List <PanelArea> areas = new List <PanelArea>(); foreach (XmlNode node3 in areasNodes) { areas.Add(PanelArea.Load(node3, Path.GetDirectoryName(fileName))); } areas.Sort(delegate(PanelArea left, PanelArea right) { return(left.Order.CompareTo(right.Order)); }); panel.Areas = areas.ToArray(); return(panel); } return(null); }