class CCL::Parameter

Overview

Basic parameter class. More…

#include <params.h>

class Parameter:
    public CCL::Object,
    public CCL::IParameter
{
public:
    // fields

     IParameter;

    // construction

    Parameter (const Parameter& p);

    // methods

    DECLARE_CLASS (Parameter, Object);
    int CCL_API getType () const;
    virtual StringID CCL_API getName () const;
    virtual void CCL_API setName (StringID name);
    virtual tbool CCL_API isEnabled () const;
    virtual void CCL_API enable (tbool state);
    virtual tbool CCL_API getState (int mask) const;
    virtual void CCL_API setState (int mask, tbool state);
    virtual int CCL_API getVisualState () const;
    virtual void CCL_API setVisualState (int state);
    virtual void CCL_API connect (IParamObserver* controller, int tag);
    virtual int CCL_API getTag () const;
    virtual IUnknown*CCL_API getController () const;
    virtual void CCL_API performUpdate ();
    virtual void CCL_API beginEdit ();
    virtual void CCL_API endEdit ();
    virtual IParameter*CCL_API getOriginal ();
    virtual IUnknown*CCL_API createIdentity ();
    virtual Variant CCL_API getValue () const;
    virtual void CCL_API setValue (VariantRef value, tbool update = false);
    virtual Variant CCL_API getMin () const;
    virtual Variant CCL_API getMax () const;
    virtual void CCL_API setMin (VariantRef min);
    virtual void CCL_API setMax (VariantRef max);
    virtual Variant CCL_API getDefaultValue () const;
    virtual void CCL_API setDefaultValue (VariantRef value);
    virtual Variant CCL_API boundValue (VariantRef value) const;
    virtual tbool CCL_API canIncrement () const;
    virtual int CCL_API getPrecision () const;
    virtual tbool CCL_API setPrecision (int precision);
    virtual void CCL_API increment ();
    virtual void CCL_API decrement ();
    virtual void CCL_API takeValue (const IParameter& param, tbool update = false);
    virtual float CCL_API getNormalized () const;
    virtual void CCL_API setNormalized (float value, tbool update = false);
    virtual float CCL_API getValueNormalized (VariantRef value) const;
    virtual Variant CCL_API getValuePlain (float valueNormalized) const;
    virtual IParamCurve*CCL_API getCurve () const;
    virtual void CCL_API setCurve (IParamCurve* curve);
    virtual IFormatter*CCL_API getFormatter () const;
    virtual void CCL_API setFormatter (IFormatter* formatter);
    virtual void CCL_API getString (String& string, VariantRef value) const;
    virtual void CCL_API toString (String& string) const;
    virtual void CCL_API fromString (StringRef string, tbool update = false);
    void rangeChanged ();
    virtual void CCL_API signal (MessageRef msg = Message (kChanged));
    virtual void deferChanged ();
    static Parameter* createInstance (StringID className);
    static IUnknown* createIdentity (IParameter* This);

    static void restoreValue (
        IParameter* This,
        VariantRef value,
        bool update = false
    );
};

Inherited Members

