void HandleStageProgressMessageReport(object sender, ReportStageProgressMessageEventArgs e) { RenderingTask rt = mInProgress; if (mCancelItem == true) { throw new UserCancelException(); } if (mCancelAllItems == true) { throw new UserCancelException(); } OnQueueProgressMessageReport(rt.Source, rt.Destination, e.Progress, e.Status, rt.Stage.CurrentImage); }
void HandleProgress(object sender, ReportStageProgressMessageEventArgs ea) { Application.Invoke(delegate { try { progressbar.Visible = ea.ShowProgressBar; progressbar.Fraction = ea.Progress; progressbar.Text = (ea.Progress * 100).ToString("0") + "%"; status_label.Text = ea.Status; if (ea.Update && UpdateDuringProcessingAction.Active) { if ((DateTime.Now - mLastUpdate).TotalMilliseconds / viewWidget.UpdateTimeSpan.TotalMilliseconds > 5) { if (viewWidget.Image != mStage.CurrentImage) { viewWidget.Image = (FloatBitmapGtk)mStage.CurrentImage; } else { viewWidget.UpdatePicture(); } mLastUpdate = DateTime.Now; } } } catch (Exception #if DEBUG ex #endif ) { // Any exception is harmless here #if DEBUG Console.WriteLine("Exception during HandleProgress: " + ex.Message + "\n" + ex.StackTrace); #endif } }); }