Пример #1
0
        //=========================================================================================
        // generic function to load
        //
        public static TaxonTreeNode Load(string _fileName)
        {
            if (_fileName == string.Empty)
            {
                return(null);
            }
            DateTime ts_Start = DateTime.Now;

            if (!File.Exists(_fileName))
            {
                return(null);
            }
            Cursor.Current = Cursors.WaitCursor;
            string extension = Path.GetExtension(_fileName).ToLower();

            if (extension == ".tol")
            {
                FormAbout.SetSplashScreenMessage(".. Loading data ...", false, new Action(() => CancelLoad()));
            }
            else
            {
                FormAbout.SetSplashScreenMessage(".. Loading data ...");
            }

            TaxonTreeNode result = null;

            if (extension == ".xml")
            {
                result = LoadXML(_fileName);
            }
            if (extension == ".tol")
            {
                result = LoadBin(_fileName);
            }
            if (extension == ".txt")
            {
                result = LoadTxt(_fileName);
            }
            Loggers.WriteInformation(LogTags.Data, string.Format("Loading {0} took {1} ms ", _fileName, (int)((DateTime.Now - ts_Start).TotalMilliseconds)));
            if (result != null)
            {
                result.AfterLoad();
            }
            Cursor.Current = Cursors.Default;
            return(result);
        }