Delegates a full behavior to a prototype. More...
#include <ilviews/protos/protoacc.h>
Public Member Functions | |
IlvPrototypeAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, const char *protoname) | |
Constructor. 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... | |
Public Member Functions inherited from IlvUserAccessor | |
IlvUserAccessor (const char *name, const IlvValueTypeClass *type, IlUInt flags=0) | |
Constructor. 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. | |
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... | |
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 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... | |
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 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 . | |
Protected Member Functions inherited from IlvUserAccessor | |
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... | |
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.
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.
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. |
|
protectedvirtual |
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 default implementation simply calls the IlvAccessible::compareValues(const IlvAccessible*, IlvValue*, IlUShort, IlvValueArray&) const
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.
object | The object to compare. |
ref | The reference to compare to. |
values | The values to be compared. |
count | The number of elements in the array values. |
diffs | Where the differences are stored. |
Reimplemented from IlvUserAccessor.
|
protectedvirtual |
Returns the names and types of the values handled by this accessor.
IlvMultipleAccessor
) may add several names and types to signal that the accessor can respond to requests for several values. Reimplemented from IlvAccessor.
|
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.
object | The object the accessor is attached to. |
Reimplemented from IlvUserAccessor.
Queries if the accessor is an output accessor.
IlTrue
if the accessor is an output accessor, and IlFalse
otherwise. Reimplemented from IlvUserAccessor.
|
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.