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
* specific tab ordering.
	 * 
	 * @param composite
	 *            the composite in which all content, including the title area
	 *            and info area, was created. This composite's parent is the
	 *            shell.
	 */
	protected void setTabOrder(Composite composite) {
		
	}
	/**
	 * Returns a boolean indicating whether the popup should have a title area
	 * at the top of the dialog. Subclasses may override. Default behavior is to
	 * have a title area if there is to be a menu or title text.
	 * 
	 * @return <code>true</code> if a title area should be created,
	 *         <code>false</code> if it should not.
	 */
	protected boolean hasTitleArea() {
		return titleText != null || showDialogMenu;
	}
	/**
	 * Returns a boolean indicating whether the popup should have an info area
	 * at the bottom of the dialog. Subclasses may override. Default behavior is
	 * to have an info area if info text was provided at the time of creation.
	 * 
	 * @return <code>true</code> if a title area should be created,
	 *         <code>false</code> if it should not.
	 */
	protected boolean hasInfoArea() {