mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 10:46:02 +02:00
Patch from Andrew for Help support
This commit is contained in:
parent
03d8731b43
commit
c191bced9d
6 changed files with 114 additions and 4 deletions
|
@ -8,22 +8,32 @@
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
package org.eclipse.cdt.make.internal.ui;
|
package org.eclipse.cdt.make.internal.ui;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.cdt.make.core.MakeBuilder;
|
import org.eclipse.cdt.make.core.MakeBuilder;
|
||||||
import org.eclipse.cdt.make.core.MakeCorePlugin;
|
import org.eclipse.cdt.make.core.MakeCorePlugin;
|
||||||
|
import org.eclipse.cdt.make.internal.ui.properties.MakePropertyPage;
|
||||||
|
import org.eclipse.cdt.make.ui.IMakeHelpContextIds;
|
||||||
import org.eclipse.cdt.make.ui.dialogs.DiscoveryOptionsBlock;
|
import org.eclipse.cdt.make.ui.dialogs.DiscoveryOptionsBlock;
|
||||||
import org.eclipse.cdt.make.ui.dialogs.SettingsBlock;
|
import org.eclipse.cdt.make.ui.dialogs.SettingsBlock;
|
||||||
import org.eclipse.cdt.ui.dialogs.BinaryParserBlock;
|
import org.eclipse.cdt.ui.dialogs.BinaryParserBlock;
|
||||||
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
|
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
|
||||||
|
import org.eclipse.cdt.ui.dialogs.ICOptionPage;
|
||||||
import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
|
import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
|
||||||
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
import org.eclipse.swt.widgets.Control;
|
||||||
|
import org.eclipse.ui.help.WorkbenchHelp;
|
||||||
|
|
||||||
public class MakeProjectOptionBlock extends TabFolderOptionBlock {
|
public class MakeProjectOptionBlock extends TabFolderOptionBlock {
|
||||||
|
private ICOptionContainer optionContainer;
|
||||||
public MakeProjectOptionBlock() {
|
public MakeProjectOptionBlock() {
|
||||||
super(true);
|
super(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MakeProjectOptionBlock(ICOptionContainer parent) {
|
public MakeProjectOptionBlock(ICOptionContainer parent) {
|
||||||
super(parent);
|
super(parent);
|
||||||
|
optionContainer = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addTabs() {
|
protected void addTabs() {
|
||||||
|
@ -33,4 +43,33 @@ public class MakeProjectOptionBlock extends TabFolderOptionBlock {
|
||||||
addTab(new DiscoveryOptionsBlock());
|
addTab(new DiscoveryOptionsBlock());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setOptionContainer(ICOptionContainer parent) {
|
||||||
|
super.setOptionContainer( parent );
|
||||||
|
optionContainer = parent;
|
||||||
|
}
|
||||||
|
public Control createContents(Composite parent) {
|
||||||
|
Control control = super.createContents( parent );
|
||||||
|
|
||||||
|
List optionPages = getOptionPages();
|
||||||
|
Iterator iter = optionPages.iterator();
|
||||||
|
for( int i = 0; i < 4 && iter.hasNext(); i++ ){
|
||||||
|
ICOptionPage page = (ICOptionPage) iter.next();
|
||||||
|
if( optionContainer != null && optionContainer instanceof MakePropertyPage )
|
||||||
|
switch( i ){
|
||||||
|
case 0 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_PROP_BUILDER_SETTINGS); break;
|
||||||
|
case 1 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_PROP_ERROR_PARSER ); break;
|
||||||
|
case 2 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_PROP_BINARY_PARSER ); break;
|
||||||
|
case 3 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_PROP_DISCOVERY ); break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
switch( i ){
|
||||||
|
case 0 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_BUILDER_SETTINGS); break;
|
||||||
|
case 1 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_PREF_ERROR_PARSER ); break;
|
||||||
|
case 2 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.MAKE_PREF_BINARY_PARSER ); break;
|
||||||
|
case 3 : WorkbenchHelp.setHelp(page.getControl(), IMakeHelpContextIds.SCANNER_CONFIG_DISCOVERY_OPTIONS ); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return control;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,22 @@ public interface IMakeHelpContextIds {
|
||||||
public static final String PREFIX = MakeUIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$
|
public static final String PREFIX = MakeUIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$
|
||||||
|
|
||||||
public static final String MAKE_PATH_SYMBOL_SETTINGS = PREFIX + "cdt_paths_symbols_page"; //$NON-NLS-1$
|
public static final String MAKE_PATH_SYMBOL_SETTINGS = PREFIX + "cdt_paths_symbols_page"; //$NON-NLS-1$
|
||||||
public static final String MAKE_BUILDER_SETTINGS = PREFIX + "cdt_make_builder_page"; //$NON-NLS-1$
|
public static final String MAKE_BUILDER_SETTINGS = PREFIX + "newproj_buildset"; //$NON-NLS-1$
|
||||||
public static final String SCANNER_CONFIG_DISCOVERY_OPTIONS = PREFIX + "cdt_discovery_options_page"; //$NON-NLS-1$
|
public static final String MAKE_PROP_BUILDER_SETTINGS = PREFIX + "std_prop_build"; //$NON-NLS-1$
|
||||||
|
public static final String SCANNER_CONFIG_DISCOVERY_OPTIONS = PREFIX + "discovery_preferences"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROP_DISCOVERY = PREFIX + "std_prop_discovery"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_VIEW = PREFIX + "make_targets_view"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_NAME_PAGE = PREFIX + "new_proj_wiz_s_name"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_PROJECTS_TAB = PREFIX + "new_proj_wiz_s_proj"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_MAKEBUILDER_TAB = PREFIX + "new_proj_wiz_s_mbuilder"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_ERRORPARSER_TAB = PREFIX + "new_proj_wiz_s_errorp"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_BINARYPARSER_TAB = PREFIX + "new_proj_wiz_s_binary"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_DISCOVERY_TAB = PREFIX + "new_proj_wiz_s_discovery"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROJ_WIZ_INDEXER_TAB = PREFIX + "new_proj_wiz_s_cindexer"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
public static final String MAKE_PROP_ERROR_PARSER = PREFIX + "std_prop_error"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PROP_BINARY_PARSER = PREFIX + "std_prop_binary"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PREF_ERROR_PARSER = PREFIX + "newproj_parser_error"; //$NON-NLS-1$
|
||||||
|
public static final String MAKE_PREF_BINARY_PARSER = PREFIX + "newproj_parser_binary"; //$NON-NLS-1$
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,9 @@ package org.eclipse.cdt.make.ui.views;
|
||||||
* (c) Copyright QNX Software Systems Ltd. 2002. All Rights Reserved.
|
* (c) Copyright QNX Software Systems Ltd. 2002. All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.eclipse.cdt.make.ui.*;
|
import org.eclipse.cdt.make.ui.IMakeHelpContextIds;
|
||||||
|
import org.eclipse.cdt.make.ui.MakeContentProvider;
|
||||||
|
import org.eclipse.cdt.make.ui.MakeLabelProvider;
|
||||||
import org.eclipse.core.resources.ResourcesPlugin;
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
import org.eclipse.jface.action.IMenuListener;
|
import org.eclipse.jface.action.IMenuListener;
|
||||||
import org.eclipse.jface.action.IMenuManager;
|
import org.eclipse.jface.action.IMenuManager;
|
||||||
|
@ -24,8 +26,11 @@ import org.eclipse.swt.events.KeyEvent;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Menu;
|
import org.eclipse.swt.widgets.Menu;
|
||||||
import org.eclipse.ui.IActionBars;
|
import org.eclipse.ui.IActionBars;
|
||||||
|
import org.eclipse.ui.IWorkbenchPart;
|
||||||
|
import org.eclipse.ui.help.WorkbenchHelp;
|
||||||
import org.eclipse.ui.part.DrillDownAdapter;
|
import org.eclipse.ui.part.DrillDownAdapter;
|
||||||
import org.eclipse.ui.part.ViewPart;
|
import org.eclipse.ui.part.ViewPart;
|
||||||
|
import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
|
||||||
|
|
||||||
public class MakeView extends ViewPart {
|
public class MakeView extends ViewPart {
|
||||||
|
|
||||||
|
@ -51,6 +56,7 @@ public class MakeView extends ViewPart {
|
||||||
* @see ContentOutlinePage#createControl
|
* @see ContentOutlinePage#createControl
|
||||||
*/
|
*/
|
||||||
public void createPartControl(Composite parent) {
|
public void createPartControl(Composite parent) {
|
||||||
|
WorkbenchHelp.setHelp(parent, IMakeHelpContextIds.MAKE_VIEW);
|
||||||
viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
|
viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
|
||||||
viewer.setUseHashlookup(true);
|
viewer.setUseHashlookup(true);
|
||||||
viewer.setContentProvider(new MakeContentProvider());
|
viewer.setContentProvider(new MakeContentProvider());
|
||||||
|
|
|
@ -5,9 +5,14 @@ package org.eclipse.cdt.make.ui.wizards;
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.cdt.make.core.MakeCorePlugin;
|
import org.eclipse.cdt.make.core.MakeCorePlugin;
|
||||||
import org.eclipse.cdt.make.internal.ui.MakeProjectOptionBlock;
|
import org.eclipse.cdt.make.internal.ui.MakeProjectOptionBlock;
|
||||||
|
import org.eclipse.cdt.make.ui.IMakeHelpContextIds;
|
||||||
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
|
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
|
||||||
|
import org.eclipse.cdt.ui.dialogs.ICOptionPage;
|
||||||
import org.eclipse.cdt.ui.dialogs.IndexerBlock;
|
import org.eclipse.cdt.ui.dialogs.IndexerBlock;
|
||||||
import org.eclipse.cdt.ui.dialogs.ReferenceBlock;
|
import org.eclipse.cdt.ui.dialogs.ReferenceBlock;
|
||||||
import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
|
import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
|
||||||
|
@ -15,6 +20,7 @@ import org.eclipse.cdt.ui.wizards.NewCProjectWizard;
|
||||||
import org.eclipse.cdt.ui.wizards.NewCProjectWizardOptionPage;
|
import org.eclipse.cdt.ui.wizards.NewCProjectWizardOptionPage;
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.runtime.Preferences;
|
import org.eclipse.core.runtime.Preferences;
|
||||||
|
import org.eclipse.ui.help.WorkbenchHelp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standard main page for a wizard that is creates a project resource.
|
* Standard main page for a wizard that is creates a project resource.
|
||||||
|
@ -45,6 +51,26 @@ public class MakeProjectWizardOptionPage extends NewCProjectWizardOptionPage {
|
||||||
super.addTabs();
|
super.addTabs();
|
||||||
addTab(indexBlock = new IndexerBlock());
|
addTab(indexBlock = new IndexerBlock());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setupHelpContextIds(){
|
||||||
|
List pages = getOptionPages();
|
||||||
|
|
||||||
|
Iterator iter = pages.iterator();
|
||||||
|
for( int i = 0; i < 6 && iter.hasNext(); i++ ) {
|
||||||
|
ICOptionPage page = (ICOptionPage) iter.next();
|
||||||
|
|
||||||
|
String id = null;
|
||||||
|
switch( i ){
|
||||||
|
case 0 : id = IMakeHelpContextIds.MAKE_PROJ_WIZ_PROJECTS_TAB; break;
|
||||||
|
case 1 : id = IMakeHelpContextIds.MAKE_PROJ_WIZ_MAKEBUILDER_TAB; break;
|
||||||
|
case 2 : id = IMakeHelpContextIds.MAKE_PROJ_WIZ_ERRORPARSER_TAB; break;
|
||||||
|
case 3 : id = IMakeHelpContextIds.MAKE_PROJ_WIZ_BINARYPARSER_TAB; break;
|
||||||
|
case 4 : id = IMakeHelpContextIds.MAKE_PROJ_WIZ_DISCOVERY_TAB; break;
|
||||||
|
case 5 : id = IMakeHelpContextIds.MAKE_PROJ_WIZ_INDEXER_TAB; break;
|
||||||
|
}
|
||||||
|
WorkbenchHelp.setHelp(page.getControl(), id);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MakeProjectWizardOptionPage(String title, String description) {
|
public MakeProjectWizardOptionPage(String title, String description) {
|
||||||
|
@ -72,4 +98,7 @@ public class MakeProjectWizardOptionPage extends NewCProjectWizardOptionPage {
|
||||||
return makeWizardBlock.indexBlock.isIndexEnabled();
|
return makeWizardBlock.indexBlock.isIndexEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setupHelpContextIds(){
|
||||||
|
makeWizardBlock.setupHelpContextIds();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,11 +9,15 @@ import org.eclipse.cdt.make.core.MakeCorePlugin;
|
||||||
import org.eclipse.cdt.make.core.MakeProjectNature;
|
import org.eclipse.cdt.make.core.MakeProjectNature;
|
||||||
import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigNature;
|
import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigNature;
|
||||||
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
|
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
|
||||||
|
import org.eclipse.cdt.make.ui.IMakeHelpContextIds;
|
||||||
import org.eclipse.cdt.ui.wizards.NewCProjectWizard;
|
import org.eclipse.cdt.ui.wizards.NewCProjectWizard;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IProgressMonitor;
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
import org.eclipse.core.runtime.SubProgressMonitor;
|
import org.eclipse.core.runtime.SubProgressMonitor;
|
||||||
|
import org.eclipse.jface.wizard.IWizardPage;
|
||||||
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
import org.eclipse.ui.help.WorkbenchHelp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@ -53,4 +57,17 @@ public abstract class NewMakeProjectWizard extends NewCProjectWizard {
|
||||||
public String getProjectID() {
|
public String getProjectID() {
|
||||||
return MakeCorePlugin.MAKE_PROJECT_ID;
|
return MakeCorePlugin.MAKE_PROJECT_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void createPageControls(Composite pageContainer) {
|
||||||
|
super.createPageControls( pageContainer );
|
||||||
|
|
||||||
|
IWizardPage [] pages = getPages();
|
||||||
|
|
||||||
|
if( pages != null && pages.length == 2 ){
|
||||||
|
WorkbenchHelp.setHelp(pages[0].getControl(), IMakeHelpContextIds.MAKE_PROJ_WIZ_NAME_PAGE);
|
||||||
|
|
||||||
|
MakeProjectWizardOptionPage optionPage = (MakeProjectWizardOptionPage) pages[1];
|
||||||
|
optionPage.setupHelpContextIds();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ import org.eclipse.ui.help.WorkbenchHelp;
|
||||||
*/
|
*/
|
||||||
public class MIPreferencePage extends PreferencePage implements IWorkbenchPreferencePage
|
public class MIPreferencePage extends PreferencePage implements IWorkbenchPreferencePage
|
||||||
{
|
{
|
||||||
|
private final static String GDB_MI_HELP_CONTEXT = MIUIPlugin.PLUGIN_ID + "mi_preference_page_context"; //$NON-NLS-1$
|
||||||
// Debugger timeout preference widgets
|
// Debugger timeout preference widgets
|
||||||
IntegerFieldEditor fDebugTimeoutText;
|
IntegerFieldEditor fDebugTimeoutText;
|
||||||
|
|
||||||
|
@ -76,6 +77,8 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
|
||||||
|
|
||||||
setValues();
|
setValues();
|
||||||
|
|
||||||
|
WorkbenchHelp.setHelp(composite, GDB_MI_HELP_CONTEXT);
|
||||||
|
|
||||||
return composite;
|
return composite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue