TuttleOFX
1
|
00001 #ifndef _TUTTLE_HOST_OFX_PARAM_PARAMACCESSOR_HPP_ 00002 #define _TUTTLE_HOST_OFX_PARAM_PARAMACCESSOR_HPP_ 00003 00004 #include "OfxhAttributeAccessor.hpp" 00005 00006 #include <ofxParam.h> 00007 00008 #include <string> 00009 00010 namespace tuttle { 00011 namespace host { 00012 namespace ofx { 00013 namespace attribute { 00014 00015 /// base class for all params 00016 class OfxhParamAccessor : virtual public OfxhAttributeAccessor 00017 { 00018 public: 00019 OfxhParamAccessor(); 00020 // ParamAccessor( const ParamAccessor& other ); 00021 virtual ~OfxhParamAccessor() = 0; 00022 00023 /// grab a handle on the parameter for passing to the C API 00024 virtual OfxParamHandle getParamHandle() const = 0; 00025 00026 virtual bool verifyMagic() { return true; } 00027 00028 const std::string& getParamType() const; 00029 std::string getParamTypeName() const; 00030 00031 const std::string& getParentName() const; 00032 00033 /// @todo tuttle : common to all attributes 00034 const std::string& getScriptName() const; 00035 00036 /// @todo tuttle : common to all attributes 00037 const std::string& getHint() const; 00038 00039 const std::string& getDoubleType() const; 00040 00041 const std::string& getCacheInvalidation() const; 00042 00043 bool getEnabled() const; 00044 00045 bool getCanUndo() const; 00046 00047 bool getSecret() const; 00048 00049 bool getEvaluateOnChange() const; 00050 00051 bool getCanAnimate() const; 00052 }; 00053 00054 } 00055 } 00056 } 00057 } 00058 00059 #endif 00060