Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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();
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        /// <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);
        }