01: /*******************************************************************************
02: * Copyright (c) 2003, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui.navigator;
11:
12: import org.eclipse.jface.viewers.ILabelProvider;
13:
14: /**
15: *
16: * Allows extensions to vary their behavior based on properties in the extension
17: * model and the given memento.
18: *
19: * <p>
20: * Clients should refer to the <b>org.eclipse.ui.navigator.navigatorContent</b>
21: * extension point for more information on building a content extension.
22: * </p>
23: * <p>
24: * Clients should not dispose of any Image Resources that might be shared by
25: * other extensions when their Label Provider is disposed. When a content extension
26: * is deactivated, both its content and label providers are disposed, but the
27: * viewer remains visible to the user. If clients dispose of Image Resources used
28: * by other extensions, then it will cause problems for those extensions and the
29: * viewer in general.
30: * </p>
31: * <p>
32: * Clients need not implement this interface if there is no cause to do so.
33: * {@link org.eclipse.jface.viewers.ILabelProvider} is respected by the Common
34: * Navigator.
35: * </p>
36: *
37: *
38: * @since 3.2
39: */
40: public interface ICommonLabelProvider extends ILabelProvider,
41: IMementoAware, IDescriptionProvider {
42:
43: /**
44: * Initialize the label provider with the given configuration.
45: *
46: * @param aConfig
47: * The extension site provides information that some extensions
48: * will find useful to configure themselves properly in a
49: * particular viewer.
50: *
51: * @see ICommonContentProvider
52: */
53: void init(ICommonContentExtensionSite aConfig);
54:
55: }
|