template<class BaseClass>
class mtsComponentFLTK< BaseClass >
mtsComponentFLTK is a templated class to facilitate creation of components that use FLTK. It is templated by a BaseClass, which typically contains the FLTK GUI code. This class is not instantiated within the cisstMultiTask library, but is available for use by application components. For an example of use, see cisstMultiTaskPeriodicTask (FLTK implementation).
The use of a templated class to derive from the FLTK GUI class is a bit odd, as a more obvious solution would be for mtsComponentFLTK to be a (non-templated) base class, and then to derive the FLTK GUI class from it. But, this solution does not require the FLTK GUI class to use CISST_EXPORT and CMN_DECLARE_SERVICES, which are a bit difficult to incorporate when using the FLTK fluid designer. An alternate design is to create a generic "wrapper" template (perhaps in cisstCommon) to add the CISST_EXPORT and CMN_DECLARE_SERVICES to an existing class. Then, the rest of mtsComponentFLTK can become a non-templated base class.