/******************************************************************************* * Copyright (c) 2000, 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.rubypeople.rdt.ui.text.folding; import org.rubypeople.rdt.core.IRubyElement; /** * Extends {@link IRubyFoldingStructureProvider} with the following * functions: * <ul> * <li>collapsing of comments and members</li> * <li>expanding and collapsing of certain ruby elements</li> * </ul> * * @since 0.9.0 */ public interface IRubyFoldingStructureProviderExtension { /** * Collapses all members except for top level types. */ void collapseMembers(); /** * Collapses all comments. */ void collapseComments(); /** * Collapses the given elements. * * @param elements the ruby elements to collapse (the array and its elements will not be * modified) */ void collapseElements(IRubyElement[] elements); /** * Expands the given elements. * * @param elements the ruby elements to expand (the array and its elements will not be modified) */ void expandElements(IRubyElement[] elements); }