| /******************************************************************************* |
| * Copyright (c) 2008 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.jface.text; |
| |
| |
| /** |
| * Extension interface for {@link org.eclipse.jface.text.ITextHover}. |
| * <p> |
| * Provides a way for hovers to return hover-specific information objects. |
| * </p> |
| * |
| * @see org.eclipse.jface.text.ITextHover |
| * @since 3.4 |
| */ |
| public interface ITextHoverExtension2 { |
| |
| /** |
| * Returns the information which should be presented when a hover popup is shown |
| * for the specified hover region. The hover region has the same semantics |
| * as the region returned by {@link ITextHover#getHoverRegion(ITextViewer, int)}. |
| * If the returned information is <code>null</code>, no hover popup will be shown. |
| * <p> |
| * <strong>Note:</strong> Implementers have to ensure that {@link ITextHoverExtension#getHoverControlCreator()} |
| * returns {@link IInformationControl}s that implement |
| * {@link IInformationControlExtension2} and whose |
| * {@link IInformationControlExtension2#setInput(Object)} can handle the |
| * information objects returned by this method.</p> |
| * <p> |
| * Callers should ignore the text returned by {@link ITextHover#getHoverInfo(ITextViewer, IRegion)}.</p> |
| * |
| * @param textViewer the viewer on which the hover popup should be shown |
| * @param hoverRegion the text range in the viewer which is used to determine |
| * the hover display information |
| * @return the hover popup display information, or <code>null</code> if none available |
| */ |
| Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion); |
| |
| } |