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().