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

User accessor whose behavior is implemented by a script. More...

#include <ilviews/protos/jsacc.h>

Inheritance diagram for IlvJavaScriptAccessor:
IlvUserAccessor IlvAccessor

Public Member Functions

 IlvJavaScriptAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, const char *setScriptName, const char *getScriptName)
 Creates a script accessor of name name and type type. More...
 
virtual void initialize (const IlvAccessorHolder *object)
 Attachment method to an IlvAccessorHolder. More...
 
- Public Member Functions inherited from IlvUserAccessor
 IlvUserAccessor (const char *name, const IlvValueTypeClass *type, IlUInt flags=0)
 Constructor. More...
 
virtual IlBoolean isOutputValue (const IlSymbol *) const
 Queries if the accessor is an output accessor. 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.
 
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 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 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...
 

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 IlvValuequeryValue (const IlvAccessorHolder *object, IlvValue &val) const
 Called by the method IlvAccessible::queryValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
- Protected Member Functions inherited from IlvUserAccessor
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...
 
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...
 

Detailed Description

User accessor whose behavior is implemented by a script.

Library: ilvproto

Lets you program the behavior of your prototypes using the scripting language interpreter supplied with Rogue Wave Views.

Constructor & Destructor Documentation

§ IlvJavaScriptAccessor()

IlvJavaScriptAccessor::IlvJavaScriptAccessor ( const char *  name,
const IlvValueTypeClass type,
IlvDisplay display,
const char *  setScriptName,
const char *  getScriptName 
)

Creates a script accessor of name name and type type.

When the name property of the prototype is set, the script function setScriptName is executed by the script interpreter. This script function must have the following signature:

function SetName(obj, newval)
{
...
}

If setScriptName is equal to the string "none", no script function is executed when the property is set. When the name property of the prototype is retrieved, the script function getScriptName is executed by the script interpreter, and its return value is returned as the value of the property. This script function must have the following signature:

function GetName(obj)
{
...
return(val);
}

If getScriptName is equal to the string "none", no script function is executed when the property is retrieved. The script functions must be defined in the global context of the script interpreter.

Naming conflicts can occur if you load several prototypes with script accessors that use the same function names. Therefore, it is recommended to prefix all the function names of prototype scripts with the name of the prototype they belong to. For instance, in the samples.thermo prototype, if the Temp value has a Script accessor, its functions should be called SamplesThermoTempGet() and SamplesThermoTempSet().

When the script accessor is attached to a prototype, it tries to load a script file <prototype name>.ijs (where <prototype name> is the name of the prototype) from the directory or the prototype library file that contains the prototype definition. This script file should contain the definitions of the script functions. When a prototype is designed using Prototype Studio, the script functions associated with a script accessor can be edited in the script editor of Rogue Wave Views Studio. The script file is saved and loaded automatically to the appropriate location. When you use script accessors in your prototypes, you must make sure that the Rogue Wave Views Script interpreter is linked in the final application. For this, you must include the file: ilviews/jvscript/script.h. This include file is added automatically by Rogue Wave Views Studio when you generate an application that uses prototypes.

Member Function Documentation

§ initialize()

virtual void IlvJavaScriptAccessor::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
objectThe object the accessor is attached to.

Reimplemented from IlvUserAccessor.


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