[Contents] [Intro] [Reference] [Tutorial] [Questions [New [Index]
Overview -> Reference -> API Reference -> Configuration file syntax

daVinci API Definition - Configuration file syntax

The configuration file syntax is a little bit different from the syntax of API commands, although some terminals and non-terminals are the same. The configuration file is read by Tcl/Tk functions and therefore it is similar to Tcl/Tk syntax.

Each line of the configuration file starts with a terminal. Therefore the newline characters in the syntax rules are part of the syntax (i.e. in rule menubar1 the first line maybe menu "Eins" "0". This line must be followed by lines of type menu1 and finished by a last line containing only the terminal finish_menu). The indents are not part of the syntax but should be used for a better redability of the file. Please have a look at the files with suffix .menu in $DAVINCIHOME/lib/daVinci for examples of configuration files.

Non-Terminals enclosed in '?' are optional, the '?' are not part of the syntax. The placeholder <nothing> stands for an empty string ans isn't part of the syntax as well. Please refer to the documentation of the API command category Graphical User-Interface for further descriptions of the non-terminals string and lang_string.

configuration ::=                                                       /*Details.*/
	  configuration1
	  configuration
	| <nothing>.
	
configuration1 ::=
	  message_bar                                                   /*Details.*/
	| status_bar                                                    /*Details.*/
	| popup_menu                                                    /*Details.*/
	    menus
	    finish_popup_menu
	| menubar                                                       /*Details.*/
	    menubar
	    finish_menubar
	| iconbar which_iconbar                                         /*Details.*/
	    iconbar
	    finish_iconbar
	| close_event close_id close_type.                              /*Details.*/
	
menubar ::=
	  menubar1
	  menubar
	| <nothing>.
	
menubar1 ::=
	  menu label ?mne?                                              /*Details.*/
	    menus
	  finish_menu
	| help_menu                                                     /*Details.*/
	    menus
	    finish_menu.
	  
menus ::=
	  menus1
	  menus
	| <nothing>.
	
menus1 ::=
	  sys_menu_entry function label ?mne? ?modifier acc?          /*Details.*/
	| menu_entry menu_id label ?mne? ?modifier acc?               /*Details.*/
	| radio_menu_entry menu_var                                     /*Details.*/
	    menus
	    finish_radio_menu_entry
	| submenu_entry label ?mne?                                     /*Details.*/
	    menus
	    finish_submenu_entry
	| blank.                                                        /*Details.*/

iconbar ::=
	  iconbar1
	  iconbar
	| <nothing>.
	
iconbar1 ::=
	  sys_icon_entry function bitmap ?help?                         /*Details.*/
	| icon_entry icon_id bitmap ?help?                              /*Details.*/
	| radio_icon_entry icon_var                                     /*Details.*/
	    iconbar
	    finish_radio_icon_entry
	| blank.                                                        /*Details.*/

which_iconbar ::=
	  first                                                         /*Details.*/
	| second.                                                       /*Details.*/
	
close_type ::=
	  window                                                        /*Details.*/
	| context.                                                      /*Details.*/

bitmap ::=   lang_string.
label ::=    lang_string.
mne ::=      lang_string.
modifier ::= lang_string.
acc ::=      lang_string.
help ::=     lang_string.

lang_string ::=                                                         /*Details.*/
	  "#%string"
	| string.
	
function ::= string.
menu_id ::=  string.
menu_var ::= string.
icon_id ::=  string.
icon_var ::= string.
close_id ::= string.

daVinci V2.1.1 Online Documentation - Page update: Oct 21, 1998