Bug 136244 [Dialogs] PopupDialog - API - overriding default colors should be simpler
PopupDialog has protected methods that allow you to dictate which controls in the dialog should have their foreground/background color set. However, it is not simple to override the colors themselves. The method applyColors is private, and in order to use applyForegroundColor(...), etc., you must override createContents to ensure that the subclasses' colors get set after the default colors. Instead, the method applyColors should either be made protected, or it should call protected methods that specify the foreground and background color, rather than assuming it is always the system info colors.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/PopupDialog.java
/**
	 * Shell style appropriate for a simple hover popup that cannot get focus.
	 */
	public final static int HOVER_SHELLSTYLE = SWT.NO_FOCUS | SWT.ON_TOP
			| SWT.NO_TRIM;
	/**
	 * Shell style appropriate for an info popup that can get focus.
	 */
	public final static int INFOPOPUP_SHELLSTYLE = SWT.NO_TRIM;
	/**
	 * Shell style appropriate for a resizable info popup that can get focus.
	 */
	public final static int INFOPOPUPRESIZE_SHELLSTYLE = SWT.RESIZE;
	/**
	 * Margin width (in pixels) to be used in layouts inside popup dialogs
	 * (value is 0).
	 */
	public final static int POPUP_MARGINWIDTH = 0;
	/**
	 * Margin height (in pixels) to be used in layouts inside popup dialogs
	 * (value is 0).
	 */
	public final static int POPUP_MARGINHEIGHT = 0;
	/**
	 * Vertical spacing (in pixels) between cells in the layouts inside popup
	 * dialogs (value is 1).
	 */
	public final static int POPUP_VERTICALSPACING = 1;
	/**
	 * Vertical spacing (in pixels) between cells in the layouts inside popup