]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.h
creaButtonContainer: Updates in documentation, adding try catch clauses and cleaning...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / functor.h
index 3ec8df4281ff572ba4234ba743a4155373295dfc..82137738b149ddc1370af261d0dcca4cc1c48f95 100644 (file)
-/***************************************************************
- * 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/)
+/************************************************************************************//*!
+ * Name:      @file functor.h
+ * Purpose:   @brief defines TFunctor class
+ * Author:    @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
+ * Modified:  2011-05-18
+ * Copyright:
  * License:
- **************************************************************/
+ ***************************************************************************************/
 
 #ifndef TFUNCTOR_H_
 #define TFUNCTOR_H_
 
+//! @include <string>
 #include <string>
 
+//!    @namespace <creaButtonContainer>
 namespace creaButtonContainer
 {
+       //!     @namespace <model>
        namespace model
        {
+               /*!     @typedef std::string ButtonIDType;
+                *      @brief Defines the ButtonIDType type.
+                */
                typedef std::string ButtonIDType;
-               // abstract base class
+
+               /*! @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 <typename TClass>
+                *      @brief It makes TConcreteFunctor usable for all Classes.
+                */
                template< typename TClass >
+                       /*! @class TConcreteFunctor: public TFunctor  functor.h "functor.h"
+                        *      @brief This class contains the ButtonContainer factory.
+                        *  This class describes the factory of the ButtonContainer using design patterns.
+                        */
                        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
+                                       void (TClass::*fpt)( const ButtonIDType &buttonName ); //! <void (TClass::*fpt) Pointer to member function.
+                                       TClass* pt2Object; //! <TClass* pointer to object.
                        };
 
        }//ecapseman
 }//ecapseman
 
+//! @include "functor.txx"
 #include "functor.txx"
 
 #endif /* TFUNCTOR_H_ */