コード例 #1
0
        public static List <SearchResult> ReadSearchResultsViaBiblioSpec(String filename, Func <int, bool> progressMonitor)
        {
            string tempFile = null;

            try
            {
                tempFile = Path.GetTempFileName();
                var blibBuild = new BlibBuild(tempFile, new[] { filename })
                {
                    CompressLevel = 0,
                };
                var      status = new ProgressStatus("");
                var      progressMonitorImpl = ProgressMonitorImpl.NewProgressMonitorImpl(status, progressMonitor);
                string[] ambiguousPeptides;
                blibBuild.BuildLibrary(LibraryBuildAction.Create, progressMonitorImpl, ref status, out ambiguousPeptides);
                return(ReadBiblioSpecDatabase(tempFile, progressMonitor));
            }
            finally
            {
                try
                {
                    if (tempFile != null)
                    {
                        File.Delete(tempFile);
                    }
                }
                catch (Exception exception)
                {
                    Trace.TraceWarning("Exception deleting temp file {0}", exception);
                }
            }
        }
コード例 #2
0
 public override bool RunLongJob(Control owner, Action <IProgressMonitor> job)
 {
     using (var longWaitDialog = new LongWaitDialog(owner.TopLevelControl, Program.AppName))
     {
         var longOperationBroker =
             new LongOperationBroker(
                 broker =>
                 job.Invoke(ProgressMonitorImpl.NewProgressMonitorImpl(new ProgressStatus("Working"),
                                                                       iProgress =>
         {
             try
             {
                 broker.
                 UpdateStatusMessage(
                     iProgress + "% complete");
                 return(true);
             }
             catch (JobCancelledException)
             {
                 return(false);
             }
         })), longWaitDialog);
         longOperationBroker.LaunchJob();
         return(!longOperationBroker.WasCancelled);
     }
 }