Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse Plug-in Developer Guide
Previous Page Home Next Page

Dynamic context help

In addition to statically associating widgets and context Ids, it is possible to provide this information dynamically for a more dynamic context-sensitive help capability. Help system uses context Ids to locate the matching org.eclipse.help.IContext object. The new Help view tracks activation of the workbench parts (views and editors) and checks if they adapt to org.eclipse.help.IContextProvider interface. If they do, the view will use the context provider to locate the IContext object and get the required information from it. This object can be cached or created on the fly.

Workbench parts that want to create the context object dynamically should adapt to the IContextProvider.class object as a key:

public Object getAdapter(Class key) {
	if (key.equals(IContextProvider.class)) {
		return new MyContextProvider();
	}
	return super.getAdapter(key);
}

The context provider interface requires implementation of three methods:

public class MyContextProvider implements IContextProvider {
	int getContextChangeMask() {
		return NONE;
	}
	IContext getContext(Object target) {
		return myContext;
	}
	String getSearchExpression(Object target) {
		return null;
	}
}

If context change mask returns NONE, context object will need to be provided when the workbench part is activated. If SELECTION is returned, you will need to provide context object that is sensitive to the current selection in the part. Each time part selection provider fires a selection change event, the context provider will be asked to provide context object.

Optionally, search expression for the dynamic help can be provided. Otherwise, a combination of the part name and perspective name will be used with good results in most cases.

Note: In addition to using context providers (or alternatively), you can use XML annotations to filter topics in context help.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire