/// <summary> /// Получить все xml узелы с описаниями шаблонов графиков /// </summary> /// <returns>xml описание шаблонов</returns> internal static IEnumerable <XmlNode> GetChartAllTemplates() { var rootNodeTemplates = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameChartTemplates, false); var result = rootNodeTemplates.ChildNodes.Cast <XmlNode>(); return(result); }
/// <summary> /// Обновление свойства Name какого либо тега chartTemplate /// </summary> /// <param name="oldName">текущее значение свойства</param> /// <param name="newName">новое значение имени</param> /// <returns>Был ли в списке элемент с именем указаным</returns> public static bool UpdateChartTemplateName(string oldName, string newName) { var rootNodeTemplates = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameChartTemplates, false); var doc = rootNodeTemplates.OwnerDocument; var exist = false; // Вытаскиваем изменяемый элемент var item = rootNodeTemplates.ChildNodes.Cast <XmlNode>().FirstOrDefault(x => x.Attributes[AttributeName].Value == oldName); if (item != null) { // Вытаскиваем все имена var templateNames = rootNodeTemplates.ChildNodes.Cast <XmlNode>().Where(node => node.Attributes != null && node.Attributes[AttributeName] != null). Select(x => x.Attributes[AttributeName].Value).ToArray(); if (templateNames.Contains(newName)) { var existItem = rootNodeTemplates.ChildNodes.Cast <XmlNode>().FirstOrDefault(x => x.Attributes[AttributeName].Value == newName); if (existItem != null) { rootNodeTemplates.RemoveChild(existItem); } exist = true; } item.Attributes[AttributeName].Value = newName; ToolSettingsStorageFile.SaveXml(doc); } return(exist); }
public void SaveSettings() { var nodeToolBtnSets = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameToolButtons); var doc = nodeToolBtnSets.OwnerDocument; var groupsNode = (XmlElement)nodeToolBtnSets.AppendChild(doc.CreateElement("groups")); foreach (var group in groups) { group.SaveInXml(groupsNode); } // todo: simplify to one tag-container "buttons" var buttonsNode = (XmlElement)nodeToolBtnSets.AppendChild(doc.CreateElement("buttons")); foreach (var btn in selButtons) { btn.SaveInXml(buttonsNode); } var sysButtonsNode = (XmlElement)nodeToolBtnSets.AppendChild(doc.CreateElement("systembuttons")); foreach (var btn in selSystemButtons) { btn.SaveInXml(sysButtonsNode); } ToolSettingsStorageFile.SaveXml(doc); }
/// <summary> /// Заполнение значениями массива имён доступны шаблонов (из xml). Вытаскиваем только те у которых атрибуты Name и Symbol есть в наличии /// </summary> private static void FillTemplatesNames() { var rootNodeTemplates = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameChartTemplates, false); templates = rootNodeTemplates.ChildNodes.Cast <XmlNode>().Where(node => node.Attributes != null && node.Attributes[AttributeSymbol] != null && node.Attributes[AttributeName] != null).ToArray(); }
/// <summary> /// Получить xml узел с описанием шаблона графика, имя которого указано в templateName /// </summary> /// <param name="templateName">имя шаблона, xml описание которого нужно получить</param> /// <returns>xml описание шаблона</returns> internal static XmlNode GetChartTemplate(string templateName) { var rootNodeTemplates = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameChartTemplates, false); var result = rootNodeTemplates.ChildNodes.Cast <XmlNode>().FirstOrDefault(template => template.Attributes != null && template.Attributes[AttributeName] != null && template.Attributes[AttributeName].Value == templateName); return(result); }
/// <summary> /// Удаляет шаблон с указатым имением /// </summary> /// <param name="templateName">имя шаблона, который следует удалить</param> internal static void DellChartTemplate(string templateName) { var rootNodeTemplates = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameChartTemplates, false); var doc = rootNodeTemplates.OwnerDocument; var item = rootNodeTemplates.ChildNodes.Cast <XmlNode>() .FirstOrDefault(x => x.Attributes[AttributeName].Value == templateName); if (item != null) { rootNodeTemplates.RemoveChild(item); } ToolSettingsStorageFile.SaveXml(doc); }