class CCL::MultiProgress

Overview

Helper class for managing the progress info of multistep operations. More…

#include <multiprogress.h>

class MultiProgress: public CCL::Unknown
{
public:
    // classes

    class Step;
    class StepProxy;

    // construction

    MultiProgress (IProgressNotify* progress);

    // methods

    void setNumSteps (int steps);
    void reset ();
    PROPERTY_STRING (stepCountPattern, StepCountPattern);
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;

Detailed Documentation

Helper class for managing the progress info of multistep operations.

usage:

MultiProgress multiProgress (progress);
multiProgress.setNumSteps (10);

for(int i = 0; i < 10; i++)
{
    MultiProgress::Step step (multiProgress);   // instantiate in the scope of current step
    stepWork[i]->process (step);                // pass step as IProgressNotify*
}

Methods

PROPERTY_STRING (stepCountPattern, StepCountPattern)

pattern with 2 arguments: current step, numSteps; default: “Step %(1) of %(2)”

for finer calculation of the master progress, specify the total work in any unit and pass the work amount for each step to the Step constructor