DESIGN (xvlang) functions


LIBRARY ROUTINE

xvw_create_node - create an node object

LIBRARY CALL

xvobject xvw_create_node(
   xvobject parent,
   char     *name)

INPUT

OUTPUT

none

RETURN VALUE

The node widget on success, NULL on failure

DESCRIPTION

The node object provides the base class which is used to create iconic representations of textual language routines. The node object is the object from which the glyph objects are subclassed, and should be used as the base class for any new visual programming objects that might be created for textual code representation.

The node object consists of a small window with an optional pixmap in the middle, and a name that appears below the window. The node object supports interactive placement; the user can place the node using a shadow outline, or the (x, y) position may be specified by the application.

A node object allows (1) specification of the corresponding routine to be executed, and (2) rules for determining when that routine may be executed.

When the routine to be executed is specified as an external process, the Node object does "large grain" execution, or distributed execution of operators representing individual programs, as the Glyph object does. On the other hand, when the routine to be executed is specified as an internally defined function, the node object does ""fine grain" execution, or the calling of a subroutine or function internal to the visual programming language itself. Thus, the Node object can support both large grain and fine grain visual programming.

The node object can be used to create new iconic representations; thus, it allows the xvlang library to be extended to support visual programming constructs other than the ones currently used in cantata.

When the Node object is used as the base class for iconic representation of modules and the Workspace object is utilized as the visual editor, any new visual object that is written to be subclassed off the Node will automatically be supported by the existing system.

In addition, any such new visual programming objects will be capable of coexisting with existing visual programming objects. They can be combined in a visual network as desired; allowed combinations are only restricted by the visual programming model, as appropriate, but not by the visual programming objects themselves.

ADDITIONAL INFORMATION

none

EXAMPLES

none

SIDE EFFECTS

none

RESTRICTIONS

none

MODIFICATION

none

FILES

$DESIGN/objects/library/xvlang/src/Node.c

SEE ALSO

xvlang(3)

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.