public:
    // typedefs

    typedef CStringRef MemberID;

    // enums

    enum Flags;
    enum Type;

    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;
    virtual Object*CCL_API revealObject (const void* moduleAddress) = 0;
    virtual void CCL_API addObserver (IObserver* observer) = 0;
    virtual void CCL_API removeObserver (IObserver* observer) = 0;
    virtual void CCL_API signal (MessageRef msg) = 0;
    virtual void CCL_API deferSignal (IMessage* msg) = 0;
    static ISubject void addObserver (IUnknown* unknown, IObserver* observer);
    static void removeObserver (IUnknown* unknown, IObserver* observer);
    virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0;

    static IObserver void notify (
        IUnknown* unknown,
        ISubject* subject,
        MessageRef msg
    );

    virtual const ITypeInfo&CCL_API getTypeInfo () const = 0;
    virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0;
    virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0;
    virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0;
    virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0;
    DECLARE_BASE_CLASS (Object);
    virtual void CCL_API removeObserver (IObserver* observer);
    virtual void CCL_API signal (MessageRef msg);
    virtual void CCL_API deferSignal (IMessage* msg);
    virtual void deferChanged ();
    virtual void CCL_API notify (ISubject* subject, MessageRef msg);
    virtual bool equals (const Object& obj) const;
    virtual int compare (const Object& obj) const;
    virtual bool load (const Storage& storage);
    virtual bool save (const Storage& storage) const;
    virtual bool save (const OutputStorage& storage) const;
    virtual bool toString (String& string, int flags = 0) const;
    virtual int getHashCode (int size) const;
    IUnknown* asUnknown ();
    static void addGarbageCollected (Object* obj, bool globalScope = true);
    static void deferDestruction (Object* obj);
    static const void* getModuleAddress ();
    virtual StringID CCL_API getName () const = 0;
    virtual void CCL_API setName (StringID name) = 0;
    virtual tbool CCL_API isEnabled () const = 0;
    virtual void CCL_API enable (tbool state) = 0;
    virtual tbool CCL_API getState (int mask) const = 0;
    virtual void CCL_API setState (int mask, tbool state) = 0;
    virtual int CCL_API getVisualState () const = 0;
    virtual void CCL_API setVisualState (int state) = 0;
    virtual void CCL_API connect (IParamObserver* controller, int tag) = 0;
    virtual int CCL_API getTag () const = 0;
    virtual IUnknown*CCL_API getController () const = 0;
    virtual void CCL_API performUpdate () = 0;
    virtual void CCL_API beginEdit () = 0;
    virtual void CCL_API endEdit () = 0;
    virtual IParameter*CCL_API getOriginal () = 0;
    virtual IUnknown*CCL_API createIdentity () = 0;
    virtual Variant CCL_API getValue () const = 0;
    virtual void CCL_API setValue (VariantRef value, tbool update = false) = 0;
    virtual Variant CCL_API getMin () const = 0;
    virtual Variant CCL_API getMax () const = 0;
    virtual void CCL_API setMin (VariantRef min) = 0;
    virtual void CCL_API setMax (VariantRef max) = 0;
    virtual Variant CCL_API getDefaultValue () const = 0;
    virtual void CCL_API setDefaultValue (VariantRef value) = 0;
    virtual Variant CCL_API boundValue (VariantRef value) const = 0;
    virtual tbool CCL_API canIncrement () const = 0;
    virtual int CCL_API getPrecision () const = 0;
    virtual tbool CCL_API setPrecision (int precision) = 0;
    virtual void CCL_API increment () = 0;
    virtual void CCL_API decrement () = 0;
    virtual void CCL_API takeValue (const IParameter& param, tbool update = false) = 0;
    virtual float CCL_API getNormalized () const = 0;
    virtual void CCL_API setNormalized (float value, tbool update = false) = 0;
    virtual float CCL_API getValueNormalized (VariantRef value) const = 0;
    virtual Variant CCL_API getValuePlain (float valueNormalized) const = 0;
    virtual IParamCurve*CCL_API getCurve () const = 0;
    virtual void CCL_API setCurve (IParamCurve* curve) = 0;
    virtual IFormatter*CCL_API getFormatter () const = 0;
    virtual void CCL_API setFormatter (IFormatter* formatter) = 0;
    virtual void CCL_API getString (String& string, VariantRef value) const = 0;
    virtual void CCL_API toString (String& string) const = 0;
    virtual void CCL_API fromString (StringRef string, tbool update = false) = 0;
    IParameter bool isSignalFirst () const;
    void setSignalFirst (bool state = true);
    bool isSignalAlways () const;
    void setSignalAlways (bool state = true);
    bool isBipolar () const;
    void setBipolar (bool state = true);
    bool isReverse () const;
    void setReverse (bool state = true);
    bool isOutOfRange () const;
    void setOutOfRange (bool state = true);
    bool isWrapAround () const;
    void setWrapAround (bool state = true);
    bool isStorable () const;
    void setStorable (bool state = true);
    bool isStoreListValue () const;
    void setStoreListValue (bool state = true);
    bool isGroupable () const;
    void setGroupable (bool state = true);
    bool isPublic () const;
    void setPublic (bool state = true);
    bool isMutable () const;
    void setMutable (bool state = true);
    bool isReadOnly () const;
    void setReadOnly (bool state = true);
    void setFeedbackNeeded (bool state);
    void setPriorityChange ();
    bool isPriorityChange () const;
    void setCanUndo (bool state = true);
    bool canUndo () const;
    double getIncrement () const;
    void setIncrement (double increment);

