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
/*
		 * Creates the content area for the proposal popup. This creates a table
		 * and places it inside the composite. The table will contain a list of
		 * all the proposals.
		 * 
		 * @param parent The parent composite to contain the dialog area; must
		 * not be <code>null</code>.
		 */
		protected final Control createDialogArea(final Composite parent) {
			
			if (USE_VIRTUAL) {
				proposalTable = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL
						| SWT.VIRTUAL);
				Listener listener = new Listener() {
					public void handleEvent(Event event) {
						handleSetData(event);
					}
				};
				proposalTable.addListener(SWT.SetData, listener);
			} else {
				proposalTable = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL);
			}
			
			recomputeProposals(filterText);
			proposalTable.setHeaderVisible(false);
			proposalTable.addSelectionListener(new SelectionListener() {
				public void widgetSelected(SelectionEvent e) {
					
					
					if (e.item == null) {