[Contents] [Intro] [Reference] [Tutorial] [Questions [New [Index]

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