Bug 125012 [Field Assist] Clarify lifecycle of the ILabelProvider used by ContentProposalAdapter
I20060119-0800 Clients who want to port their field content assistants from jface.text.contentassist to jface.fieldassist would expect to be able to supply an image in IContentProposal, e.g. with a 'Image getImage();' method as in ICompletionProposal. Without icons, e.g. proposals for java type names would look quite different from the ones you get in the java editor. There's also a lot more functionality in ICompletionProposal and the 4 ICompletionProposalExtension* interfaces. Some of those concepts must also be supported in fieldassist if clients such as the Find/Replace dialog and Java type completions in dialogs should switch (e.g. the additionalProposalInfo to show documentation for regex proposals, etc.). I can file separate bugs for these functionalities if you want to discuss them one by one.
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ContentProposalAdapter.java
protected Control createDialogArea(Composite parent) {
				text = new Text(parent, SWT.MULTI | SWT.READ_ONLY | SWT.WRAP
						| SWT.NO_FOCUS);
				
				GridData gd = new GridData(GridData.BEGINNING
						| GridData.FILL_BOTH);
				gd.horizontalIndent = PopupDialog.POPUP_HORIZONTALSPACING;
				gd.verticalIndent = PopupDialog.POPUP_VERTICALSPACING;
				text.setLayoutData(gd);
				text.setText(contents);
				
				text.addFocusListener(new FocusAdapter() {
					public void focusGained(FocusEvent event) {
						ContentProposalPopup.this.close();
					}
				});
				return text;
			}
			/*
			 * Adjust the bounds so that we appear adjacent to our parent shell
			 */
			protected void adjustBounds() {
				Rectangle parentBounds = getParentShell().getBounds();
				getShell().setBounds(
						new Rectangle(parentBounds.x + parentBounds.width
								+ PopupDialog.POPUP_HORIZONTALSPACING,
								parentBounds.y
										+ PopupDialog.POPUP_VERTICALSPACING,
								parentBounds.width, parentBounds.height));
			}