コード例 #1
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);
        }
コード例 #2
0
        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);
        }
コード例 #3
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);
        }