class Core::Portable::ValueController
Overview
Lightweight value controller. More…
#include <corevalues.h> class ValueController: public Core::Portable::TypedObject { public: // enums enum SetValueFlags; // fields parent; const ParamInfo* infos; int length; // construction ValueController(const ParamInfo infos[] = nullptr, int count = 0); ValueController( const ParamInfo infos1[], int count1, const ParamInfo infos2[], int count2 ); // methods PROPERTY_CSTRING_BUFFER(32, name, Name); virtual Parent RootValueController* getRootController() const; virtual ValueController* findChild(CStringPtr name) const; Value getValue(int paramTag) const; bool setValue(int paramTag, Value value, int flags = 0); bool resetValue(int paramTag, int flags = 0); ParamValue getNormalized(int paramTag) const; bool getRange(Value& min, Value& max, int paramTag) const; bool getDelta(Value& delta, int paramTag) const; bool setValueRelative(int paramTag, int steps, int flags = 0); bool getTagByName(int& paramTag, CStringPtr name) const; int getIntValue(int paramTag) const; bool setIntValue(int paramTag, int value); bool getBoolValue(int paramTag) const; bool setBoolValue(int paramTag, bool value); float getFloatValue(int paramTag) const; bool setFloatValue(int paramTag, float value); bool toString(StringResult& string, int paramTag) const; void storeValues(AttributeHandler& writer) const; virtual ITypedObject* getObject(CStringPtr name) const; }; // direct descendants class RootValueController;
Inherited Members
public: // typedefs typedef int32 TypeID; // methods virtual void* castTo(TypeID typeId) = 0; virtual void* castTo(TypeID typeId);
Detailed Documentation
Lightweight value controller.
Can be used as alternative to component and parameter objects. Derived class has to implement getModelValue(), setModelValue(), and optionally getModelString().