Bug 124202 [Field Assist] - decorated fields should not size the created control
The philosophy of DecoratedField is that the client creates the target control and accesses it with normal SWT coding. The decorated field manages the decorations but otherwise statys out of the way. This philosophy is violated when DecoratedField sets the width of the field to IDialogConstants.ENTRY_WIDTH. Sizing decisions should be made by the client of the decorated field, not the field itself.
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/DecoratedField.java
if (!hoverShell.isDisposed())
				hoverShell.dispose();
			if (region != null) {
				region.dispose();
			}
		}
		/*
		 * Set the visibility of the hover.
		 */
		void setVisible(boolean visible) {
			if (visible) {
				if (!hoverShell.isVisible())
					hoverShell.setVisible(true);
			} else {
				if (hoverShell.isVisible())
					hoverShell.setVisible(false);
			}
		}
		/*
		 * Set the text of the hover to the specified text. Recompute the size
		 * and location of the hover to hover near the specified control,
		 * pointing the arrow toward the target control.
		 */
		void setText(String t, Control hoverNear, Control targetControl) {
			if (t == null)
				t = EMPTY;
			if (!t.equals(text)) {
				Point oldSize = getExtent();
				text = t;
				hoverShell.redraw();