/******************************************************************************* * Copyright (c) 2007, 2015 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 * Obeo - Contribution to the EEF project ******************************************************************************/ package org.eclipse.eef.properties.ui.api; import java.util.List; /** * Represents a tab descriptor for the tabbed property view. * <p> * This interface should not be extended or implemented. New instances should be created using * <code>AbstractEEFTabDescriptor</code>. * </p> * * @author Anthony Hunter * @author Stephane Begaudeau * @since 1.6.0 */ public interface IEEFTabDescriptor extends IEEFTabItem { /** * If afterTab is not specified in the descriptor, we default to be the top tab. */ String TOP = "top"; //$NON-NLS-1$ /** * Instantiate this tab's sections. * * @return The tab contents for this section. */ EEFTabContents createTab(); /** * Get the identifier of the tab after which this tab should be displayed. When two or more tabs belong to the same * category, they are sorted by the after tab values. * * @return the identifier of the tab. */ String getAfterTab(); /** * Get the category this tab belongs to. * * @return Get the category this tab belongs to. */ String getCategory(); /** * Get the unique identifier for the tab. * * @return the unique identifier for the tab. */ String getId(); /** * Get the text label for the tab. * * @return the text label for the tab. */ String getLabel(); /** * Get the list of section descriptors for the tab. * * @return the list of section descriptors for the tab. */ List<IEEFSectionDescriptor> getSectionDescriptors(); }