TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/attribute/ParamCustom.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_CORE_ATTRIBUTE_PARAMCUSTOM_HPP_
00002 #define _TUTTLE_HOST_CORE_ATTRIBUTE_PARAMCUSTOM_HPP_
00003 
00004 #include "Param.hpp"
00005 
00006 #include <tuttle/host/ofx/attribute/OfxhParamCustom.hpp>
00007 #include <tuttle/host/ImageEffectNode.hpp>
00008 
00009 namespace tuttle {
00010 namespace host {
00011 namespace attribute {
00012 
00013 class ParamCustom : public Param
00014         , public ofx::attribute::OfxhParamCustom
00015 {
00016 protected:
00017         std::string _value; /// @todo link de parametres
00018 
00019 public:
00020         ParamCustom( INode& effect, const std::string& name, const ofx::attribute::OfxhParamDescriptor& descriptor );
00021         ParamCustom* clone() const { return new ParamCustom( *this ); }
00022 
00023         const std::string& getDefault() const;
00024 
00025         void getValue( std::string& ) const OFX_EXCEPTION_SPEC;
00026         void getValueAtTime( const OfxTime time, std::string& ) const OFX_EXCEPTION_SPEC;
00027         void setValue( const std::string& value, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC;
00028         void setValueAtTime( const OfxTime time, const std::string& value, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC;
00029 
00030         void setValueFromExpression( const std::string& value, const ofx::attribute::EChange change ) OFX_EXCEPTION_SPEC;
00031 
00032 #ifndef SWIG
00033         void copy( const ParamCustom& p ) OFX_EXCEPTION_SPEC;
00034         void copy( const OfxhParam& p ) OFX_EXCEPTION_SPEC;
00035 #endif
00036 };
00037 
00038 }
00039 }
00040 }
00041 
00042 #endif