]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/functor.txx
42e660bfcc67e7f187db8c743eefc462f0e2a195
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / functor.txx
1 /************************************************************************************//*!
2  * Name:      @file functor.cxx
3  * Purpose:   @brief implements TFunctor class and it propose is Call_Back Functions
4  * Author:    @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * Modified:  2011-05-18
6  * Copyright:
7  * License:
8  ***************************************************************************************/
9
10 namespace creaButtonContainer
11 {
12         namespace model
13         {
14                 // constructor - takes pointer to an object and pointer to a member and stores
15                 // them in two private variables
16                 // -------------------------------------------------------------------------------
17                 template< typename TClass >
18                         TConcreteFunctor< TClass >::TConcreteFunctor( TClass* _pt2Object, void
19                         (TClass::*_fpt)( const ButtonIDType &buttonName ) )
20                         {
21                                 this->pt2Object = _pt2Object;
22                                 this->fpt = _fpt;
23                         }
24                 // -------------------------------------------------------------------------------
25                 // override operator "()" // execute member functions
26                 template< typename TClass >
27                         void
28                         TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )
29                         {
30                                 ( *pt2Object.*fpt )( buttonName );
31                         }
32                 // -------------------------------------------------------------------------------
33                 // override function "Call" // execute member function
34                 template< typename TClass >
35                         void
36                         TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )
37                         {
38                                 ( *pt2Object.*fpt )( buttonName );
39                         }
40         }//ecapseman
41 }//ecapseman
42