TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/ofx/attribute/OfxhParamGroup.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_OFX_PARAM_PARAMGROUP_HPP_
00002 #define _TUTTLE_HOST_OFX_PARAM_PARAMGROUP_HPP_
00003 
00004 #include "OfxhParam.hpp"
00005 #include "OfxhParamSet.hpp"
00006 #include "OfxhParamDescriptor.hpp"
00007 
00008 namespace tuttle {
00009 namespace host {
00010 namespace ofx {
00011 namespace attribute {
00012 
00013 class OfxhParamGroup
00014         : public OfxhParam
00015         , public OfxhParamSet
00016 {
00017 public:
00018         OfxhParamGroup( const OfxhParamDescriptor& descriptor, const std::string& name, OfxhParamSet& setInstance )
00019         : OfxhParam( descriptor, name, setInstance )
00020         {}
00021         virtual ~OfxhParamGroup() {}
00022 
00023         property::OfxhSet& getParamSetProps()
00024         {
00025                 return _paramSetInstance->getParamSetProps();
00026         }
00027 
00028         /// The inheriting plugin instance needs to set this up to deal with
00029         /// plug-ins changing their own values.
00030         virtual void paramChanged( const attribute::OfxhParam& param, const EChange change )
00031         {
00032                 _paramSetInstance->paramChanged( param, change );
00033         }
00034 
00035         /// Triggered when the plug-in calls OfxParameterSuiteV1::paramEditBegin
00036         virtual void editBegin( const std::string& name ) OFX_EXCEPTION_SPEC
00037         {
00038                 return _paramSetInstance->editBegin( name );
00039         }
00040 
00041         /// Triggered when the plug-in calls OfxParameterSuiteV1::paramEditEnd
00042         virtual void editEnd() OFX_EXCEPTION_SPEC
00043         {
00044                 return _paramSetInstance->editEnd();
00045         }
00046         
00047         bool paramTypeHasData() const { return false; }
00048 
00049         std::size_t getHashAtTime( const OfxTime time ) const { return 0; }
00050 };
00051 
00052 }
00053 }
00054 }
00055 }
00056 
00057 #endif
00058