Tile definitions have the following form:
name : item1 [ : item2 : item3 ... ] {
attribute = value;
...
}
item is a previously defined tile. The new tile (name) inherits the attributes of all the specified tiles (item1, item2, item3,…). The attribute definitions within the curly braces ({}) either supplement, or, if the attribute's name is identical, replace the inherited definitions. When the definition has multiple parents, attributes take precedence in left-to-right order. In other words, if more than one item specifies the same attribute, the first one encountered is the one used.
where eachIf the new definition contains no children, it is a prototype, and you can alter or augment its attributes when referring to it. If it is a subassembly with children, its attributes cannot be altered.
name of a tile or tile prototype can contain only letters, numbers, or the underscore character (_), and must begin with a letter.
TheThis is the (internal) definition of a button:
button : tile {
fixed_height = true;
is_tab_stop = true;
}
default_button as follows:
The base.dcl file defines adefault_button : button {
is_default = true;
}
default_button inherits the button tile's values for the fixed_height and is_tab_stop attributes. It adds a new attribute, is_default, and sets it to true.
The