Defines abstract interface from program to the "user". That includes progress indication and user break mechanisms.
More...
|
virtual void | Reset () |
| Drops all scopes and sets scale from 0 to 100, step 1 This scale has name "Step". More...
|
|
void | SetName (const Standard_CString name) |
|
void | SetName (const Handle< TCollection_HAsciiString > &name) |
| Set (optional) name for scale. More...
|
|
void | SetRange (const Standard_Real min, const Standard_Real max) |
| Set range for current scale. More...
|
|
void | SetStep (const Standard_Real step) |
| Set step for current scale. More...
|
|
void | SetInfinite (const Standard_Boolean isInf=Standard_True) |
| Set or drop infinite mode for the current scale. More...
|
|
void | SetScale (const Standard_CString name, const Standard_Real min, const Standard_Real max, const Standard_Real step, const Standard_Boolean isInf=Standard_False) |
|
void | SetScale (const Standard_Real min, const Standard_Real max, const Standard_Real step, const Standard_Boolean isInf=Standard_False) |
| Set all parameters for current scale. More...
|
|
void | GetScale (Standard_Real &min, Standard_Real &max, Standard_Real &step, Standard_Boolean &isInf) const |
| Returns all parameters for current scale. More...
|
|
void | SetValue (const Standard_Real val) |
|
Standard_Real | GetValue () const |
| Set and get progress value at current scale If the value to be set is more than currently set one, or out of range for the current scale, it is limited by that range. More...
|
|
void | Increment () |
|
void | Increment (const Standard_Real step) |
| Increment the progress value by the default of specified step. More...
|
|
Standard_Boolean | NewScope (const Standard_CString name=0) |
|
Standard_Boolean | NewScope (const Handle< TCollection_HAsciiString > &name) |
|
Standard_Boolean | NewScope (const Standard_Real span, const Standard_CString name=0) |
|
Standard_Boolean | NewScope (const Standard_Real span, const Handle< TCollection_HAsciiString > &name) |
| Creates new scope on a part of a current scale from current position with span either equal to default step, or specified The scale for the new scope will have specified name and ranged from 0 to 100 with step 1 Returns False if something is wrong in arguments or in current position of progress indicator; scope is opened anyway. More...
|
|
Standard_Boolean | EndScope () |
| Close the current scope and thus return to previous scale Updates position to be at the end of the closing scope Returns False if no scope is opened. More...
|
|
Standard_Boolean | NextScope (const Standard_CString name=0) |
|
Standard_Boolean | NextScope (const Standard_Real span, const Standard_CString name=0) |
| Optimized version of { return EndScope() && NewScope(); }. More...
|
|
virtual Standard_Boolean | UserBreak () |
| Should return True if user has send a break signal. Default implementation returns False. More...
|
|
virtual Standard_Boolean | Show (const Standard_Boolean force=Standard_True)=0 |
| Update presentation of the progress indicator Called when progress position is changed Flag force is intended for forcing update in case if it is optimized; all internal calls from ProgressIndicator are done with this flag equal to False. More...
|
|
Standard_Real | GetPosition () const |
| Returns total progress position on the basic scale ranged from 0. to 1. More...
|
|
Standard_Integer | GetNbScopes () const |
| Returns current number of opened scopes This number is always >=1 as top-level scale is always present. More...
|
|
const Message_ProgressScale & | GetScope (const Standard_Integer index) const |
| Returns data for scale of index-th scope The first scope is current one, the last is the top-level one. More...
|
|
virtual void | Delete () const |
| Memory deallocator for transient classes. More...
|
|
Public Member Functions inherited from Standard_Transient |
| Standard_Transient () |
| Empty constructor. More...
|
|
| Standard_Transient (const Standard_Transient &) |
| Copy constructor – does nothing. More...
|
|
Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. More...
|
|
virtual | ~Standard_Transient () |
| Destructor must be virtual. More...
|
|
virtual const
Handle_Standard_Type & | DynamicType () const |
| Returns a type information object about this object. More...
|
|
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const |
| Returns a true value if this is an instance of Type. More...
|
|
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. More...
|
|
Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
|
|
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
|
|
virtual Handle_Standard_Transient | This () const |
| Returns a Handle which references this object. Must never be called to objects created in stack. More...
|
|
Standard_Integer | GetRefCount () const |
| Get the reference counter of this object. More...
|
|
Defines abstract interface from program to the "user". That includes progress indication and user break mechanisms.
The interface to progress indicator represents it as a scale for each range and step can be defined by the program that uses it. The scale can be made "infinite", which means it will grow non-linearly, end of scale will be approached asymptotically at infinite number of steps. In that case value of scale range gives a number of steps corresponding to position at 1/2 of scale. The current position can be either set directly (in a range from current position to maximum scale value), or incremented step by step.
Progress indication mechanism is adapted for convenient usage in hiererchical processes that require indication of progress at several (sub)levels of the process. For that purpose, it is possible to create restricted sub-scope of indication by specifying part of a current scale that is to be used by the subprocess. When subprocess works with progress indicator in the restricted scope, it has the same interface to a scale, while actually it deals only with part of the whole scale.
NOTE: Currently there is no support for concurrent progress indicator that could be useful in multithreaded applications. The main reason for this is that such implementation would be too complex regarding forecasted lack of real need for such support. To support this it would require that ProgressScale keep its own position and take care of incrementing main ProgressIndicator in destructor. This would also require having cross-references between nested instances of ProgressScale, ie. potential problems with memory management. In case of need of concurrent progress indicator two things can be suggested: either creation of single spane with summary number of steps, or usage of infinite scale.
The user break is implemented as virtual function that might return True in case if break signal from the user is obtained.
The derived classes should take care of visualisation of the progress indicator (e.g. show total position at the graphical bar, and/or print all scopes in text mode), and for implementation of user break mechanism (if defined).