################################################################################
<functions>

"drawing_inch_mm"
function  : Show dimension values in inch or mm
parameter : boolean: true = use inch
result    : -

"fonts_loaded"
function  : Get all loaded fonts
parameter : -
result    : group of font name strings

"get_world_length_of_string"
function  : Length of string
parameter : string, string: font, real: heigth of font, real: width factor
result    : -

"group_abs"
function  : Create a group;
            for compatibility only !!!
parameter : name, { object object ...}
result    : object: group

"inpar"
function  : Set the (group of) object as input parameter. See also 'inpar_ttype';
            for compatibility only !!!
parameter : object or group of objects
result    : -

"inpar_icon"
function  : Give an icon to an input parameter;
            for compatibility only !!!
parameter : inpar-number, icon
result    : -

"inpar_iconascii"
function  : Give an icon in ASCII format to an input parameter;
            for compatibility only !!!
parameter : inpar-number, icon
result    : -

"inpar_ttype"
function  : Set the n-th parameter of the object input parameter;
            for compatibility only !!!
parameter : object, number of the parameter
result    : -

"input_new"
function  : Open new model;
            for compatibility only !!!
parameter : boolean, filename
            boolean: true = delete all objects in drawing
result    : -

"input_read"
function  : Read model;
            for compatibility only !!!
parameter : filename, inputreadtype ("add", "save", "forget")
result    : -

"move_set_to_layer"
function  : Move a group of objects to a layer
parameter : group of objects, object: destination layer
result    : -

"output_save"
function  : Save model;
            for compatibility only !!!
parameter : filename
result    : -

"popup_digits"
function  : Open a form to specify the number of digits;
            not allowed in batch mode
parameter : initial value: digitstype
result    : digitstype

"popup_font"
function  : Open a form to select a font;
            not allowed in batch mode
parameter : initial value: fontname (e.g. "CourierBold")
result    : fontname

"popup_format"
function  : Same as popup_interface;
            not allowed in batch mode
parameter : initial value: formattype
result    : formattype

"popup_interface"
function  : Open a form to select the output format;
            not allowed in batch mode
parameter : initial value: formattype
result    : formattype

"popup_linestyle"
function  : Open a form to select the line style;
            not allowed in batch mode
parameter : styletype_rec: initial value, boolean: broken is allowed
result    : styletype_rec

"popup_plane"
function  : Open a form to specify a plane
parameter : initial value: planetype_rec
result    : planetype_rec

"popup_size"
function  : Open a form to select a plot format (Din Ax, ANSI );
            not allowed in batch mode
parameter : initial value: size_rec
result    : size_rec

"tab_one"
function  : Create a table;
            for compatibility only !!!
parameter : string: filename, string: name [,{{namestr enu_symboltype len_typ} ...}, univ_ptr]
            the parameters in [...] are ignored
result    : object: tab

"user_symbol"
function  : Create a user object;
            for compatibility only !!!
parameter : filename of user object, parameter(s) of user object, ...
result    : -

################################################################################
<type attributes>

"Bea_object"
.  "drawinfo"
               "group"
               "For internal use only !!!"
.  "drawinfodis"
               "group"
               "For internal use only !!!"
.  "drawdesc"
               "group"
               "For internal use only !!!"
.  "drawhide"
               "group"
               "For internal use only !!!"

.  "terminals"
               "group"
               "Group containing each object with influence on this"
               "object"

"Basic_dynstring"
.  "norm"
               "string"
               "The string; for compatibility only !!!"

.  "s"
               "string"
               "The string; for compatibility only !!!"

"D23bs_an_rec"
.  "norm"
               "real"
               "Read only: for compatibility only !!!"
.  "data"
               "real"
               "The angle value, in radian"

"D23bs_att_list"

"D23bs_column_index"
.  "list"
               "group"
               ""
.  "index"
               "object"
               ""

"D23bs_coord_rec"
.  "norm"
               "group"
               "read only: for compatibility only !!!"
.  "x"
               "real"
               "x coordinate"
.  "y"
               "real"
               "y coordinate"
.  "z"
               "real"
               "z coordinate"
.  "data"
               "group"
               "{ x, y, z } (z is optional for 'write')"

"D23bs_database_rec"

"D23bs_digits_rec"
.  "data"
               "integer"
               "127, 0->5 or 10->15"
               "127   : no numbers"
               "0->5  : number of digits after ."
               "10->15: number of digits after . but don't display"
               "        trailing zeros"
.  "digits"
               "integer"
               "127, 0->5"
.  "zeros"
               "boolean"
               "'true' if trailing zeros are not displayed"

"D23bs_fillstyle_rec"
.  "hatch"
               "string"
               ""hatch_no", "hatch_single", "hatch_cross","
               ""hatch_undefined""
.  "hidden"
               "boolean"
               "'false' = transparent background (only hatching lines"
               "are visible)"

"D23bs_font_rec"
.  "fontname"
               "string"
               "Name of the font,"
               "e.g. "Helvetica", "Courier", "HelveticaLight","
               ""CourierLight","HelveticaBold", "CourierBold""

"D23bs_format_rec"
.  "data"
               "string"
               ""cgm", "picture_file", "hpgl", "postscript","
               ""postscript_black_white""

"D23bs_len_rec"
.  "norm"
               "real"
               "Read only: for compatibility only !!!"
.  "data"
               "real"
               "The length value"

"D23bs_plot_opt"
.  "data"
               "string"
               "For internal use only !!!"

"D23bs_prop_rec"
.  "norm"
               "real"
               "Read only: for compatibility only !!!"
.  "data"
               "real"
               "The proportion value, NOT in percent"

"D23bs_size_rec"
.  "system"
               "string"
               "One of 'size_free', 'din_a', 'ansi_8.5x11', 'ansi_9x12'"
.  "size"
               "string"
               "for 'size_free'   : 0"
               "for 'din_a'       : 0 -> 5"
               "for 'ansi_8.5x11' : a -> e"
               "for 'ansi_9x12'   : a -> e"

.  "height"
               "real"
               "The height (Y-direction) "

.  "width"
               "real"
               "The width (X-direction) "

.  "portrait"
               "boolean"
               "'true' when height > width"


"D23bs_styletype_rec"
.  "broken_allowed"
               "boolean"
               "Specify if broken line type is allowed;"
               "may only set 'true' for lines"
.  "dash_list"
               "group"
               "Group of integer: "
               "a sequence of x pixels dash, y pixels gap, ..."
               "(only if style==userdef)"
.  "second_draw"
               "object"
               "Query: the styletype_rec which describes the second"
               "draw."
               "Assignment: second_draw = "new" and"
               "            second_draw.stylename = ... , ..."
.  "stylename"
               "string"
               ""solid", "dashed", "dashdotted", "dashdotdotted","
               ""dotted", "solid_invisiblepart_dashed", "broken","
               ""userdef" "
               ""userdef" can not be assigned, use '.dash_list = ...'"
.  "thickness"
               "real"
               "Thickness of the pen in mm"

"D23bs_idm_symb_name"
.  "dir_name"
               "string"
               "Name of directory"
.  "file_ext"
               "string"
               "Filename extension"
.  "file_name"
               "string"
               "Filename"
.  "idm_item"
               "group"
               "Item administered in IDM"
               "(= 0 if item does not exist in IDM);"
               "{ {IDM_project: proj, IDM_lib_id: lib},"
               "  {IDM_item_id: item} }"
               "    proj =  { char: proj, int: id }"
               "    lib  =  { char: lib,  int: id }"
               "    item =  { char: item_name, int: id, int: type,"
               "              int: version, char: part_no,"
               "              char: revision }"
.  "io_reason"
               "string"
               "r : readonly"
               "w : write"
               "a : append"
               "o : overwrite"
.  "item_id"
               "..."
               "For internal use only !!!"
#               "int"
#               "id of item"
.  "item_lib"
               "..."
               "For internal use only !!!"
#               "string"
#               "library of item"
.  "item_lib_id"
               "..."
               "For internal use only !!!"
               "int"
               "library id of item"
.  "item_name"
               "..."
               "For internal use only !!!"
               "string"
               "name of item"
.  "item_part_no"
               "..."
               "For internal use only !!!"
#               "string"
#               "part number of item"
.  "item_proj"
               "..."
               "For internal use only !!!"
#               "string"
#               "project of item"
.  "item_proj_id"
               "..."
               "For internal use only !!!"
#               "int"
#               "project id of item"
.  "item_revision"
               "..."
               "For internal use only !!!"
#               "string"
#               "revision of item"
.  "item_type"
               "..."
               "For internal use only !!!"
#               "string"
#               "type of item"
.  "item_version"
               "..."
               "For internal use only !!!"
#               "string"
#               "version of item"

"D23bs_tab_instance_rec"
.  "colname"
               "string"
               "First column"
.  "gt_lt"
               "string"
               "Comparative operator:"
               ""equal", "smaller", "larger", "smaleq", "greateq""
.  "tabname"
               "string"
               "Name of table"

"D23bs_table_rec"
.  "col_tn"
               "group"
               "Type and name of the columns"
.  "ex_tab"
               "group"
               "Name and table the column references to"
               "(for nested tables)"
.  "tabname"
               "string"
               "Filename of table"
.  "intern"
               "boolean"
               "table is stored internally, not on file or db"
.  "storage_type"
               "string"
               "possible values of this string:"
               "intern_storage"
               "extern_storage   (old .tab files)"
               "marked_storage   (.udt files)"
               "ingres_storage"
               "oracle_storage"

"D23bs_tablelist"

"program"
.  "unit"
               "string"
               "The working unit ("mm","inch")"

################################################################################
<type input>
 
"an_rec"
 <real: angle in degrees>

"att_list"
 <string: attributname>

"column_index"
 { <string:colnam> [, <string:colnam>, ...] }

