public void GetFileFilterEntries(SortedList <int, IFileFilterEntry> ret, FileOpenDelegate fileOpenMethod) { foreach (var item in this.FileTypeExtensions) { string ext = string.Empty, ext1 = string.Empty; if (item.DocFileTypeExtensions.Count <= 0) { continue; } ext = ext1 = string.Format("*.{0}", item.DocFileTypeExtensions[0]); for (int i = 1; i < item.DocFileTypeExtensions.Count; i++) { ext = string.Format("{0},*.{1}", ext, item.DocFileTypeExtensions[i]); ext1 = string.Format("{0};*.{1}", ext1, item.DocFileTypeExtensions[i]); } // log4net XML output (*.log4j,*.log,*.txt,*.xml)|*.log4j;*.log;*.txt;*.xml var filterString = new FileFilterEntry(string.Format("{0} ({1}) |{2}", item.Description, ext, ext1), fileOpenMethod); ret.Add(item.SortPriority, filterString); } }
/// <summary> /// Goes through all file/document type definitions and returns a filter string /// object that can be used in conjunction with FileOpen and FileSave dialog filters. /// </summary> /// <param name="key">Get entries for this viewmodel only, /// or all entries if key parameter is not set.</param> /// <returns></returns> public IFileFilterEntries GetFileFilterEntries(string key = "") { SortedList <int, IFileFilterEntry> ret = new SortedList <int, IFileFilterEntry>(); if (this.mDocumentTypes != null) { foreach (var item in this.mDocumentTypes) { if (key == string.Empty || key == item.Key) { // format filter entry like "Structured Query Language (*.sql) |*.sql" var s = new FileFilterEntry(string.Format("{0} (*.{1}) |*.{2}", item.FileFilterName, item.DefaultFilter, item.DefaultFilter), item.FileOpenMethod); ret.Add(item.SortPriority, s); // Add all file sub-filters for this viewmodel class item.GetFileFilterEntries(ret, item.FileOpenMethod); } } } List <IFileFilterEntry> list = new List <IFileFilterEntry>(); foreach (var item in ret) { list.Add(item.Value); } return(new FileFilterEntries(list)); }
public void GetFileFilterEntries(SortedList <int, IFileFilterEntry> ret, FileOpenDelegate fileOpenMethod) { foreach (var item in FileTypeExtensions) { string ext1; if (item.DocFileTypeExtensions.Count <= 0) { continue; } var ext = ext1 = $"*.{item.DocFileTypeExtensions[0]}"; for (int i = 1; i < item.DocFileTypeExtensions.Count; i++) { ext = $"{ext},*.{item.DocFileTypeExtensions[i]}"; ext1 = $"{ext1};*.{item.DocFileTypeExtensions[i]}"; } // log4net XML output (*.log4j,*.log,*.txt,*.xml)|*.log4j;*.log;*.txt;*.xml var filterString = new FileFilterEntry($"{item.Description} ({ext}) |{ext1}", fileOpenMethod); ret.Add(item.SortPriority, filterString); } }