public static void DeleteTemplate(StyleTemplate template) { TemplatesDictionary.Remove(template.Name); if (template.IsDefault()) { DefaultTemplates.Remove(template.Style.Type); } Save(); }
static void OnTemplateStyleChanged(StyleTemplate template, Style newStyle) { if (template.IsDefault()) { DefaultTemplates.Remove(template.Style.Type); if (!DefaultTemplates.ContainsKey(newStyle.Type)) { DefaultTemplates[newStyle.Type] = template; } } }
public static void ToggleAsDefaultTemplate(StyleTemplate template) { if (template.IsDefault()) { DefaultTemplates.Remove(template.Style.Type); } else { DefaultTemplates[template.Style.Type] = template; } Save(); }
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); } }
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); }
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; } } }
private static void InitTempalte(StyleTemplate template) { template.OnTemplateChanged = OnTemplateChanged; template.OnStyleChanged = OnTemplateStyleChanged; template.OnNameChanged = OnTemplateNameChanged; }
public static bool IsDefault(this StyleTemplate template) => DefaultTemplates.TryGetValue(template.Style.Type, out StyleTemplate defaultTemplate) && template == defaultTemplate;