Bug 155873 [PropertiesView] PropertySheetPage Help Integration Does Not Work In a Wizard
I've created a wizard page that uses a PropertySheetPage. If the PSP has focus and I press F1 to open help, a NPE occurs. The NPE occurs in the PropertySheetPage class on line 233 which is this: getSite().getWorkbenchWindow().getWorkbench().getHelpSystem().displayHelp(HELP_CONTEXT_PROPERTY_SHEET_PAGE); getSite() returns null because the PSP is not in a view. From what I can tell, getSite() is only being called to get the help system, which can be done in another way. If the help system was acquired in a different way that didn't involve getting the site I think this would work. Here's an example I tried which works: PlatformUI.getWorkbench().getHelpSystem().displayHelp(HELP_CONTEXT_PROPERTY_SHEET_PAGE); So, I think only a minor change in the eclipse UI is required to resolve the issue I have. I will attach a patch that contains this fix.
bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
* @since 3.2
     */
    public Object getAdapter(Class adapter) {
		if (ISaveablePart.class.equals(adapter)) {
			return getSaveablePart();
		}
    	return null;
    }
    
	/**
	 * Returns an <code>ISaveablePart</code> that delegates to the source part
	 * for the current page if it implements <code>ISaveablePart</code>, or
	 * <code>null</code> otherwise.
	 * 
	 * @return an <code>ISaveablePart</code> or <code>null</code>
	 * @since 3.2
	 */
	protected ISaveablePart getSaveablePart() {
		if (sourcePart instanceof ISaveablePart) {
			return (ISaveablePart) sourcePart;
		}
		return null;
	}
    
    /**
     * Returns the cell editor activation listener for this page
     * @return ICellEditorActivationListener the cell editor activation listener for this page
     */
    private ICellEditorActivationListener getCellEditorActivationListener() {
        if (cellEditorActivationListener == null) {