rwlogo
Rogue Wave Views 5.6

Rogue Wave Views
Prototypes Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

IlvPrototypeAccessor Class Reference

Delegates a full behavior to a prototype. More...

#include <ilviews/protos/protoacc.h>

Inheritance diagram for IlvPrototypeAccessor:
IlvUserAccessor IlvAccessor

List of all members.

Public Member Functions

 IlvPrototypeAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, const char *protoname)
 Constructor.
virtual void initialize (const IlvAccessorHolder *object)
 Attachment method to an IlvAccessorHolder.
virtual IlBoolean isOutputValue (const IlSymbol *name) const
 Queries if the accessor is an output accessor.

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 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.
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.
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.
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 IlvAccessiblequeryValues for each IlvAccessor attached to the IlvAccessorHolder.

Detailed Description

Delegates a full behavior to a prototype.

Library: ilvproto

IlvPrototypeAccessor makes it possible for a new prototype to import all the accessors of an existing prototype. This accessor is useful when you want to build libraries that present complex behaviors and that can be reused in other prototypes.


Constructor & Destructor Documentation

IlvPrototypeAccessor::IlvPrototypeAccessor ( const char *  name,
const IlvValueTypeClass type,
IlvDisplay display,
const char *  protoname 
)

Constructor.

Creates an IlvPrototypeAccessor of name name. protoname is the name of the prototype from which the accessors should be inherited.

Parameters:
name Name of the attribute.
type Type of the attribute. This parameter is not relevant.
display Display used for initialization purposes to build the prototype if it needs to be loaded.
protoname Name of the delegating prototype. This name can be of the form <library-name>.<prototype-name> to designate a prototype included in a library.

Member Function Documentation

virtual IlUInt IlvPrototypeAccessor::compareValues ( const IlvAccessorHolder object,
const IlvAccessible ref,
IlvValue values,
IlUShort  count,
IlvValueArray diffs 
) const [protected, 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.

See also:
IlvAccessible::compareValues, IlvProtoInstance, IlvPrototype.

Reimplemented from IlvUserAccessor.

virtual void IlvPrototypeAccessor::getAccessors ( const IlSymbol *const **  accessors,
const IlvValueTypeClass *const **  types,
IlUInt count 
) const [protected, virtual]

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.

virtual void IlvPrototypeAccessor::initialize ( const IlvAccessorHolder object  )  [virtual]

Attachment method to an IlvAccessorHolder.

This method is called when the accessor object is attached to a group. You can redefine it in subclasses of IlvUserAccessor to perform any kind of initialization.

Parameters:
object The object the accessor is attached to.

Reimplemented from IlvUserAccessor.

virtual IlBoolean IlvPrototypeAccessor::isOutputValue ( const IlSymbol name  )  const [virtual]

Queries if the accessor is an output accessor.

Returns:
IlTrue if the accessor is an output accessor, and IlFalse otherwize.

Reimplemented from IlvUserAccessor.

virtual IlShort IlvPrototypeAccessor::matchValues ( const IlvAccessorHolder object,
const IlvValue values,
IlUShort  count,
IlvValue matchingValues = 0 
) const [protected, virtual]

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

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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