/******************************************************************************* * Copyright (c) 2000, 2007 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 * *******************************************************************************/ package org.eclipse.dltk.ui.dialogs; import org.eclipse.dltk.core.ISearchPatternProcessor; import org.eclipse.dltk.core.IType; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.dialogs.ISelectionStatusValidator; /** * The class provides API to extend type selection dialogs like the * open type dialog. * <p> * The class should be subclassed by clients wishing to extend the type * selection dialog. * </p> */ public abstract class TypeSelectionExtension { private ITypeSelectionComponent fComponent; /** * Initializes the type dialog extension with the given type dialog * * @param component the type dialog hosting this extension */ public final void initialize(ITypeSelectionComponent component) { fComponent= component; } /** * Returns the type selection dialog or <code>null</code> if * the extension has not been initialized yet. * * @return the type selection dialog or <code>null</code> */ public final ITypeSelectionComponent getTypeSelectionComponent() { return fComponent; } /** * Creates the content area which the extensions contributes to the * type selection dialog. The area will be presented between the * table showing the list of types and the optional status line. * * @param parent the parent of the additional content area * @return the additional content area or <code>null</code> if no * additional content area is required */ public Control createContentArea(Composite parent) { return null; } /** * Returns the filter extension or <code>null</code> if * no additional filtering is required. * * @return the additional filter extension */ public ITypeInfoFilterExtension getFilterExtension() { return null; } /** * Returns the selection validator or <code>null</code> if * selection validation is not required. The elements passed * to the selection validator are of type {@link IType}. * * @return the selection validator or <code>null</code> */ public ISelectionStatusValidator getSelectionValidator() { return null; } /** * Returns an image provider or <code>null</code> if the standard * images should be used. * * @return the image provider */ public ITypeInfoImageProvider getImageProvider() { return null; } /** * Returns search pattern processor to be used by the dialog or * <code>null</code> if default implementation contributed for the language * should be used. */ public ISearchPatternProcessor getSearchPatternProcessor() { return null; } }