Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 620d931d7f435833a3ccc399d8d1408e9fcf18e0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*******************************************************************************
 * Copyright (c) 2000, 2008 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
 *     Chris Gross chris.gross@us.ibm.com Bug 107443
 *******************************************************************************/
package org.eclipse.ui;

/**
 * An <code>IPlaceholderFolderLayout</code> is used to define the initial
 * view placeholders within a folder. 
 * The folder itself is contained within an <code>IPageLayout</code>.
 * <p>
 * This interface is not intended to be implemented by clients.
 * </p>
 *
 * @see IPageLayout#createPlaceholderFolder
 * @since 2.0
 * @noimplement This interface is not intended to be implemented by clients.
 */
public interface IPlaceholderFolderLayout {
	
    /**
     * Adds a view placeholder to this folder.
     * A view placeholder is used to define the position of a view before the view
     * appears.  Initially, it is invisible; however, if the user ever opens a view
     * whose compound id matches the placeholder, the view will appear at the same
     * location as the placeholder.  
     * See the {@link IPageLayout} type documentation for more details about compound ids.
     * If the placeholder contains wildcards, it remains in the layout, otherwise 
     * it is replaced by the view.
     * If the primary id of the placeholder has no wildcards, it must refer to a view 
     * contributed to the workbench's view extension point 
     * (named <code>"org.eclipse.ui.views"</code>).
     *
     * @param viewId the compound view id (wildcards allowed)
     */
    public void addPlaceholder(String viewId);
    
    /**
	 * Returns the property with the given id or <code>null</code>. Folder
	 * properties are an extensible mechanism for perspective authors to
	 * customize the appearance of view stacks. The list of customizable
	 * properties is determined by the presentation factory.
	 * 
	 * @param id
	 *            Must not be <code>null</code>.
	 * @return property value, or <code>null</code> if the property is not
	 *         set.
	 * @since 3.3
	 */
    public String getProperty(String id);
    
    /**
	 * Sets the given property to the given value. Folder properties are an
	 * extensible mechanism for perspective authors to customize the appearance
	 * of view stacks. The list of customizable properties is determined by the
	 * presentation factory.
	 * <p>
	 * These folder properties are intended to be set during
	 * <code>IPerspectiveFactory#createInitialLayout</code>. Any subsequent
	 * changes to property values after this method completes will not fire
	 * change notifications and will not be reflected in the presentation.
	 * </p>
	 * 
	 * @param id
	 *            property id. Must not be <code>null</code>.
	 * @param value
	 *            property value. <code>null</code> will clear the property.
	 * @since 3.3
	 */
    public void setProperty(String id, String value);
}

Back to the top