X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FcreaButtonContainer%2Fmodel%2Ffunctor.h;h=8489cea12741ff02e56480ce2b0843fba70ea17f;hb=f6c7b458a17b67950d1844d6a600683a99cb2b6d;hp=3ec8df4281ff572ba4234ba743a4155373295dfc;hpb=4b092ee0b1bcda4d298e5ffc3b58b599e273db20;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h index 3ec8df4..8489cea 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h @@ -1,62 +1,104 @@ -/*************************************************************** - * Name: TFunctor - * Purpose: Call_Back Functions - * Author: Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) - * Modified: 2011-05-09 - * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/) - * License: - **************************************************************/ +/*! + * @file functor.h + * @brief defines TFunctor class + * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr) + * @date 2011-05-19 + */ #ifndef TFUNCTOR_H_ #define TFUNCTOR_H_ #include +/*! @namespace + * @brief Contains the creaButtonContainer library included in creaMaracasVisu. + */ namespace creaButtonContainer { + /*! @namespace + * @brief Contains the implementation of the model in creaButtonContainer library. + * @see MVC Software Architecture + */ namespace model { + //typedef definition. + /*! @typedef std::string ButtonIDType; + * @brief Defines the ButtonIDType type. + */ typedef std::string ButtonIDType; - // abstract base class + //end of typedef definition + /*! @class TFunctor functor.h "functor.h" + * @brief This is an abstract class for call_back functions. + */ class TFunctor { public: // two possible functions to call member function. virtual cause derived // classes will use a pointer to an object and a pointer to a member function - // to make the function call + /*! @fn virtual void TFunctor::operator()( const ButtonIDType &buttonName ) + * @brief To make the function call. + * Call_Back function. + * @param buttonName + */ virtual void operator()( const ButtonIDType &buttonName )=0; // call using operator + /*! @fn + * @brief Call using function. + * Call_Back function. + * @param buttonName + */ virtual void Call( const ButtonIDType &buttonName )=0; - // call using function }; // derived template class + /*! @tparam + * @brief TClass makes TConcreteFunctor usable for all Classes. + */ template< typename TClass > + /*! @class TConcreteFunctor: public TFunctor functor.h "functor.h" + * @brief This class allows to make call_back functions. + */ class TConcreteFunctor : public TFunctor { public: - // constructor - takes pointer to an object and pointer to a member and stores - // them in two private variables + /*! @fn TConcreteFunctor::TConcreteFunctor( TClass* _pt2Object, void + (TClass::*_fpt)( const ButtonIDType &buttonName ) ); + * @brief This is the parameterized constructor. + * Takes pointer to an object and pointer to a member and stores them in two private variables + * @param _pt2Object Pointer to object. + * @param _fpt Pointer to the function. + * @param buttonName The ID of the button (ButtonName). + */ TConcreteFunctor( TClass* _pt2Object, void (TClass::*_fpt)( const ButtonIDType &buttonName ) ); - // override operator "()" // execute member function + // ------------------------------------------------------------------------------- + /*! @fn virtual void TConcreteFunctor::operator()( const ButtonIDType &buttonName ); + * @brief Override operator "()". Execute member function. + * @see TFunctor + * @param buttonName + */ virtual void operator()( const ButtonIDType &buttonName ); - // override function "Call" // execute member function + // ------------------------------------------------------------------------------- + /*! @fn virtual void TConcreteFunctor::Call( const ButtonIDType &buttonName ); + * @brief Override function "Call". Execute member function + * @see TFunctor + * @param buttonName + */ virtual void Call( const ButtonIDType &buttonName ); + // ------------------------------------------------------------------------------- private: void - (TClass::*fpt)( const ButtonIDType &buttonName ); - // pointer to member function - TClass* pt2Object; - // pointer to object + (TClass::*fpt)( const ButtonIDType &buttonName ); //!