daVinci API Definition - Parameters
Help about syntax
--- Term Representation for Graphs: ----------------------------------------
graphterm ::= [graphterm1] | []. /*Graph with root nodes. Details.*/
graphterm1 ::= node | node,graphterm1.
node ::=
l(node_id,n(type,attributes,edges)) /*Node with ID/type/attr/children.*/
| r(node_id). /*Reference to a node.*/
edges ::= [edges1] | []. /*Edges with ID/type/attr/child.*/
edges1 ::= edge | edge,edges1.
edge ::=
l(edge_id,e(type,attributes,node)).
attributes ::= [attributes1] | []. /*Attributes (key/value). Details.*/
attributes1 ::= attribute | attribute,attributes1.
attribute ::=
a(string,string) /*Normal key/value attribute pair.*/
| m(menus). /*Popup menu attribute for a node/edge.*/
--- Graph Updates: ---------------------------------------------------------
mixed_updates ::= [mixed_updates1] | []. /*Delete or remove nodes and edges. Details.*/
mixed_updates1 ::= mixed_update | mixed_update,mixed_updates1.
mixed_update ::= node_update | edge_update.
node_updates ::= [node_updates1] | []. /*Delete or remove nodes. Details.*/
node_updates1 ::= node_update | node_update,node_updates1.
node_update ::=
delete_node(node_id)
| new_node(node_id,type,attributes).
edge_updates ::= [edge_updates1] | []. /*Delete or remove edges. Details.*/
edge_updates1 ::= edge_update | edge_update,edge_updates1.
edge_update ::=
delete_edge(edge_id)
| new_edge(edge_id,type,attributes,node_id,node_id).
| new_edge_behind(edge_id,edge_id,type,attributes,node_id,node_id).
attr_changes ::= [attr_changes1] | []. /*Change attributes. Details.*/
attr_changes1 ::= attr_change | attr_change,attr_changes1.
attr_change ::=
node(node_id,attributes)
| edge(edge_id,attributes).
type_changes ::= [type_changes1] | []. /*Change types. Details.*/
type_changes1 ::= type_change | type_change,type_changes1.
type_change ::=
node(node_id,type)
| edge(edge_id,type).
--- Application Menus and Icons: -------------------------------------------
menus ::= [menus1] | []. /*Create Menus. Details.*/
menus1 ::= menu_entry | menu_entry,menus1.
menu_entry ::=
menu_entry(menu_id,menu_label)
| menu_entry_mne(menu_id,menu_label,menu_mne,menu_mod,menu_acc)
| menu_entry_disabled(menu_id,menu_label)
| submenu_entry(menu_id,menu_label,menus)
| submenu_entry_mne(menu_id,menu_label,menus,menu_mne)
| submenu_entry_disabled(menu_id,menu_label,menus)
| blank.
icons ::= [icons1] | []. /*Create Icons. Details.*/
icons1 ::= icon_entry | icon_entry,icons1.
icon_entry ::=
icon_entry(icon_id,filename,string)
| blank.
--- Visualization definitions: ---------------------------------------------
visual_rules ::= [visual_rules1] | []. /*Visualization definitions. Details.*/
visual_rules1 ::= visual_rule | visual_rule,visual_rules1.
visual_rule ::=
nr(type,attributes)
| er(type,attributes).
--- String Sorts: ----------------------------------------------------------
node_ids ::= [node_ids1] | []. /*Many node ID's.*/
node_ids1 ::= node_id | node_id,node_ids1.
menu_ids ::= [menu_ids1] | []. /*Many menu ID's.*/
menu_ids1 ::= menu_id | menu_id,menu_ids1.
icon_ids ::= [icon_ids1] | []. /*Many icon ID's.*/
icon_ids1 ::= icon_id | icon_id,icon_ids1.
node_id ::= string. /*Unique node ID. Details.*/
edge_id ::= string. /*Unique edge ID. Details.*/
menu_id ::= string. /*Unique menu ID. Details.*/
menu_label ::= string. /*Text of menu entry. Details.*/
menu_mne ::= string. /*Motif mnemonic char. Details.*/
menu_acc ::= string. /*Motif accelerator key. Details.*/
icon_id ::= string. /*Unique icon ID. Details.*/
type ::= string. /*Arbitrary type. Details.*/
filename ::= string. /*Valid filename.*/
context_id ::= string. /*Context ID. Details.*/
window_id ::= string. /*Window ID. Details.*/
string ::= ... /*Informally: Character sequence without newline,
carriage return and double quotes, enclosed by double
quotes ("). For example: "This is a string".
Special characters can be written in C-notation, e.g.
\n for newline or \" for a quote inside the string.*/
--- Basic Sorts: -----------------------------------------------------------
integer ::= ... /*Informally: Non-floating positive number.*/
boolean ::= true | false.
orientation::= top_down | bottom_up | left_right | right_left.
direction ::= up | down | left | right.
btypes ::= [btypes1]. /*Types for file browser. Details.*/
btypes1 ::= btype | btype,btypes1.
btype ::= bt(string,string,string)./*Text, pattern and title postfix.*/
menu_mod ::= alt | shift | control | meta | none.
/*Motif modifier key. Details.*/
daVinci V2.1 Online Documentation - Page update: June 15, 1998