Detailed Documentation

Basic parameter class.

Methods

virtual StringID CCL_API getName () const

Get parameter name.

virtual void CCL_API setName (StringID name)

Set parameter name.

virtual tbool CCL_API isEnabled () const

Check if parameter is enabled.

virtual void CCL_API enable (tbool state)

Enable or disable parameter.

virtual tbool CCL_API getState (int mask) const

Get parameter state.

virtual void CCL_API setState (int mask, tbool state)

Set parameter state.

virtual int CCL_API getVisualState () const

Get visual state.

virtual void CCL_API setVisualState (int state)

Set visual state.

virtual void CCL_API connect (IParamObserver* controller, int tag)

Connect parameter to controller with specified identification tag.

virtual int CCL_API getTag () const

Get identification tag used by controller.

virtual IUnknown*CCL_API getController () const

Get controller this parameter is associated with.

virtual void CCL_API performUpdate ()

Force controller update, usually IParamObserver::paramChanged.

virtual void CCL_API beginEdit ()

Notify controller about start of user interaction.

virtual void CCL_API endEdit ()

Notify controller about end of user interaction.

virtual IParameter*CCL_API getOriginal ()

Get original parameter (usually this, delegated by alias otherwise).

virtual IUnknown*CCL_API createIdentity ()

Create object identifying this parameter (controller must implement IResolver).

virtual Variant CCL_API getValue () const

Get current value.

virtual void CCL_API setValue (VariantRef value, tbool update = false)

Set value and (optionally) force controller update.

virtual Variant CCL_API getMin () const

Get minimum numerical value (does not apply to string type).

virtual Variant CCL_API getMax () const

Get maximum numerical value (does not apply to string type).

virtual void CCL_API setMin (VariantRef min)

Set minimum numerical value (does not apply to string type).

virtual void CCL_API setMax (VariantRef max)

Set maximum numerical value (does not apply to string type).

virtual Variant CCL_API getDefaultValue () const

Get associated default value.

virtual void CCL_API setDefaultValue (VariantRef value)

Set default value.

virtual Variant CCL_API boundValue (VariantRef value) const

Bound value between minimum and maximum numerical value (does not apply to string type).

virtual tbool CCL_API canIncrement () const

Check if value can be incremented/decremented (does not apply to string type).

virtual int CCL_API getPrecision () const

Get precision used for increment/decrement.

virtual tbool CCL_API setPrecision (int precision)

Set precision used for increment/decrement (delta = range / precision).

virtual void CCL_API increment ()

Increment numerical value, depending on precision.

virtual void CCL_API decrement ()

Decrement numerical value, depending on precision.

virtual void CCL_API takeValue (const IParameter& param, tbool update = false)

Take value from other parameter.

virtual float CCL_API getNormalized () const

Get normalized value between 0.0 and 1.0.

virtual void CCL_API setNormalized (float value, tbool update = false)

Set value normalized and (optionally) force controller update.

virtual float CCL_API getValueNormalized (VariantRef value) const

Get normalized float by plain value.

virtual Variant CCL_API getValuePlain (float valueNormalized) const

Get plain value by normalized float.

virtual IParamCurve*CCL_API getCurve () const

Get associated curve object.

virtual void CCL_API setCurve (IParamCurve* curve)

Set curve object (shared by parameter).

virtual IFormatter*CCL_API getFormatter () const

Get associated formatter object.

virtual void CCL_API setFormatter (IFormatter* formatter)

Set formatter object (shared by parameter).

virtual void CCL_API getString (String& string, VariantRef value) const

Shortcut to retrieve string representation of given value.

virtual void CCL_API toString (String& string) const

Convert current value to string.

virtual void CCL_API fromString (StringRef string, tbool update = false)

Set current value by string and (optionally) force controller update.

void rangeChanged ()

explicit signal if min/max/list changed (not in interface)

virtual void CCL_API signal (MessageRef msg = Message (kChanged))

Send message to connected observers.

virtual void deferChanged ()

Defer kChanged message for this object.