Customizing the metamodel : Keywords for USRPROPS : CONTROL_INSERTION_BEHAVIOR
  
CONTROL_INSERTION_BEHAVIOR
This command facilitates the building of frameworks employing subtyping or copying of properties where properties can be specified to exist in chapters whose appearance is governed by conditional properties, so the appearance of the properties through controls must be preserved in the current page where one exists.
Syntax
[DIAGRAM | SYMBOL | DEFINITION]
{
CONTROL_INSERTION_BEHAVIOR flags
Rules
flags is a numeric, currently only bit 1 (value 1) is checked for.
When a PROPERTY keyword is specified after a CHAPTER keyword and the control for that property already exists…
Normally (with setting 0):
It is moved.
With setting 1:
It is not moved, a new control is created.
When a property is applied to a subtype, or copied…
By a definition block occurring after the SUBTYPE OF or COPY PROPERTIES FROM keywords.
(In usrprops.txt) Through the PROPERTY keyword in the supertype, after the SUBTYPE OF keywords have set up the subtyping relationship.
Normally (with setting 0):
Existing control is left unchanged.
With setting 1:
We add a duplicate for each control that exists for the property (see below).
When a control is applied to a subtype or copied…
By a definition block occurring after the SUBTYPE OF/COPY PROPERTIES FROM keywords.
(In usrprops.txt) Through the CONTROL keyword in the supertype, after the SUBTYPE OF keywords have set up the subtyping relationship.
Normally (with setting 0):
If a control already exists with the same name we just update which property it is associated with.
Controls added through PROPERTY keywords do not store names so for these they match if they represent the same property. The result is the same as the above.
With setting 1:
We find a unique name for the control by adding a suffix, which is used if we add the control later.
We check to see if a matching control exists in a match of the donor page – if not then we create a control taking the page into account.