Customizing the metamodel : Modifying the aesthetic look of dialogs : Positioning controls and labels : Some general placement rules
  
Some general placement rules
Again, you will probably have to make some changes once you see the way the dialog is laid out, but these numbers may be helpful to start.
Positioning and size when the property is in a group and the label is over the property
ListOf
PLACEMENT { PROPPOS (4, 24)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (4, 24)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (4, 24)
PROPSIZE (LENGTH * 3, 12) }
PROPERTY type
PLACEMENT - Right-hand column
ListOf
PLACEMENT { PROPPOS (165, 24)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (165, 24)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (165, 24) PROPSIZE (LENGTH * 3, 12) }
PROPERTY type
PLACEMENT - Left-hand column
Positioning and size when the property is in a group and the label is not over the property
ListOf
PLACEMENT { PROPPOS (4, 12)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (4, 12)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (4, 12)
PROPSIZE (LENGTH * 3, 12) }
PROPERTY type
PLACEMENT - Right-hand column
ListOf
PLACEMENT { PROPPOS (165, 12)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (165, 12)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (165, 12) PROPSIZE (LENGTH * 3, 12) }
Positioning and size when the property is not in a group and the label is not over the property
PROPERTY type
PLACEMENT - Left-hand column
ListOf
PLACEMENT { PROPPOS (4, 2)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (4, 2)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (4, 2)
PROPSIZE (LENGTH * 3, 12) }
PROPERTY type
PLACEMENT - Right-hand column
ListOf
PLACEMENT { PROPPOS (165, 2)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (165, 2)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (165, 2) PROPSIZE (LENGTH * 3, 12) }
Positioning and size when the property is not in a group and the label is over the property
PROPERTY type
PLACEMENT - Left-hand column
ListOf
PLACEMENT { PROPPOS (4, 14)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (4, 14)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (4, 14)
PROPSIZE (LENGTH * 3, 12) }
PROPERTY type
PLACEMENT - Right-hand column
ListOf
PLACEMENT { PROPPOS (165, 14)
PROPSIZE (320, 98) }
OneOf
PLACEMENT { PROPPOS (165, 14)
PROPSIZE (150, 40) }
EDIT text (less than 75 characters)
PLACEMENT { PROPPOS (165, 14) PROPSIZE (LENGTH * 3, 12) }
Positioning and size when properties are below properties in the same dialog
PROPERTY add to endpoint of previous property
PLACEMENT - Left-hand column
A +14 if label is OVER property
PLACEMENT { PROPPOS (4, 14)
PROPSIZE (150, 40) }
B + 4 if property C is oneof
PROPSIZE (150, 40) }
PLACEMENT { PROPPOS (4, 112)
PROPSIZE (150, 12) }
PROPERTY type
PLACEMENT - Right-hand column
D + 4 is label of property E is on the side
PLACEMENT { PROPPOS (165, 14)
PROPSIZE (320, 98) }
E + 4 because a LABELPOS is used for property
PLACEMENT { PROPPOS (165, 116)
PROPSIZE (150, 40) }
PLACEMENT { LABELPOS (165, 160) PROPPOS (165, 170) PROPSIZE (30, 12) }
Note LABELPOS is optional. It is used to override the LAYOUT command for the group. The y coordinate is 10 units higher than the PROPPOS y coordinate.
The result of the CHAPTER commands