35 #ifndef IECORENUKE_PARAMETERHANDLER_H
36 #define IECORENUKE_PARAMETERHANDLER_H
38 #include "DDImage/Op.h"
40 #include "IECore/Parameter.h"
45 IE_CORE_FORWARDDECLARE( ParameterHandler )
47 class ParameterHandler : public
IECore::RefCounted
60 typedef std::vector<DD::Image::Op *>::const_iterator InputIterator;
73 virtual bool testInput(
const IECore::Parameter *parameter,
int input,
const DD::Image::Op *op );
76 virtual void setParameterValue(
IECore::Parameter *parameter, InputIterator first, InputIterator last );
79 virtual void knobs(
const IECore::Parameter *parameter,
const char *knobName, DD::Image::Knob_Callback f );
86 virtual void setParameterValue(
IECore::Parameter *parameter, ValueSource valueSource = Storage );
109 void setKnobProperties(
const IECore::Parameter *parameter, DD::Image::Knob_Callback f, DD::Image::Knob *knob )
const;
118 creatorFns()[parameterType] = creator;
123 static ParameterHandlerPtr creator()
132 typedef ParameterHandlerPtr (*CreatorFn)();
134 typedef std::map<IECore::TypeId, CreatorFn> CreatorFnMap;
135 static CreatorFnMap &creatorFns();
141 #endif // IECORENUKE_PARAMETERHANDLER_H
Definition: Parameter.h:53
The IECoreNuke namespace holds all the functionality of libIECoreNuke.
Definition: BoolParameterHandler.h:40
TypeId
Definition: TypeIds.h:46
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43