コード例 #1
0
ファイル: DocumentType.cs プロジェクト: handayu/Edi
        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);
            }
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
ファイル: DocumentType.cs プロジェクト: verk123/Edi
        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);
            }
        }