Beispiel #1
0
        public static void DeleteTemplate(StyleTemplate template)
        {
            TemplatesDictionary.Remove(template.Name);
            if (template.IsDefault())
            {
                DefaultTemplates.Remove(template.Style.Type);
            }

            Save();
        }
Beispiel #2
0
 public T GetDefault <T>(Style.StyleType type) where T : Style
 {
     if (DefaultTemplates.TryGetValue(type, out Guid id) && TemplatesDictionary.TryGetValue(id, out StyleTemplate template) && template.Style is T style)
     {
         return((T)style.Copy());
     }
     else
     {
         return(Style.GetDefault <T>(type));
     }
 }
Beispiel #3
0
        static bool OnTemplateNameChanged(StyleTemplate template, string newName)
        {
            if (!string.IsNullOrEmpty(newName) && newName != template.Name && !TemplatesDictionary.ContainsKey(newName))
            {
                TemplatesDictionary.Remove(template.Name);
                TemplatesDictionary[newName] = template;

                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #4
0
        protected override void Clear(bool clearAssets = false)
        {
            base.Clear(clearAssets);

            var pairs = DefaultTemplates.ToArray();

            foreach (var pair in pairs)
            {
                if (!TemplatesDictionary.ContainsKey(pair.Value))
                {
                    DefaultTemplates.Remove(pair.Key);
                }
            }
        }
Beispiel #5
0
        protected override void FromXml(XElement config)
        {
            base.FromXml(config);

            foreach (var defaultConfig in config.Elements("D"))
            {
                var styleType  = (Style.StyleType)defaultConfig.GetAttrValue <int>("T");
                var templateId = defaultConfig.GetAttrValue <Guid>("Id");

                if (TemplatesDictionary.ContainsKey(templateId))
                {
                    DefaultTemplates[styleType] = templateId;
                }
            }
        }
Beispiel #6
0
        public static bool AddTemplate(Style style, out StyleTemplate template, string name = null)
        {
            var templateName = name ?? GetNewName();

            if (TemplatesDictionary.ContainsKey(templateName))
            {
                template = default;
                return(false);
            }

            template = new StyleTemplate(templateName, style);
            InitTempalte(template);
            TemplatesDictionary[template.Name] = template;

            Save();

            return(true);
        }
Beispiel #7
0
        static void FromXml(XElement config)
        {
            foreach (var templateConfig in config.Elements(StyleTemplate.XmlName))
            {
                if (StyleTemplate.FromXml(templateConfig, out StyleTemplate template) && !TemplatesDictionary.ContainsKey(template.Name))
                {
                    InitTempalte(template);
                    TemplatesDictionary[template.Name] = template;
                }
            }

            foreach (var defaultConfig in config.Elements("D"))
            {
                var styleType    = (Style.StyleType)defaultConfig.GetAttrValue <int>("T");
                var templateName = defaultConfig.GetAttrValue <string>("N");

                if (TemplatesDictionary.TryGetValue(templateName, out StyleTemplate template))
                {
                    DefaultTemplates[styleType] = template;
                }
            }
        }