Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
Grouping accessors to change or query all the nodes of a group in one pass. More...
#include <ilviews/protos/group.h>
Public Member Functions | |
IlvGroupAccessor (const char *name, IlvValueTypeClass *type) | |
Creates a new group accessor. More... | |
virtual IlBoolean | changeValue (IlvAccessorHolder *object, const IlvValue &val) |
Called by the method IlvAccessible::changeValue 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... | |
virtual IlvValue & | queryValue (const IlvAccessorHolder *object, IlvValue &val) const |
Called by the method IlvAccessible::queryValue for each IlvAccessor attached to the IlvAccessorHolder . | |
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 IlBoolean | isOutputValue (const IlSymbol *name) const |
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 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... | |
Friends | |
class | IlvGroup |
class | IlvGroupNode |
Grouping accessors to change or query all the nodes of a group in one pass.
Library: ilvproto
IlvGroupAccessor
is a subclass of IlvAccessor
used to query and change values for all the nodes of a group. This class of accessors is not usually used directly by applications. It is used internally by subclasses of IlvGroupNode
.
IlvGroupAccessor::IlvGroupAccessor | ( | const char * | name, |
IlvValueTypeClass * | type | ||
) |
Creates a new group accessor.
When the attribute associated with this name is changed for the group, it will be changed for all the nodes of the group. When the value is queried, it will be queried from all the nodes, and the last value will be returned.
name | Name of the attribute. |
type | Type of the attribute. |
|
virtual |
Compares the values in ref and object and returns the differing values.
Compares the objects object and ref for the values specified by the values array of length count. The differences are stored in the diffs array, and the method returns the number of differences. The default implementation simply calls the IlvAccessible::compareValues
method, which will query the values for the two objects and compare them one by one. Subclasses may compare values more cleverly by grouping differences: for example, the IlvGroupAccessor
subclass detects when all nodes of a group differ homogeneously and reports only one difference for the whole group.
Reimplemented from IlvAccessor.
© Copyright 2012, 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.