public void Load(string folderName) { this.folderName = folderName; if (backend != null) { backend.Load(folderName); } foreach (string basePath in DesignInfo.GetComponentFolders()) { if (!Directory.Exists(basePath)) { continue; } DirectoryInfo dir = new DirectoryInfo(basePath); foreach (FileInfo file in dir.GetFiles()) { if (file.Extension == ".gtkx") { using (StreamReader sr = new StreamReader(file.FullName)) { XmlTextReader reader = new XmlTextReader(sr); reader.MoveToContent(); if (reader.IsEmptyElement) { return; } reader.ReadStartElement("stetic-interface"); if (reader.IsEmptyElement) { return; } while (reader.NodeType != XmlNodeType.EndElement) { if (reader.NodeType == XmlNodeType.Element) { if (reader.LocalName == "widget") { ReadWidget(reader); } else if (reader.LocalName == "action-group") { ReadActionGroup(reader); } else { reader.Skip(); } } else { reader.Skip(); } reader.MoveToContent(); } } } } } }