layout.marginHeight = 1;
layout.marginHeight = 2;
	public Control createControl( Composite parent )	{		container = new Composite( parent, SWT.NONE );		GridLayout layout = new GridLayout( );		layout.marginHeight = 1;		layout.marginWidth = 1;		layout.horizontalSpacing = 3;		layout.numColumns = 2;		container.setLayout( layout );		SelectionListener listener = new SelectionListener( ) {			public void widgetSelected( SelectionEvent e )			{				handleEvent( );			}			public void widgetDefaultSelected( SelectionEvent e )			{				handleEvent( );			}		};		text = new Text( container, SWT.SINGLE | SWT.RIGHT );		text.addSelectionListener( listener );		text.addModifyListener( new ModifyListener( ) {			public void modifyText( ModifyEvent e )			{				if ( combo.getItemCount( ) > 0						&& ( combo.getText( ) == null || combo.getText( )								.length( ) == 0 ) )				{					if ( getDescriptorProvider( ) instanceof UnitPropertyDescriptorProvider )					{						String unit = ( (UnitPropertyDescriptorProvider) getDescriptorProvider( ) ).getDefaultUnit( );						if ( unit != null )						{							combo.setText( unit );						}						else						{							combo.setText( combo.getItem( 0 ) );						}					}				}			}		} );		text.addFocusListener( new FocusListener( ) {			public void focusGained( FocusEvent e )			{			}			public void focusLost( FocusEvent e )			{				if ( !hasError )				{					handleEvent( );				}			}		} );		combo = new CCombo( container, SWT.FLAT | SWT.READ_ONLY );		combo.addSelectionListener( listener );		GridData data = new GridData( );		data.widthHint = (int) ( combo.computeSize( SWT.DEFAULT, SWT.DEFAULT ).x * 1.5 );		if ( text.computeSize( SWT.DEFAULT, SWT.DEFAULT ).y < combo.computeSize( SWT.DEFAULT,				SWT.DEFAULT ).y )			data.heightHint = combo.computeSize( SWT.DEFAULT, SWT.DEFAULT ).y - 2;		text.setLayoutData( data );		data = new GridData( GridData.FILL_HORIZONTAL );		combo.setLayoutData( data );		return container;	}