Rogue Wave Views
Prototypes Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
Classes | Macros | Enumerations | Variables
useracc.h File Reference
#include <ilviews/protos/macros.h>
#include <ilviews/protos/group.h>
#include <ilviews/protos/groupio.h>
#include <stdarg.h>

Classes

class  IlvAccessorDescriptor
 Accessor description. More...
 
class  IlvAccessorParameter
 Provides information for a single parameter of an IlvUserAccessor. More...
 
class  IlvCompositeAccessor
 Assign the current attribute value to multiple other attributes or subattributes. More...
 
class  IlvCounterAccessor
 Defines a counter. More...
 
class  IlvDebugAccessor
 Prints a trace each time it is queried or changed. More...
 
class  IlvFormatAccessor
 Format a float value into a string. More...
 
class  IlvGroupUserAccessor
 References all the subattributes of a group that have the same name. More...
 
class  IlvMultipleUserAccessor
 Base class for accessors that represent several attributes. More...
 
class  IlvNodeAccessor
 Reference to another attribute or subattribute of an IlvGroup object. More...
 
class  IlvToggleAccessor
 Switch a Boolean attribute back and forth between IlTrue and IlFalse. More...
 
class  IlvTriggerAccessor
 Assign a value to another attribute or subattribute of the accessor holder. More...
 
class  IlvUserAccessor
 Base class for persistent behaviors. More...
 
class  IlvValueAccessor
 Stores the values of an attribute. More...
 

Macros

#define DeclareUserAccessorInfo()
 
#define DeclareUserAccessorInfoRO()
 
#define IlvPredefinedUserAccessorIOMembers(classname)
 
#define IlvRegisterUserAccessorClass(classname, superclass)
 

Enumerations

enum  IlvAccessorCategory {
  Data, Control, Trigger, Display,
  Animation, Miscellaneous
}
 
enum  IlvUserAccessorFlag
 

Variables

IlvAccessorParameterIlvNodeAccessorParameterType
 
IlvAccessorParameterIlvNodeNameOrAllParameterType
 
IlvAccessorParameterIlvNodeNameParameterType
 
IlvAccessorParameterIlvOutputAccessorParameterType
 
IlvAccessorParameterIlvStringParameterType
 
IlvAccessorParameterIlvSubAccessorParameterType
 
IlvAccessorParameterIlvUnknownAccessorParameterType
 
IlvAccessorParameterIlvValueParameterType
 

Detailed Description

Library: ilvproto
Declaration of the IlvUserAccessor class, its main subclasses and its metaclass.

Macro Definition Documentation

§ DeclareUserAccessorInfo

#define DeclareUserAccessorInfo ( )

Use this macro to declare as external the input/output member functions read(), write() and copy(). These functions have no default implementation and you must provide a version of them for each subclass of IlvUserAccessor.
This macro can be added to your graphic class definition to implicitly declare all the input/output data members and functions.

See also
DeclareUserAccessorInfoRO().

§ DeclareUserAccessorInfoRO

#define DeclareUserAccessorInfoRO ( )

Use this macro to declare the input/output routines when you do not need to add the write() member function (that is, your user accessor subtype does not add any new data members that need to be saved, and the implementation of the write() member function in the parent class already accomplishes this task). This macro can be added to the class definition of your user accessor in order to implicitly declare all the input/output data members and functions (except write()).

See also
IlvUserAccessor, IlvDeclarePropClassInfo().

§ IlvPredefinedUserAccessorIOMembers

#define IlvPredefinedUserAccessorIOMembers (   classname)

This macro defines the copy() and read() member functions for a new IlvUserAccessor class.

See also
IlvPredefinedIOMembers.

§ IlvRegisterUserAccessorClass

#define IlvRegisterUserAccessorClass (   classname,
  superclass 
)

Declares a new subclass of IlvUserAccessor so that it can be loaded as saved from/to prototype description files (.ivp). This macro also declares the accessor class so that it can be edited in Studio using the Group Inspector.

See also
IlvRegisterClass().

Enumeration Type Documentation

§ IlvAccessorCategory

These categories describe the type of effect of a given accessor.

Enumerator
Data 

Data accessors are similar to variable declarations in a programming language. They hold or point to some internal value of an IlvGroup object.

Control 

Control accessors are similar to control instructions in a programming language. They perform a side effect on some attributes of an IlvGroup object.

Trigger 

Trigger accessors are similar to entry points in a programming language. External or internal changes generated by the user will set those accessors and start a chain of evaluation of other accessors.

Display 

Display accessors are similar to drawing/editing functions in a programming language. They have some effect on the graphic objects they point to.

Animation 

Animation accessors are display accessor that animate the objects they point to. They are triggered by an internal timer that performs periodical changes of some objects.

Miscellaneous 

Miscellaneous accessors.

§ IlvUserAccessorFlag

See also
IlvUserAccessor

Variable Documentation

§ IlvNodeAccessorParameterType

IlvAccessorParameter * IlvNodeAccessorParameterType

