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
if (infoPopup != null)
						infoPopup.close();
				}
			}
		}
		/*
		 * Get the string for the specified proposal. Always return a String of
		 * some kind.
		 */
		private String getString(IContentProposal proposal) {
			if (proposal == null)
				return EMPTY;
			if (labelProvider == null)
				return proposal.getLabel() == null ? proposal.getContent()
						: proposal.getLabel();
			return labelProvider.getText(proposal);
		}
		/*
		 * Get the image for the specified proposal. If there is no image
		 * available, return null.
		 */
		private Image getImage(IContentProposal proposal) {
			if (proposal == null || labelProvider == null)
				return null;
			return labelProvider.getImage(proposal);
		}
		/*
		 * Return an empty array. Used so that something always shows in the
		 * proposal popup, even if no proposal provider was specified.
		 */