1 /******************************************************************************* 2 * Copyright (c) 2000, 2007 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 * Chris Gross chris.gross@us.ibm.com Bug 107443 11 *******************************************************************************/ 12 package org.eclipse.ui; 13 14 /** 15 * An <code>IPlaceholderFolderLayout</code> is used to define the initial 16 * view placeholders within a folder. 17 * The folder itself is contained within an <code>IPageLayout</code>. 18 * <p> 19 * This interface is not intended to be implemented by clients. 20 * </p> 21 * 22 * @see IPageLayout#createPlaceholderFolder 23 * @since 2.0 24 */ 25 public interface IPlaceholderFolderLayout { 26 27 /** 28 * Adds a view placeholder to this folder. 29 * A view placeholder is used to define the position of a view before the view 30 * appears. Initially, it is invisible; however, if the user ever opens a view 31 * whose compound id matches the placeholder, the view will appear at the same 32 * location as the placeholder. 33 * See the {@link IPageLayout} type documentation for more details about compound ids. 34 * If the placeholder contains wildcards, it remains in the layout, otherwise 35 * it is replaced by the view. 36 * If the primary id of the placeholder has no wildcards, it must refer to a view 37 * contributed to the workbench's view extension point 38 * (named <code>"org.eclipse.ui.views"</code>). 39 * 40 * @param viewId the compound view id (wildcards allowed) 41 */ 42 public void addPlaceholder(String viewId); 43 44 /** 45 * Returns the property with the given id or <code>null</code>. Folder 46 * properties are an extensible mechanism for perspective authors to 47 * customize the appearance of view stacks. The list of customizable 48 * properties is determined by the presentation factory. 49 * 50 * @param id 51 * Must not be <code>null</code>. 52 * @return property value, or <code>null</code> if the property is not 53 * set. 54 * @since 3.3 55 */ 56 public String getProperty(String id); 57 58 /** 59 * Sets the given property to the given value. Folder properties are an 60 * extensible mechanism for perspective authors to customize the appearance 61 * of view stacks. The list of customizable properties is determined by the 62 * presentation factory. 63 * <p> 64 * These folder properties are intended to be set during 65 * <code>IPerspectiveFactory#createInitialLayout</code>. Any subsequent 66 * changes to property values after this method completes will not fire 67 * change notifications and will not be reflected in the presentation. 68 * </p> 69 * 70 * @param id 71 * property id. Must not be <code>null</code>. 72 * @param value 73 * property value. <code>null</code> will clear the property. 74 * @since 3.3 75 */ 76 public void setProperty(String id, String value); 77 } 78