public Node([NotNull] ResourceLanguage owner, [NotNull] XElement element) { Contract.Requires(owner != null); Contract.Requires(element != null); Contract.Requires(owner._commentNodeName != null); _element = element; _owner = owner; }
private ICollection <string> GetValueAnnotations([NotNull] ResourceLanguage language) { Contract.Requires(language != null); Contract.Ensures(Contract.Result <ICollection <string> >() != null); return(GetStringFormatParameterMismatchAnnotations(language) .Concat(GetSnapshotDifferences(language, Values.GetValue(language.CultureKey), d => d.Text)) .ToArray()); }
/// <summary> /// Adds the language represented by the specified file. /// </summary> /// <param name="file">The file.</param> public void AddLanguage([NotNull] ProjectFile file) { var cultureKey = file.GetCultureKey(Container.Configuration); var resourceLanguage = new ResourceLanguage(this, cultureKey, file); _languages.Add(cultureKey, resourceLanguage); _resourceTableEntries.ForEach(entry => entry.Refresh()); Container.LanguageAdded(resourceLanguage.CultureKey); }
private static IEnumerable <string> GetTableLanguageColumnHeaders(this ResourceLanguage language) { Contract.Requires(language != null); var cultureName = language.CultureKey.ToString(); yield return(CommentHeaderPrefix + cultureName); yield return(cultureName); }
/// <summary> /// Adds the language represented by the specified file. /// </summary> /// <param name="file">The file.</param> public void AddLanguage(ProjectFile file) { Contract.Requires(file != null); var cultureKey = file.GetCultureKey(); var resourceLanguage = new ResourceLanguage(this, cultureKey, file); _languages.Add(cultureKey, resourceLanguage); _resourceTableEntries.ForEach(entry => entry.Refresh()); Container.LanguageAdded(resourceLanguage.CultureKey); }
private IEnumerable <string> GetSnapshotDifferences(ResourceLanguage language, string current, Func <ResourceData, string> selector) { var snapshot = _snapshot; if (snapshot == null) { yield break; } var snapshotValue = snapshot.GetValueOrDefault(language.CultureKey).Maybe().Return(selector) ?? string.Empty; if (snapshotValue.Equals(current ?? string.Empty)) { yield break; } yield return(string.Format(CultureInfo.CurrentCulture, Resources.SnapshotAnnotation, snapshotValue)); }
public void OnItemOrderChanged([NotNull] ResourceLanguage resourceLanguage) { Contract.Requires(resourceLanguage != null); if (resourceLanguage.CultureKey != CultureKey.Neutral) { return; } var index = 0; var entries = _resourceTableEntries.ToDictionary(entry => entry.Key); foreach (var key in resourceLanguage.ResourceKeys) { entries.GetValueOrDefault(key)?.UpdateIndex(index++); } }
public void OnItemOrderChanged([NotNull] ResourceLanguage resourceLanguage) { if (resourceLanguage.CultureKey != CultureKey.Neutral) { return; } var index = 0; var entries = _resourceTableEntries.ToDictionary(entry => entry.Key); foreach (var key in resourceLanguage.ResourceKeys) { if (entries.TryGetValue(key, out var value)) { value.UpdateIndex(index++); } } }
internal void Update(int index, IDictionary <CultureKey, ResourceLanguage> languages) { Contract.Requires(languages != null); Contract.Requires(languages.Any()); var oldComment = Comment; _index = index; _languages = languages; _neutralLanguage = languages.First().Value; Contract.Assume(_neutralLanguage != null); ResetTableValues(); // Preserve comments in WinForms designer resources, the designer always removes them. if (!string.IsNullOrEmpty(oldComment) && _container.IsWinFormsDesignerResource && string.IsNullOrEmpty(Comment)) { Comment = oldComment; } Refresh(); }
private IEnumerable <string> GetSnapshotDifferences([NotNull] ResourceLanguage language, string current, [NotNull] Func <ResourceData, string> selector) { Contract.Requires(language != null); Contract.Requires(selector != null); Contract.Ensures(Contract.Result <IEnumerable <string> >() != null); var snapshot = _snapshot; if (snapshot == null) { yield break; } var snapshotValue = snapshot.GetValueOrDefault(language.CultureKey).Maybe().Return(selector) ?? string.Empty; if (snapshotValue.Equals(current ?? string.Empty)) { yield break; } yield return(string.Format(CultureInfo.CurrentCulture, Resources.SnapshotAnnotation, snapshotValue)); }
internal bool IsContentEqual([NotNull] ResourceLanguage other) { Contract.Requires(other != null); return(_document.ToString(SaveOptions.DisableFormatting) == other._document.ToString(SaveOptions.DisableFormatting)); }
internal void OnLanguageChanged([NotNull] ResourceLanguage language) { Contract.Requires(language != null); LanguageChanged?.Invoke(this, new LanguageEventArgs(language)); }
public ProjectFileEventArgs([NotNull] ResourceLanguage language, [NotNull] ProjectFile projectFile) { Language = language; ProjectFile = projectFile; }
public LanguageEventArgs([NotNull] ResourceLanguage language) { Language = language; }
public LanguageEventArgs([NotNull] ResourceLanguage language) { Contract.Requires(language != null); _language = language; }
internal void OnProjectFileSaved([NotNull] ResourceLanguage language, [NotNull] ProjectFile projectFile) { ProjectFileSaved?.Invoke(this, new ProjectFileEventArgs(language, projectFile)); }
internal void OnLanguageChanged([NotNull] ResourceLanguage language) { LanguageChanged?.Invoke(this, new LanguageEventArgs(language)); }
internal void OnProjectFileSaved([NotNull] ResourceLanguage language, [NotNull] ProjectFile projectFile) { Contract.Requires(projectFile != null); ProjectFileSaved?.Invoke(this, new ProjectFileEventArgs(language, projectFile)); }
public Node([NotNull] ResourceLanguage owner, [NotNull] XElement element) { Element = element; _owner = owner; }