Bug 125651 [Forms] Wrapped hyperlinks cause artifacts in FormText
There seems to be an off-by-one error in the FormText widget between images and text. See the example below and the corresponding screenshot: final FormText text = formToolkit.createFormText(parent, false/*no links so not a concern*/); text.setForeground(formColors.getColor(DataEntryFormColors.FORM_ELEMENT_FOREGROUND)); text.setBackground(formColors.getColor(DataEntryFormColors.FORM_LABEL_BACKGROUND)); text.setWhitespaceNormalized(false/*don't remove whitespace*/); text.setText("<form><p><img href=\"addNewLabel\"/> <img href=\"deleteLabel\"/>This is a really really really long line to test the wrapping of text. This is a really really really long line to test the wrapping of text. This is a really really really long line to test the wrapping of text.</p></form>", true/*parse tags*/, false/*no links so no concern*/); text.setImage("addNewLabel", addNewLabelImage); text.setImage("deleteLabel", deleteLabelImage); This widget is within a form using TableWrapLayout. (SWT 3.2M4)
bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
this.colorId = colorId;
		this.wrapAllowed = wrapAllowed;
	}	
	private String cleanup(String text) {
		StringBuffer buf = new StringBuffer();
		for (int i = 0; i < text.length(); i++) {
			char c = text.charAt(i);
			if (c == '\n' || c == '\r' || c == '\f') {
				if (i > 0)
					buf.append(' ');
			} else
				buf.append(c);
		}
		return buf.toString();
	}
	public void setWordWrapAllowed(boolean value) {
		wrapAllowed = value;
	}
	public boolean isWordWrapAllowed() {
		return wrapAllowed;
	}
	public boolean isSelectable() {
		return false;
	}
	public String getColorId() {
		return colorId;
	}
	public String getText() {
		return text;
	}