The positions and sizes of "normal" widgets are defined in the .src files.
For example, svtools/unxlngi4.pro/misc/dialogs//prnsetup.src:

       FixedText FT_STATUS
        {
                Pos = MAP_APPFONT ( 12 , 29 ) ;
                Size = MAP_APPFONT ( 45 , 10 ) ;
                Text [ de ] = "Status" ;
                Text [ en-US ] = "Status" ;
                Text [ x-comment ] = " ";
		[...]
	};


The wizards (written in java) has the position and the size of widgets
hardcoded in the java sources. For example,
wizards/com/sun/star/wizards/table/Finalizer.java:

[...]
String sStartFormWizard = CurUnoDialog.oResource.getResText(UIConsts.RID_TABLE + 39);
[...]
optStartFormWizard = CurUnoDialog.insertRadioButton("optStartFormWizard", null,
      new String[] {"Height", "HelpURL", "Label", "PositionX", "PositionY", "Step", "TabIndex", "Width"},
      new Object[] { UIConsts.INTEGERS[8], "HID:41243", sStartFormWizard, new Integer(101), new Integer(121),IFINALSTEP, new Short(curtabindex++), new Integer(160)}		  
);
[...]

This code defines a radio button. The corresponding text is defined in a .src
file. In this case, it is wizards/source/formwizard/dbwizres.src:

String RID_DB_TABLE_WIZARD_START + 39
{
    Text [ de ] = "Ein Formular auf ~Basis dieser Tabelle erstellen";
    Text [ en-US] = "C~reate a form based on this table";
};

The relation between the string the the java code is defined by the RID.
