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