TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/attribute/ParamString.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_CORE_ATTRIBUTE_PARAMSTRING_HPP_
00002 #define _TUTTLE_HOST_CORE_ATTRIBUTE_PARAMSTRING_HPP_
00003 
00004 #include "Param.hpp"
00005 
00006 #include <tuttle/host/ofx/attribute/OfxhParamString.hpp>
00007 #include <tuttle/host/ImageEffectNode.hpp>
00008 
00009 namespace tuttle {
00010 namespace host {
00011 namespace attribute {
00012 
00013 class ParamString : public Param
00014         , public ofx::attribute::OfxhParamString
00015 {
00016 protected:
00017         std::string _value; /// @todo link de parametres
00018 
00019 public:
00020         ParamString( INode& effect, const std::string& name, const ofx::attribute::OfxhParamDescriptor& descriptor );
00021         ParamString* clone() const { return new ParamString( *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 ParamString& p ) OFX_EXCEPTION_SPEC;
00034         void copy( const OfxhParam& p ) OFX_EXCEPTION_SPEC;
00035 #endif
00036 };
00037 
00038 }
00039 }
00040 }
00041 
00042 #endif