private void createTextWidgets() {
	if (labels == null) return;
	
	Composite composite = new Composite(shell, SWT.NONE);
	composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
	GridLayout layout= new GridLayout();
	layout.numColumns = 2;
	composite.setLayout(layout);
	
	if (values == null)
		values = new String[labels.length];
	
	for (int i = 0; i < labels.length; i++) {
		Label label = new Label(composite, SWT.RIGHT);
		label.setText(labels[i]);	
		Text text = new Text(composite, SWT.BORDER);
		GridData gridData = new GridData();
		gridData.widthHint = 400;
		text.setLayoutData(gridData);
		if (values[i] != null) {
			text.setText(values[i]);
		}
		text.setData("index", new Integer(i));
		addTextListener(text);	
	}
}