tsc_ReviewHandlerFactory

SurveyCore has several review workflows as part of its existing features.  By launching UITasks SCAPI is able to invoke many of these directly but is generally unable to customise the review process.

There are several reasons for customising review handling including the ability to work with the custom subrecords of a point.

Note that to affect the display output for custom subrecords (see tsc_IReviewable).

Use this feature by registering a tsc_ReviewHandlerFactory with your application to generate monitors on demand.

Please refer to tsc_IReviewMonitor to learn about the events and how they work.  Note that the factory creates and starts the monitor on the review thread so any UI will be a modal part of the review form.

Your application may have one factory registered for the purpose of providing a monitor object for the review actions that occur within your application.  The factory is only invoked for actions on your application and while only one can be active at a time you may change or remove the factory at any time.  Monitors that were launched by the factory can continue monitoring after the factory is destroyed.

It is best to consider the lifespan of the factory instance so that the Factory is cleanly created, destroyed and invoked depending on its purpose.  For example if you have a workflow which places special requirements on review while it is running then the factory could be hosted by that UITask; alternatively if you want to monitor all review actions then the tsc_AppMainWindow could host it instead.

Constructor/Destructor

Construction will not register automatically.

tsc_ReviewHandlerFactory();

The destructor will invoke UnregisterReviewHandlerFactory if required.

virtual ~tsc_ReviewHandlerFactory();

Statics

Register the specified factory with your current application, it will replace any existing factory without destroying it.

static void RegisterReviewHandlerFactory  (tsc_ReviewHandlerFactory* factory);

Unregister this factory from the application, no factory will be called until another is set.

static void UnregisterReviewHandlerFactory(tsc_ReviewHandlerFactory* factory);

Abstract Events

Create a new Monitor to listen to a review form.  Please note that a returned tsc_IReviewMonitor may live longer than the factory that created it and creation should be a light-weight operation.

virtual tsc_IReviewMonitor* OnCreateNewReviewHandler();

A different factory has been set for the application while this one was registered.

virtual void OnFactorySupplanted ();