University of Bremen

Manual

Main->API->Configuration File Syntax

User Interface Configuration File Syntax

This document describes the syntax of the configuration file used for user interface configuration. The configuration file syntax differs from the syntax of API commands, although some terminal and non-terminal symbols are the same. Terminal symbols are written in bold face and non-terminal symbols are written with a link referring to the corresponding rule.

Each line of the configuration file starts with a terminal symbol. Therefore the newline characters in the syntax rules have to occur in the file. For example, by applying rule menubar1 one line of the configuration file can be:

menu "Example" "0"

This must be followed by a newline character (so the example above must be on a separate line) and the next line must be of type menu1 (and probably more separate lines of that type). Afterward, the terminal symbol "finish_menu" must follow on a separate line. Indent (white space) is not part of the syntax, but should be used in order to obtain better readability in the file. Please look at the files with suffix ".menu" in directory "$UDG_HOME/lib/uDrawGraph" for examples of configuration files.

Non-terminal symbol enclosed in "?" are optional, the meta-symbols "?" are not part of the syntax. The place holder <nothing> is used for an empty string and is not part of the syntax, too. Please refer to the section user interface configuration for an explanation of the non-terminal symbols "string" and "lang_string".

Grammar with Syntax Rules

configuration ::= Details.
configuration ::= Details.
configuration1
configuration
|<nothing>.
configuration1 ::=
menubarDetails.
menubar
finish_menubar
|popup_menu Details.
menus
finish_popup_menu
|iconbar which_iconbar Details.
iconbar
finish_iconbar
|message_bar Details.
|status_bar Details.
|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 ::=
menu_entry menu_id label ?mne? ?modifier acc? Details.
|sys_menu_entry function 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 ::=
icon_entry icon_id bitmap ?help? Details.
|sys_icon_entry function 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.
"#%..." A string beginning with "#%".
|string.
function ::= string.
menu_id ::= string.
menu_var ::= string.
icon_id ::= string.
icon_var ::= string.
close_id ::= string.