class CCL::ParamList

Overview

Manages a list of parameters. More…

#include <paramlist.h>

class ParamList
{
public:
    // typedefs

    typedef VectorIterator <IParameter*> ParamIterator;

    // classes

    class ParamArray;

    // methods

    void setController (IParamObserver* controller);
    IParameter* addParam (StringID name, int tag = 0);
    IParameter* addInteger (int min, int max, StringID name, int tag = 0);
    IParameter* addFloat (double min, double max, StringID name, int tag = 0);
    IParameter* addString (StringID name, int tag = 0);
    IParameter* addList (StringID name, int tag = 0);
    IParameter* addMenu (StringID name, int tag = 0);
    IParameter* addPalette (StringID name, int tag = 0);

    IParameter* addCommand (
        StringID commandCategory,
        StringID commandName,
        StringID name,
        int tag = 0
    );

    IParameter* addScroll (StringID name, int tag = 0);
    IParameter* addColor (StringID name, int tag = 0);
    IImageProvider* addImage (StringID name, int tag = 0);
    ITextModelProvider* addTextModel (StringID name, int tag = 0);
    IAliasParameter* addAlias (StringID name, int tag = 0);
    IParameter* add (IParameter* p, int tag = 0);
    IParameter* addShared (IParameter* p);
    IParameter* addIndexedParam (StringID arrayName, IParameter* p, int tag = 0);
    IParameter* addIndexedParamShared (StringID arrayName, IParameter* p);
    IParameter* getIndexedParam (StringID arrayName, int index) const;
    int getParamArrayCount (StringID arrayName) const;
    ParamIterator* getParamArray (StringID arrayName) const;
    int count () const;
    IParameter* at (int index) const;
    int arrayCount () const;
    ParamIterator* arrayAt (int index) const;
    IParameter* byTag (int tag) const;
    IParameter* byCommand (StringID commandCategory, StringID commandName) const;
    IParameter* lookup (StringID name) const;
    bool remove (IParameter* p, bool releaseParam = false);
    bool toHead (IParameter* p);
    bool contains (IParameter* p);
    void removeAll ();
    void removeArray (StringID arrayName);
    void removeIndexedParam (StringID arrayName, int index);
    void checkCommandStates ();
    void enableCommands (bool state);
    void setFeedbackNeeded (bool state);
};

Detailed Documentation

Manages a list of parameters.

New parameters are connected to associated controller automatically.

Methods

void setController (IParamObserver* controller)

Set controller.

IParameter* addParam (StringID name, int tag = 0)

Add toggle parameter (on/off).

IParameter* addInteger (int min, int max, StringID name, int tag = 0)

Add numeric parameter (integer).

IParameter* addFloat (double min, double max, StringID name, int tag = 0)

Add numeric parameter (floating-point).

IParameter* addString (StringID name, int tag = 0)

Add string parameter.

IParameter* addList (StringID name, int tag = 0)

Add list parameter.

IParameter* addMenu (StringID name, int tag = 0)

Add menu parameter.

IParameter* addPalette (StringID name, int tag = 0)

Add palette parameter.

IParameter* addCommand (
    StringID commandCategory,
    StringID commandName,
    StringID name,
    int tag = 0
)

Add command parameter.

IParameter* addScroll (StringID name, int tag = 0)

Add scroll parameter.

IParameter* addColor (StringID name, int tag = 0)

Add color parameter.

IImageProvider* addImage (StringID name, int tag = 0)

Add image provider.

ITextModelProvider* addTextModel (StringID name, int tag = 0)

Add text model provider.

IAliasParameter* addAlias (StringID name, int tag = 0)

Add alias parameter.

IParameter* add (IParameter* p, int tag = 0)

Add existing parameter, list takes ownership.

IParameter* addShared (IParameter* p)

Share parameter owned by other controller.

IParameter* addIndexedParam (StringID arrayName, IParameter* p, int tag = 0)

Add indexed parameter to array.

IParameter* addIndexedParamShared (StringID arrayName, IParameter* p)

Share indexed parameter owned by other controller.

IParameter* getIndexedParam (StringID arrayName, int index) const

Get indexed parameter from array.

int getParamArrayCount (StringID arrayName) const

Get number of parameters in array.

ParamIterator* getParamArray (StringID arrayName) const

Create iterator for parameter array.

int count () const

Get parameter count.

IParameter* at (int index) const

Get parameter by index.

int arrayCount () const

Return the number of arrays.

ParamIterator* arrayAt (int index) const

Return an iterator for the array with the given index.

IParameter* byTag (int tag) const

Get parameter by tag.

IParameter* byCommand (StringID commandCategory, StringID commandName) const

Get parameter by command category/name.

IParameter* lookup (StringID name) const

Get parameter by name.

bool remove (IParameter* p, bool releaseParam = false)

Remove one parameter.

Refcount is decremented according to releaseParam.

bool toHead (IParameter* p)

Move parameter to first position in list for faster lookup.

bool contains (IParameter* p)

Check if parameter is in list.

void removeAll ()

Remove all parameters.

void removeArray (StringID arrayName)

Remove parameter array.

void removeIndexedParam (StringID arrayName, int index)

Remove indexed parameter from array (releases parameter).

void checkCommandStates ()

Check states of command parameters.

void enableCommands (bool state)

Enable or disable all command parameters.

void setFeedbackNeeded (bool state)

Set feedback flag for all parameters.