cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
mtsComponentFLTK< BaseClass > Class Template Reference

#include <mtsComponentFLTK.h>

Inheritance diagram for mtsComponentFLTK< BaseClass >:

Public Member Functions

 mtsComponentFLTK (const std::string &name)
 
 ~mtsComponentFLTK ()
 
void Startup (void)
 
void Run (void)
 
void Cleanup (void)
 

Static Public Member Functions

static int StartRunLoop (void)
 

Detailed Description

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.

Constructor & Destructor Documentation

template<class BaseClass >
mtsComponentFLTK< BaseClass >::mtsComponentFLTK ( const std::string &  name)
inline
template<class BaseClass >
mtsComponentFLTK< BaseClass >::~mtsComponentFLTK ( )
inline

Member Function Documentation

template<class BaseClass >
void mtsComponentFLTK< BaseClass >::Cleanup ( void  )
inline
template<class BaseClass >
void mtsComponentFLTK< BaseClass >::Run ( void  )
inline
template<class BaseClass >
static int mtsComponentFLTK< BaseClass >::StartRunLoop ( void  )
inlinestatic
template<class BaseClass >
void mtsComponentFLTK< BaseClass >::Startup ( void  )
inline

The documentation for this class was generated from the following file: