options.wrm

## Configuring Classes with options.wrm

The special configuration file wspec/options.wrm is read in conjunction with the database models when the acedb application starts up.
It holds the class definitions necessary to the applications. The kernel classes are defined in the program code.
Most options can be changed freely to configure the behaviour of certain aspects of the program.

### File format

All lines starting with _V<class> are parsed, where <class> is a valid class name from the database models or the name of a kernel class, if it is wise to change its configuration.
This token is followed by a set of parameters which is written like a Unix style command line, i.e. each option starts with a dash '-' followed by the option name. Option names can be abbreviated down to the shortest possible length where no ambiguity is possible.

### Class options

-Visible
  This class will automatically appear in the class chooser of the acedb main window.

  This will only affect the default class layout when the program first starts. The final layout of the classes in the main window can be configured in the Layout editor or in the configuration file wspec/layout.wrm

-Hidden
  This class is not shown automatically in the main window class chooser, but will be listed in the class-menu in the button 'Other class...' in the main window.

-Array
  The class is of type 'A' (a class containing fixed sized elements in the style of arrays or tuples.) An example is the built-in DNA class, which contains a sequence of special characters A, C, T, G.
  The user will not typically use this option.

-Btree
  The class is of type 'B', which are the user-defined classes in models.wrm, which have a tree-like structure.
  As this is the default for classes that appear in models.wrm, The user will not typically use this option.

-Display <displaytype>
  An important option to configure the behaviour of the graphical acedb applications. All 'B' class objects are usually shown in the textual Tree display, when the object is fecthed by a double click in a graphical display. However special displays like the Map displays have been written for certain classes to present the object's information graphically.
  This option is used to configure, which display will be used by default. There are a number of displays, but to give an example, the type GMAP is used for the Map class, or the type FMAP for the Sequence class. The option 'Show as Text' which is available in the KeySet window and also in map displays will force the display in the default TREE display if necessary.

-Title <Tag>
  If present in some object of that class, the text following it will be used preferentially when referring to that object.

-Symbol <Tag>
  If present in some object of that class, the text or key following it will be used preferentially when referring to that object in Maps.

-Rename <otherName>
  Other name will show in lists, old and new name will be recognized in ace files and queries, old is used in the code. In case some newName matches some old name, the new name takes precedence.

-CaseSensitive
  The names in this class will be case sensitive (case-insensitivity is the default). This applies to all queries. A case-sensitive class can have an object called 'aa' and another object 'AA'. By default a class is not case-sensitive, so in that class any mention of 'aa' will refer to the same object as 'AA'.
  Never undo this option once it has been used, as it may corrupt the integrity of the database. Imagine you have a case-sensitive class with two object called 'aa' and 'AA'. If this class was now made ce-insensitive, you would have to fuse the two objects 'aa' and 'AA' into one object, because in the case-insensitive class noth names would refer to the same object. This can be achieved by hand, if the whole class in dumped, then you unset this option and destroy the class in the database before reading in the dump file. The parser would then fuse the objects as necessary but with unforseen consequences.

-Known
  Prevents indirect creation of new object in ace files You can't enter a new object in this class directly but not by quoting it in another object.

The default options for each user-defined classes are `-Btree -Hidden -Display TREE`.

Every 'A' class has a special function the program that defined how the array elements are to be read from an ace-file and how they are dunped out to an ace-file. These classes are therefor built into the program code and probably shouldn't be re-configured.

to Table of Contents

last edited: April 1999