This parameter type can be used if the parameter is the name of an attribute of one of the group nodes. The node name is generally the first parameter of the accessor. If this parameter type is used, Studio will create a combo box containing the names of all the node accessors. This accessor parameter type has subtypes:

  • IlvNodeAccessorParameterTypeMine: with this parameter type, only the accessors that match the attribute type will be listed by default in the combo box.
  • IlvNodeAccessorParameterTypeString;
  • IlvNodeAccessorParameterTypeFloat;
  • IlvNodeAccessorParameterTypeInt;
  • IlvNodeAccessorParameterTypeUInt;
  • IlvNodeAccessorParameterTypeBoolean;
  • IlvNodeAccessorParameterTypeColor;
  • IlvNodeAccessorParameterTypeDirection;
    These parameters filter only attributes of a given type, specified by the name of the class. For example IlvNodeAccessorParameterTypeString designates a parameter that accepts only attributes and subattributes of type String as input.
  • IlvNodeAccessorParameterTypePar0;
  • IlvNodeAccessorParameterTypePar1;
  • IlvNodeAccessorParameterTypePar2;
  • IlvNodeAccessorParameterTypePar3;
  • IlvNodeAccessorParameterTypePar4;
  • IlvNodeAccessorParameterTypePar5;
  • IlvNodeAccessorParameterTypePar6;
  • IlvNodeAccessorParameterTypePar7;
  • IlvNodeAccessorParameterTypePar8;
  • IlvNodeAccessorParameterTypePar9;
    These parameters filter the accessors of the same type as the n-th parameter in the matrix (n = 0 to 9).

§ IlvNodeNameOrAllParameterType

IlvAccessorParameter * IlvNodeNameOrAllParameterType

This parameter type can be used if the parameter is the name of a node. If this parameter type is used, Studio will create a combo box containing the names of the prototype nodes. In addition, a special value [All Nodes] can be specified to designate all the nodes of a group.

§ IlvNodeNameParameterType

IlvAccessorParameter * IlvNodeNameParameterType

This parameter type can be used if the parameter is the name of a node. If this parameter type is used, Studio will create a combo box containing the names of the prototype nodes.

§ IlvOutputAccessorParameterType

IlvAccessorParameter * IlvOutputAccessorParameterType

This parameter type can be used if the parameter is the name of a notifying value of the IlvGroup object. If this parameter type is used, Studio will create a combo box containing the names of the notifying values of the group.

§ IlvStringParameterType

IlvAccessorParameter * IlvStringParameterType

This parameter type can be used if the parameter is a literal string. If this parameter type is used, Studio will create a simple text field in the matrix.

§ IlvSubAccessorParameterType

IlvAccessorParameter * IlvSubAccessorParameterType

This parameter type is similar to the IlvNodeAccessorParameterType types, with the difference that all the prototype attributes are listed (perhaps filtered according to their type), and not just the attributes of a given node. This accessor parameter type has subtypes:

  • IlvSubAccessorParameterTypeMine: with this parameter type, only the accessors that match the attribute type will be listed by default in the combo box.
  • IlvSubAccessorParameterTypeString;
  • IlvSubAccessorParameterTypeFloat;
  • IlvSubAccessorParameterTypeInt;
  • IlvSubAccessorParameterTypeUInt;
  • IlvSubAccessorParameterTypeBoolean;
  • IlvSubAccessorParameterTypeColor;
  • IlvSubAccessorParameterTypeDirection;
    These parameters filter only attributes of a given type, specified by the name of the class. For example IlvSubAccessorParameterTypeString designates a parameter that accepts only attributes and subattributes of type String as input:
  • IlvSubAccessorParameterTypePar0;
  • IlvSubAccessorParameterTypePar1;
  • IlvSubAccessorParameterTypePar2;
  • IlvSubAccessorParameterTypePar3;
  • IlvSubAccessorParameterTypePar4;
  • IlvSubAccessorParameterTypePar5;
  • IlvSubAccessorParameterTypePar6;
  • IlvSubAccessorParameterTypePar7;
  • IlvSubAccessorParameterTypePar8;
  • IlvSubAccessorParameterTypePar9;
    These parameters filter the accessors of the same type as the n-th parameter in the matrix (n = 0 to 9).

§ IlvUnknownAccessorParameterType

IlvAccessorParameter * IlvUnknownAccessorParameterType

This parameter type can be used if the parameter has no known editing policy. The Group Inspector will create a simple text field in the Group Inspector matrix to let the user edit the parameter.

§ IlvValueParameterType

IlvAccessorParameter * IlvValueParameterType

These parameter types are similar to the corresponding IlvSubAccessorParameterType* types, with the difference that the value of the parameter can be a full arithmetic expression, made up of a combination of: immediate values (strings or numeric constants), subaccessors (group or group node attributes), operators (+, -, *, **, /, %, ==, !=, >, >=, <, <=, &&, ||), parenthesis, or the following functions: abs, acos, asin, atan, ceil, cos, exp, floor, log, rand, rint, round, sin, sqrt, tan. The rand() function differs from its C/C++ equivalent: it takes an integer argument, that, if non-zero, is used a a seed for the random generator. If one of these types is used, Studio creates a combo box with a special entry "[immediate value]". This parameter type has subtypes:

  • IlvValueParameterTypeMine: with this parameter type, only the accessors that match the attribute type will be listed by default in the combo box.
  • IlvValueParameterTypeString;
  • IlvValueParameterTypeFloat;
  • IlvValueParameterTypeInt;
  • IlvValueParameterTypeUInt;
  • IlvValueParameterTypeBoolean;
  • IlvValueParameterTypeColor;
  • IlvValueParameterTypeDirection;
    These parameters filter only attributes of a given type, specified by the name of the class. For example, IlvValueParameterTypeString designates a parameter that accepts only attributes and subattributes of type String as input:
  • IlvValueParameterTypePar0;
  • IlvValueParameterTypePar1;
  • IlvValueParameterTypePar2;
  • IlvValueParameterTypePar3;
  • IlvValueParameterTypePar4;
  • IlvValueParameterTypePar5;
  • IlvValueParameterTypePar6;
  • IlvValueParameterTypePar7;
  • IlvValueParameterTypePar8;
  • IlvValueParameterTypePar9;
    These parameters filter the accessors of the same type as the n-th parameter in the matrix (n = 0 to 9).

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