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
IlvMultipleAccessor Class Reference

Accessor allowing handling several values at the same time. More...

#include <ilviews/protos/accessor.h>

Inheritance diagram for IlvMultipleAccessor:
IlvAccessor IlvMultipleGroupAccessor

Public Member Functions

 IlvMultipleAccessor (const char *name, IlUShort count, const char **names, IlvValueTypeClass **types)
 See below.
 
 IlvMultipleAccessor (const char *name, IlUShort count, const char **names, IlvValueTypeClass ***types)
 Creates a new multiple accessor of name name. 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 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...
 
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 IlBoolean isOutputValue (const IlSymbol *name) const
 Queries if the accessor is an output accessor. More...
 
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.
 
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...
 
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.
 

Detailed Description

Accessor allowing handling several values at the same time.

Library: ilvproto

IlvMultipleAccessor is a subclass of IlvAccessor that is designed to handle several values at the same time. For example, the manager and layer values of an IlvGraphicNode should be handled together, so that the changeValues() method can have both values to call manager->addObject(obj,layer). This class of accessors is usually not used directly by applications. It is used internally by subclasses of the IlvGroupNode class.

See also
IlvGroupNode, IlvMultipleGroupAccessor.

Constructor & Destructor Documentation

§ IlvMultipleAccessor()

IlvMultipleAccessor::IlvMultipleAccessor ( const char *  name,
IlUShort  count,
const char **  names,
IlvValueTypeClass ***  types 
)

Creates a new multiple accessor of name name.

The accessor handles count values of names names and types types.

Member Function Documentation

§ getAccessors()

virtual void IlvMultipleAccessor::getAccessors ( const IlSymbol *const **  accessors,
const IlvValueTypeClass *const **  types,
IlUInt count 
) const
protectedvirtual

Returns the names and types of the values handled by this accessor.

Returns
The names and types of the values handled by this accessor. The base class implementation adds only the name and type of this accessor to the accessors and types lists, but subclasses (for example IlvMultipleAccessor) may add several names and types to signal that the accessor can respond to requests for several values.

Reimplemented from IlvAccessor.

§ matchValues()

virtual IlShort IlvMultipleAccessor::matchValues ( const IlvAccessorHolder object,
const IlvValue values,
IlUShort  count,
IlvValue matchingValues = 0 
) const
protectedvirtual

Returns the number of values that are handled by the accessor in the values array of length count.

The matching values are copied to the matchingValues array, which must have a length of at least count. This method is called by the changeValue()[s]/queryValue()[s] methods of the IlvAccessorHolder class to determine which IlvAccessor objects respond to a request for a set of value names. All the accessors that return a non-null count of matching values will be called by the IlvAccessorHolder, with the matching values as arguments. The base class implementation looks for a value corresponding to the accessor name given in values and copies it to matchingValues. Subclasses of IlvAccessor (for example IlvMultipleAccessor) may match several values.

Reimplemented from IlvAccessor.


© Copyright 2017, 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.