OMKInteractorOutputT.h

Go to the documentation of this file.
00001 
00002 /************************************************************************/
00003 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */
00004 /* 1993-2002, thereinafter the Software                                 */
00005 /*                                                                      */
00006 /* The Software has been developped within the Siames Project.          */
00007 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */
00008 /* property rights                                                      */
00009 /*                                                                      */
00010 /* The Software has been registered with the Agence pour la Protection  */
00011 /* des Programmes (APP) under registration number                       */
00012 /* IDDN.FR.001.510008.00.S.P.2001.000.41200                             */
00013 /*                                                                      */
00014 /* This file may be distributed under the terms of the Q Public License */
00015 /* version 1.0 as defined by Trolltech AS of Norway and appearing in    */
00016 /* the file LICENSE.QPL included in the packaging of this file.         */
00017 /*                                                                      */
00018 /* Licensees holding valid specific licenses issued by INRIA, CNRS or   */
00019 /* Universite Rennes 1 for the software may use this file in            */
00020 /* acordance with that specific license                                 */
00021 /************************************************************************/
00022                 
00023 #if !defined _INTERACTOROUTPUTT_H_
00024 #define _INTERACTOROUTPUTT_H_
00025 
00026 #include "OMKInteractorOutput.h"
00027 #include "OMKEventTypeForAttributeT.h"
00028 
00029 namespace OMK  
00030 {
00031 template< typename PrmType > class IAttributeBaseT;
00032 
00033 namespace Iii 
00034 {
00035 
00036 template< typename PrmType, typename ModelType >
00037 class InteractorOutputT : public InteractorOutput, public EventTypeForAttributeT< ModelType >
00038 {
00039 protected:
00040   friend class OMK::Iii::InteractorOutputCreatorT< InteractorOutputT > ;
00041   InteractorOutputT( const Name& id, const Name& attributeId, 
00042                      InteractorExtension *interactor, const Name& category, 
00043                      bool setByEvent ) ;
00044 public:
00045   typedef std::pair< Name, ModelType > IdAndValuePrm ;
00046   DECLARE_TYPE_EVENT_LISTENER( IdAndValuePrm, IdAndValue, EventTypeForAttributeT< ModelType > ) ;
00047  
00048   virtual ~InteractorOutputT() ;
00049 protected:
00050   virtual bool processSetValue( IdAndValueEvent *e ) ;
00052   IAttributeBaseT< PrmType >* _attribute ;
00053   IdAndValueEventListener* _listener ;
00054 } ;
00055 
00056 }// namespace Iii
00057 }// namespace OMK
00058 
00059 #endif // defined _INTERACTOROUTPUTS_H_

logo OpenMask

Documentation generated on Mon Jun 9 11:45:56 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007