Bug 146265 [FieldAssist] Problems with vertical filled control
When using text with fill vertical, the text of the decorated field will not fill all the space. DecoratedField decoNormal = new DecoratedField(shell, SWT.BORDER, new TextControlCreator()); FieldDecoration fieldDeco = FieldDecorationRegistry.getDefault(). getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); decoNormal.addFieldDecoration(fieldDeco, SWT.TOP | SWT.LEFT, false); decoNormal.getLayoutControl().setLayoutData( new GridData(SWT.FILL, SWT.FILL, true, true) ); If i do this trick it will work but it is not a good practice i think : FormData fieldData = (FormData)decoVerticalFilled.getControl().getLayoutData(); fieldData.bottom = new FormAttachment(100, 0); decoVerticalFilled.getControl().setLayoutData(fieldData); Regards
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/DecoratedField.java
FormData data = new FormData();
		data.left = new FormAttachment(0, 0);
		data.top = new FormAttachment(0, 0);
		data.right = new FormAttachment(100, 0);
		control.setLayoutData(data);
	}
	/**
	 * Adds an image decoration to the field.
	 * 
	 * @param decoration
	 *            A FieldDecoration describing the image and description for the
	 *            decoration
	 * 
	 * @param position
	 *            The SWT constant indicating the position of the decoration
	 *            relative to the field's control. The position should include
	 *            style bits describing both the vertical and horizontal
	 *            orientation. <code>SWT.LEFT</code> and
	 *            <code>SWT.RIGHT</code> describe the horizontal placement of
	 *            the decoration relative to the field, and the constants
	 *            <code>SWT.TOP</code> and <code>SWT.BOTTOM</code> describe
	 *            the vertical alignment of the decoration relative to the
	 *            field. Decorations always appear on either horizontal side of
	 *            the field, never above or below it. For example, a decoration
	 *            appearing on the left side of the field, at the top, is
	 *            specified as SWT.LEFT | SWT.TOP. If an image decoration
	 *            already exists in the specified position, it will be replaced
	 *            by the one specified.
	 * @param showOnFocus
	 *            <code>true</code> if the decoration should only be shown