| /******************************************************************************* |
| * Copyright (c) 2003, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ui.help; |
| |
| import java.net.URL; |
| |
| import org.eclipse.help.IContext; |
| |
| /** |
| * Abstract base class for the help system UI. |
| * <p> |
| * The Eclipse platform provides an extension point (<code>"org.eclipse.ui.helpSupport"</code>) |
| * for plugging in a help system UI. The help system UI is an optional |
| * component; applications may provide a UI for presenting help to the user by |
| * implementing a subclass and including the name of their class in the |
| * <code><config></code> element in an extension to the |
| * <code>"org.eclipse.ui.helpSupport"</code> extension point. |
| * </p> |
| * <p> |
| * Note that the standard implementation of the help system UI is provided by |
| * the <code>"org.eclipse.help.ui"</code> plug-in. Since the platform can only |
| * make use of a single help system UI implementation, make sure that the |
| * platform is not configured with more than one plug-in trying to extend this |
| * extension point. |
| * </p> |
| * |
| * @since 3.0 |
| */ |
| public abstract class AbstractHelpUI { |
| |
| /** |
| * Displays the entire help bookshelf. |
| */ |
| public abstract void displayHelp(); |
| |
| /** |
| * Displays the help search facility. For backward compatibility, the |
| * default implementation does nothing. |
| * |
| * @since 3.1 |
| */ |
| public void displaySearch() { |
| // do nothing |
| } |
| |
| /** |
| * Displays the dynamic help for the active context. For backward |
| * compatibility, the default implementation does nothing. |
| * |
| * @since 3.1 |
| */ |
| public void displayDynamicHelp() { |
| // do nothing |
| } |
| |
| /** |
| * Starts the help search using the help search facility. For backward |
| * compatibility, the default implementation does nothing. |
| * |
| * @param expression |
| * the search expression |
| * @since 3.1 |
| */ |
| public void search(String expression) { |
| // do nothing |
| } |
| |
| /** |
| * Resolves the help resource href according to the help system |
| * implementation. |
| * |
| * @param href |
| * the help resource |
| * @param documentOnly |
| * if <code>true</code>, the resulting URL must point at the |
| * document referenced by href. Otherwise, it can be a URL that |
| * contains additional elements like navigation that the help |
| * system adds to the document. |
| * @return the fully resolved URL of the help resource or <code>null</code> |
| * if not supported. Help systems that use application servers |
| * typically return URLs with http: protocol. Simple help system |
| * implementations can return URLs with file: protocol. |
| * |
| * @since 3.1 |
| */ |
| public URL resolve(String href, boolean documentOnly) { |
| return null; |
| } |
| |
| /** |
| * Displays context-sensitive help for the given context. |
| * <p> |
| * (x,y) coordinates specify the location where the context sensitive help |
| * UI will be presented. These coordinates are screen-relative (ie: (0,0) is |
| * the top left-most screen corner). The platform is responsible for calling |
| * this method and supplying the appropriate location. |
| * </p> |
| * |
| * @param context |
| * the context to display |
| * @param x |
| * horizontal position |
| * @param y |
| * verifical position |
| */ |
| public abstract void displayContext(IContext context, int x, int y); |
| |
| /** |
| * Displays help content for the help resource with the given URL. |
| * <p> |
| * This method is called by the platform to launch the help system UI, |
| * displaying the documentation identified by the <code>href</code> |
| * parameter. |
| * </p> |
| * <p> |
| * The help system makes no guarantee that all the help resources can be |
| * displayed or how they are displayed. |
| * </p> |
| * |
| * @param href |
| * the URL of the help resource. |
| * <p> |
| * Valid href are as described in |
| * {@link org.eclipse.help.IHelpResource#getHref() IHelpResource.getHref()} |
| * </p> |
| */ |
| public abstract void displayHelpResource(String href); |
| |
| /** |
| * Returns whether the context-sensitive help window is currently being |
| * displayed. |
| * |
| * @return <code>true</code> if the context-sensitive help window is |
| * currently being displayed, <code>false</code> if not |
| */ |
| public abstract boolean isContextHelpDisplayed(); |
| } |