]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model/include/functor.txx
Diego Caceres: creaButtonContainer and creaPanelButtonContainer has been added to...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / creaButtonContainer / model / include / functor.txx
1 /***************************************************************
2  * Name:      TFunctor
3  * Purpose:   Call_Back Functions
4  * Author:    Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
5  * Modified:  2011-05-09
6  * Copyright: Diego CACERES (http://www.creatis.insa-lyon.fr/~caceres/)
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                 template< typename TClass >
17                         TConcreteFunctor< TClass >::TConcreteFunctor( TClass* _pt2Object, void
18                         (TClass::*_fpt)( const ButtonIDType &buttonName ) )
19                         {
20                                 pt2Object = _pt2Object;
21                                 fpt = _fpt;
22                         }
23                 // override operator "()" // execute member functions
24                 template< typename TClass >
25                         void
26                         TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )
27                         {
28                                 ( *pt2Object.*fpt )( buttonName );
29                         }
30                 // override function "Call" // execute member function
31                 template< typename TClass >
32                         void
33                         TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )
34                         {
35                                 ( *pt2Object.*fpt )( buttonName );
36                         }
37         }//ecapseman
38 }//ecapseman
39