TuttleOFX
1
|
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