"coord_rec"
 { <real:x> , <real:y> [, <real:z> ] }
 default for z: 0.0

"database_rec"
 {<nodename> <db_type> <userlogin> <passwordlogin> <user> <password><dbname>}
 <nodename>      string     TCP/IP name of host, e.g. "iris8"
 <db_type>       string     Type of database: "INGRES" or "ORACLE"
 <userlogin>     string     Login user name on remote host
 <passwordlogin> string     Login password on remote host
 <user>          string     Oracle user. No meaning in case of INGRES
 <password>      string     Oracle password. No meaning in case of INGRES
                            Oracle user/passwd. If empty it means also: 
                            not connected
 <dbname>        string     Data base name.
                            Only real meaning in case of INGRES.

"digits_rec"
 <integer:digits>

"fillstyle_rec"
 { <string:hatch>, <boolean:hidden> }
 hatch:          "hatch_no", "hatch_single", "hatch_cross"

"font_rec"
 <string:fontname>

"format_rec"
 <string:plotformat>
 (see D23bs_format_rec)

"len_rec"
 <real:length> or <integer:length>

"plot_NT_DC"
 for internal use only !!!

"plotfname"
 >>> USER DEFINED VALUE <<<
 This value is used in the action 'output_plott' to specify a filename
 { <boolean:overwrite> , <dynstring:plotfilename> }
 .
 <boolean:overwrite>      = true : overwrite an already existing file
                            false: warning if a file exists
 <dynstring:plotfilename> = the specified filename to write a cgm-output on

"plotterudv"
 >>> USER DEFINED VALUE <<<
 This value is used in the action 'output_plott' to specify a plotter out
 of the user- or system-specific installation of PlotT.
 { <dynstring:plottername> }
 .
 <plottername>  The environment is searched for a valid file 'plotter.dat'.
                All organized plotters found in this file will be shown in a
                selection box. If one plotter is selected its name is 
                <plottername>. In dialog you can see more detailed information
                about <plottername> by pressing a button.
"prop_rec"
 <real:proportion> or <integer:proportion>

"size_rec"
 { <string:nr> [, <real:width> [, <real:height> ]] }
 nr              sheet size no. doc.
                 "size_free"
               | "din<?><?><i> [<*>portrait]"
               | "ansi<?><c><*>8.5x11 [<*>portrait]"
               | "ansi<?><c><*>9x12 [<*>portrait]"
                 <?>: any sign
                 <i>: numeral
                 <c>: character
                 <*>: any sign(s) (may be no sign)
 width           width of sheet, only if size_free
 height          height of sheet, only if size_free

"styletype_rec"
 { <string:pattern>, <real or integer:thickness> [, <integer:dashes> ] }
 pattern:        "solid" | "dashed" | "dashdotted" | "dashdotdotted"
              |  "dotted" | "solid_invisiblepart_dashed" | "broken"
              |  "userdef"
 thickness:      1 (=0.25), 2 (=0.35), 3 (=0.5)
                 default = 0.5
 dashes:         on/off length segment lengthes (0.1 mm pieces),
                 only if pattern == "userdef"
                 { integer, ... }

"idm_item_name"
 <string:filename> or
 { <string: filename>, <string: io_reason> }  or
 {{ <IDM_project: proj>, <IDM_lib_id: lib> }, { <IDM_item_id: item> }}
 io_reason       "write"|"read"|"append"|"overwrite"

"idm_symb_name"
 <string:filename> or
 { <string: filename>, <string: io_reason> }  or
 {{ <IDM_project: proj>, <IDM_lib_id: lib> }, { <IDM_item_id: item> }}
 io_reason       "write"|"read"|"append"|"overwrite"

"tab_instance_rec"
 { <string:colname>, <string:gt_lt>, <object:obj>, <string:ctyp>, <val> }
 colname         name of column
 gt_lt           "equal" | "larger" | "smaller" |
                 "greateq" | "smaleq" | "no_key"
 obj             reference object, "NULL" (not used) in case of "no_key"
                 else object of type length | angle | string | variable
 ctyp            "real" | "integer" | "string"    type of column
 val             real | integer | string          depends on ctyp

"table_rec"
 { <tabhead>, <tabline>, <tabline> ... } | "NULL"
 tabhead         column description
                 { { typ, name [,len [, utyp, subtable, unam]] }, ... }
   typ           "int" | "flt" | "str" | "tab"    type   of column
   name          string                           name   of column
   len           integer                          length of column
   utyp          "int" | "flt" | "str"            column type of sub table
   subtable      aql_object_type
   unam          string                           column name of sub table
 tabline         one element per column
                 { integer | real | string, ... }
 Whole table_rec may be substituted by "NULL", if table (intern or extern)
 already exists.
  
"tablelist"
 { <string:tablename>, <string:wildcard> }
 tablename       name of table
 wildcard        (written as symbol, but not stored in model file)

################################################################################
<actions>

################################################################################
<events>

"continue_event"
function   : for internal use only !!!

################################################################################
<hide actions>
"tab_dummy"
"string_filename"
