Modifies an attribute depending on a condition. More...
#include <ilviews/protos/condacc.h>
Public Member Functions | |
IlvConditionAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, IlvConditionAccessorOperator op, const char *operand, const char *assignedAttribute, const char *valueIfTrue, const char *valueIfFalse=0) | |
Creates a new condition accessor. More... | |
Public Member Functions inherited from IlvUserAccessor | |
IlvUserAccessor (const char *name, const IlvValueTypeClass *type, IlUInt flags=0) | |
Constructor. More... | |
virtual void | initialize (const IlvAccessorHolder *object) |
Attachment method to an IlvAccessorHolder . More... | |
virtual IlBoolean | isOutputValue (const IlSymbol *) const |
Queries if the accessor is an output accessor. More... | |
IlBoolean | isPrivate () const |
Checks the private status. More... | |
IlBoolean | isRuntime () const |
Checks the RunTime status. More... | |
void | setPrivate (IlBoolean val) |
Sets the Private flag of this accessor. More... | |
void | setRuntime (IlBoolean runTime) |
Sets the RunTime flag of this accessor. More... | |
Public Member Functions inherited from IlvAccessor | |
IlvAccessor (const char *name, IlvValueTypeClass *type) | |
Creates a new accessor of name name and type type. | |
virtual IlBoolean | changeValues (IlvAccessorHolder *object, const IlvValue *values, IlUShort count) |
Called by the method IlvAccessible::changeValues() for each IlvAccessor attached to the IlvAccessorHolder . | |
virtual void | getAccessors (const IlSymbol *const **accessors, const IlvValueTypeClass *const **types, IlUInt &count) const |
Returns the names and types of the values handled by this accessor. More... | |
const IlSymbol * | getName () const |
Returns the name of the accessor. More... | |
IlvValueTypeClass * | getType () const |
Returns the type of the accessor. More... | |
virtual IlBoolean | isOutputAccessor (IlBoolean &inputAndOutput) |
Queries if the accessor is an output accessor. More... | |
virtual IlShort | matchValues (const IlvAccessorHolder *object, const IlvValue *values, IlUShort count, IlvValue *matchingValues=0) const |
Returns the number of values that are handled by the accessor in the values array of length count. More... | |
virtual IlvValue & | queryValue (const IlvAccessorHolder *object, IlvValue &val) const |
Called by the method IlvAccessible::queryValue() for each IlvAccessor attached to the IlvAccessorHolder . | |
virtual void | queryValues (const IlvAccessorHolder *object, IlvValue *values, IlUShort count) const |
Called by the method IlvAccessible::queryValues() for each IlvAccessor attached to the IlvAccessorHolder . | |
void | setName (const IlSymbol *name) |
Sets the name of the accessor. More... | |
Protected Member Functions | |
virtual IlBoolean | changeValue (IlvAccessorHolder *object, const IlvValue &val) |
Called by the method IlvAccessible::changeValue() for each IlvAccessor attached to the IlvAccessorHolder . | |
Protected Member Functions inherited from IlvUserAccessor | |
virtual IlUInt | compareValues (const IlvAccessorHolder *object, const IlvAccessible *ref, IlvValue *values, IlUShort count, IlvValueArray &diffs) const |
Compares the values in ref and object and returns the differing values. More... | |
IlBoolean | getValue (IlvValue &val, const IlvAccessorHolder *object, IlvDisplay *display, IlvValueTypeClass *typeClass=0, IlSymbol *typeVal=0, const IlvValue *arg=0) const |
Evaluates a parameter of a user accessor. More... | |
Modifies an attribute depending on a condition.
Library: ilvproto
For example, a condition accessor can be defined to change the foreground of an object to red when the accessor value is greater than 100. Several condition accessors can be defined with the same name, which allows several conditional side-effects to be performed.
IlvConditionAccessor::IlvConditionAccessor | ( | const char * | name, |
const IlvValueTypeClass * | type, | ||
IlvDisplay * | display, | ||
IlvConditionAccessorOperator | op, | ||
const char * | operand, | ||
const char * | assignedAttribute, | ||
const char * | valueIfTrue, | ||
const char * | valueIfFalse = 0 |
||
) |
Creates a new condition accessor.
The accessor value is used as the left-hand side of the condition, and operand is used as the right-hand side. When the accessor value is modified, the condition is evaluated. If the result is IlTrue
, the attribute specified by assignedAttribute is assigned the value valueIfTrue. If the result is IlFalse
and if valueIfFalse is non-null, the attribute specified by assignedAttribute is assigned valueIfFalse. The values operand, valueIfTrue, and valueIfFalse can contain a constant value, the name of another accessor, or an arithmetic expression that can contain accessor names and/or constants (see IlvUserAccessor::getValue()
).
name | Name of the attribute. |
type | Type of the attribute. Used only for initialization purposes. |
display | A display used to initialize attributes that might be display-dependent. |
op | Comparison operator. Can be one of:
|
operand | Operand against which the current attribute of name name is tested.. |
assignedAttribute | Attribute changed when the test is evaluated. |
valueIfTrue | Value assigned to assignedAttribute if the test evaluates to IlTrue . |
valueIfFalse | Value assigned to assignedAttribute if the test evaluates to IlFalse . |