X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/ui/text/folding/IJavaFoldingStructureProvider.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/ui/text/folding/IJavaFoldingStructureProvider.java new file mode 100644 index 0000000..9fa814a --- /dev/null +++ b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/ui/text/folding/IJavaFoldingStructureProvider.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package net.sourceforge.phpdt.ui.text.folding; + +import org.eclipse.jface.text.source.projection.ProjectionViewer; +import org.eclipse.ui.texteditor.ITextEditor; + +/** + * Contributors to the + * net.sourceforge.phpdt.ui.foldingStructureProvider extension + * point must specify an implementation of this interface which will create and + * maintain + * {@link org.eclipse.jface.text.source.projection.ProjectionAnnotation} objects + * as understood by + * {@link org.eclipse.jface.text.source.projection.ProjectionViewer}. + *

+ * Clients may implement this interface. + *

+ * + * @since 3.0 + */ +public interface IJavaFoldingStructureProvider { + + /** + * Installs this structure provider on the given editor and viewer. + * Implementations should observe the projection events generated by + * viewer and enable / disable generation of projection + * structure accordingly. + * + * @param editor + * the editor that this provider works on + * @param viewer + * the projection viewer that displays the annotations created by + * this structure provider + */ + public abstract void install(ITextEditor editor, ProjectionViewer viewer); + + /** + * Uninstalls this structure provider. Any references to editors or viewers + * should be cleared. + */ + public abstract void uninstall(); + + /** + * (Re-)initializes the structure provided by the receiver. + */ + public abstract void initialize(); +}