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 ::= |
| menubar | Details.
| 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. |