rwlogo

Rogue Wave Views
Prototypes Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

List of all members | Public Member Functions | Protected Member Functions
IlvConditionAccessor Class Reference

Modifies an attribute depending on a condition. More...

#include <ilviews/protos/condacc.h>

Inheritance diagram for IlvConditionAccessor:
IlvUserAccessor IlvAccessor

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)
 Creates a new user accessor of name name and type type. More...
 
virtual void initialize (const IlvAccessorHolder *object)
 Attachment method to an IlvAccessorHolder. More...
 
virtual IlBoolean isOutputValue (const IlSymbol *name) const
 Queries if the accessor is an output accessor. More...
 
IlBoolean isPrivate () const
 Returns IlTrue if the accessor has the private flag set. Otherwise, it returns IlFalse.
 
IlBoolean isRuntime () const
 Returns IlTrue if the accessor has the RunTime flag set. Otherwise, it returns IlFalse.
 
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 IlSymbolgetName () const
 Returns the name of the accessor. More...
 
IlvValueTypeClassgetType () 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 IlvValuequeryValue (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...
 

Detailed Description

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.

See Also
IlvTriggerAccessor.

Constructor & Destructor Documentation

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

Parameters
nameName of the attribute.
typeType of the attribute. Used only for initialization purposes.
displayA display used to initialize attributes that might be display-dependent.
opComparison operator. Can be one of:
  • IlvCondNoOp (No comparison performed)
  • IlvCondEqual (== test)
  • IlvCondNotEqual (!= test)
  • IlvCondLessThan (< test)
  • IlvCondGreaterThan (> test)
  • IlvCondLessOrEqual (<= test)
  • IlvCondGreaterOrEqual (>= test)
  • IlvCondOperator (the operand is a Boolean and its value determines the outcome).
operandOperand against which the current attribute of name name is tested..
assignedAttributeAttribute changed when the test is evaluated.
valueIfTrueValue assigned to assignedAttribute if the test evaluates to IlTrue.
valueIfFalseValue assigned to assignedAttribute if the test evaluates to IlFalse.

© Copyright 2014, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.