Class HandlyOutlinePopup
- java.lang.Object
-
- org.eclipse.jface.window.Window
-
- org.eclipse.jface.dialogs.PopupDialog
-
- org.eclipse.handly.ui.quickoutline.OutlinePopup
-
- org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup
-
- org.eclipse.handly.ui.quickoutline.HandlyOutlinePopup
-
- All Implemented Interfaces:
IContentAdapterProvider,org.eclipse.jface.window.IShellProvider
- Direct Known Subclasses:
HandlyXtextOutlinePopup
public abstract class HandlyOutlinePopup extends FilteringOutlinePopup implements IContentAdapterProvider
A partial implementation of Handly-based outline popup. This class is intended to be used with a text-based host such as a text editor.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup
FilteringOutlinePopup.ElementMatcher, FilteringOutlinePopup.FilteringOutlineTreeViewer, FilteringOutlinePopup.StringMatcher
-
Nested classes/interfaces inherited from class org.eclipse.handly.ui.quickoutline.OutlinePopup
OutlinePopup.OutlineTreeViewer
-
-
Constructor Summary
Constructors Constructor Description HandlyOutlinePopup()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.ObjectcomputeInput()Computes the input element for the outline popup's tree viewer.IContentAdaptergetContentAdapter()Returns the content adapter that defines a mapping between elements of a Handly-based model and the outline's content.protected java.lang.ObjectgetCorrespondingElement(org.eclipse.jface.viewers.ISelection hostSelection)Returns the outline element corresponding to the given host selection.protected abstract IInputElementProvidergetInputElementProvider()Returns the input element provider for this outline popup.protected booleanisInHost(IElement element)Returns whether the given element is contained in the host of this outline popup.protected booleanrevealInHost(java.lang.Object outlineElement)Attempts to reveal the given outline element in the outline popup's host.-
Methods inherited from class org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup
createFilterText, createPatternMatcher, createTitleControl, createTitleMenuArea, createTreeViewer, getFilterText, getFocalElement, getFocusControl, getPatternMatcher, init, patternMatcherUpdated, selectFirstMatch, setTabOrder, updatePatternMatcher
-
Methods inherited from class org.eclipse.handly.ui.quickoutline.OutlinePopup
changeOutlineMode, computeInitialSelection, createDialogArea, getContentProvider, getDefaultLocation, getDialogSettings, getHost, getInitialSelection, getInvokingKeyListener, getInvokingKeyStroke, getLabelProvider, getSelectedElement, getTreeViewer, gotoSelectedElement, initDecorationContext, isAutoExpandable, shouldUseHashlookup, updateInfoText
-
Methods inherited from class org.eclipse.jface.dialogs.PopupDialog
adjustBounds, applyBackgroundColor, applyForegroundColor, close, configureShell, createContents, createInfoTextArea, fillDialogMenu, getBackground, getBackgroundColorExclusions, getDefaultSize, getForeground, getForegroundColorExclusions, getInitialLocation, getInitialSize, getPersistBounds, getPersistLocation, getPersistSize, hasInfoArea, hasTitleArea, open, saveDialogBounds, setInfoText, setTitleText, showDialogMenu
-
Methods inherited from class org.eclipse.jface.window.Window
canHandleShellCloseEvent, constrainShellSize, create, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, handleShellCloseEvent, initializeBounds, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
-
-
-
-
Method Detail
-
getContentAdapter
public IContentAdapter getContentAdapter()
Returns the content adapter that defines a mapping between elements of a Handly-based model and the outline's content.Default implementation returns a
NullContentAdapter. Subclasses may override.- Specified by:
getContentAdapterin interfaceIContentAdapterProvider- Returns:
- an
IContentAdapter(nevernull)
-
computeInput
protected java.lang.Object computeInput()
Computes the input element for the outline popup's tree viewer. This method is called once, when the popup's control is created.This implementation uses the
input element providerto obtain anIElementcorresponding to the editor input for the outline popup's host and returns an outline element corresponding to theIElement, as determined by thecontent adapter.- Specified by:
computeInputin classOutlinePopup- Returns:
- the input element (may be
null)
-
getCorrespondingElement
protected java.lang.Object getCorrespondingElement(org.eclipse.jface.viewers.ISelection hostSelection)
Returns the outline element corresponding to the given host selection.If the given selection is a text selection, this implementation finds the smallest
ISourceElementthat includes the offset of the text selection and returns an outline element corresponding to the found source element, as determined by thecontent adapter.- Specified by:
getCorrespondingElementin classOutlinePopup- Parameters:
hostSelection- the host selection (nevernull, never empty)- Returns:
- the outline element corresponding to the host selection,
or
nullif there is no such element
-
revealInHost
protected boolean revealInHost(java.lang.Object outlineElement)
Attempts to reveal the given outline element in the outline popup's host.This implementation attempts to adapt the given outline element to an
IElementthrough thecontent adapter. If the adapter element is anISourceElementand is contained in the host as computed byisInHost(IElement), the identifying range of the source element is selected in the outline popup's host.- Specified by:
revealInHostin classOutlinePopup- Parameters:
outlineElement- the outline element (nevernull)- Returns:
trueif the element was successfully revealed;falseotherwise
-
isInHost
protected boolean isInHost(IElement element)
Returns whether the given element is contained in the host of this outline popup.This implementation uses the
input element providerto obtain anIElementcorresponding to the editor input for the host. It then checks whether theIElementcontainsthe given element and returns the result.- Parameters:
element- may benull- Returns:
trueif the element is contained in the host;falseotherwise
-
getInputElementProvider
protected abstract IInputElementProvider getInputElementProvider()
Returns the input element provider for this outline popup.- Returns:
- the input element provider for this outline popup
-
-