Esempio n. 1
0
        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);
        }
Esempio n. 2
0
    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
            }
        });
    }