+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package net.sourceforge.phpdt.ui;
-
-import net.sourceforge.phpdt.internal.ui.viewsupport.JavaElementImageProvider;
-import net.sourceforge.phpdt.internal.ui.viewsupport.JavaElementLabels;
-import net.sourceforge.phpdt.internal.ui.viewsupport.StorageLabelProvider;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Standard label provider for Java elements. Use this class when you want to
- * present the Java elements in a viewer.
- * <p>
- * The implementation also handles non-Java elements by forwarding the requests
- * to the <code>IWorkbenchAdapter</code> of the element.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class JavaElementLabelProvider extends LabelProvider {
-
- /**
- * Flag (bit mask) indicating that methods labels include the method return
- * type. (appended)
- */
- public final static int SHOW_RETURN_TYPE = 0x001;
-
- /**
- * Flag (bit mask) indicating that method label include method parameter
- * types.
- */
- public final static int SHOW_PARAMETERS = 0x002;
-
- /**
- * Flag (bit mask) indicating that the label of a member should include the
- * container. For example, include the name of the type enclosing a field.
- *
- * @deprecated Use SHOW_QUALIFIED or SHOW_ROOT instead
- */
- public final static int SHOW_CONTAINER = 0x004;
-
- /**
- * Flag (bit mask) indicating that the label of a type should be fully
- * qualified. For example, include the fully qualified name of the type
- * enclosing a type.
- *
- * @deprecated Use SHOW_QUALIFIED instead
- */
- public final static int SHOW_CONTAINER_QUALIFICATION = 0x008;
-
- /**
- * Flag (bit mask) indicating that the label should include overlay icons
- * for element type and modifiers.
- */
- public final static int SHOW_OVERLAY_ICONS = 0x010;
-
- /**
- * Flag (bit mask) indicating thata field label should include the declared
- * type.
- */
- public final static int SHOW_TYPE = 0x020;
-
- /**
- * Flag (bit mask) indicating that the label should include the name of the
- * package fragment root (appended).
- */
- public final static int SHOW_ROOT = 0x040;
-
- /**
- * Flag (bit mask) indicating that the label qualification of a type should
- * be shown after the name.
- *
- * @deprecated SHOW_POST_QUALIFIED instead
- */
- public final static int SHOW_POSTIFIX_QUALIFICATION = 0x080;
-
- /**
- * Flag (bit mask) indicating that the label should show the icons with no
- * space reserved for overlays.
- */
- public final static int SHOW_SMALL_ICONS = 0x100;
-
- /**
- * Flag (bit mask) indicating that the packagefragment roots from variables
- * should be rendered with the variable in the name
- */
- public final static int SHOW_VARIABLE = 0x200;
-
- /**
- * Flag (bit mask) indicating that Complation Units, Class Files, Types,
- * Declarations and Members should be rendered qualified. Examples:
- * java.lang.String, java.util.Vector.size()
- *
- * @since 2.0
- */
- public final static int SHOW_QUALIFIED = 0x400;
-
- /**
- * Flag (bit mask) indicating that Complation Units, Class Files, Types,
- * Declarations and Members should be rendered qualified. The qualifcation
- * is appended Examples: String - java.lang, size() - java.util.Vector
- *
- * @since 2.0
- */
- public final static int SHOW_POST_QUALIFIED = 0x800;
-
- /**
- * Constant (value <code>0</code>) indicating that the label should show
- * the basic images only.
- */
- public final static int SHOW_BASICS = 0x000;
-
- /**
- * Constant indicating the default label rendering. Currently the default is
- * equivalent to <code>SHOW_PARAMETERS | SHOW_OVERLAY_ICONS</code>.
- */
- public final static int SHOW_DEFAULT = new Integer(SHOW_PARAMETERS
- | SHOW_OVERLAY_ICONS).intValue();
-
- private JavaElementImageProvider fImageLabelProvider;
-
- private StorageLabelProvider fStorageLabelProvider;
-
- private int fFlags;
-
- private int fImageFlags;
-
- private int fTextFlags;
-
- /**
- * Creates a new label provider with <code>SHOW_DEFAULT</code> flag.
- *
- * @see #SHOW_DEFAULT
- * @since 2.0
- */
-// public JavaElementLabelProvider() {
-// this(SHOW_DEFAULT);
-// }
-
- /**
- * Creates a new label provider.
- *
- * @param flags
- * the initial options; a bitwise OR of <code>SHOW_* </code>
- * constants
- */
- public JavaElementLabelProvider(int flags) {
- fImageLabelProvider = new JavaElementImageProvider();
- fStorageLabelProvider = new StorageLabelProvider();
- fFlags = flags;
- updateImageProviderFlags();
- updateTextProviderFlags();
- }
-
- private boolean getFlag(int flag) {
- return (fFlags & flag) != 0;
- }
-
- /**
- * Turns on the rendering options specified in the given flags.
- *
- * @param flags
- * the options; a bitwise OR of <code>SHOW_* </code> constants
- */
-// public void turnOn(int flags) {
-// fFlags |= flags;
-// updateImageProviderFlags();
-// updateTextProviderFlags();
-// }
-
- /**
- * Turns off the rendering options specified in the given flags.
- *
- * @param flags
- * the initial options; a bitwise OR of <code>SHOW_* </code>
- * constants
- */
-// public void turnOff(int flags) {
-// fFlags &= (~flags);
-// updateImageProviderFlags();
-// updateTextProviderFlags();
-// }
-
- private void updateImageProviderFlags() {
- fImageFlags = 0;
- if (getFlag(SHOW_OVERLAY_ICONS)) {
- fImageFlags |= JavaElementImageProvider.OVERLAY_ICONS;
- }
- if (getFlag(SHOW_SMALL_ICONS)) {
- fImageFlags |= JavaElementImageProvider.SMALL_ICONS;
- }
- }
-
- private void updateTextProviderFlags() {
- fTextFlags = 0;
- if (getFlag(SHOW_RETURN_TYPE)) {
- fTextFlags |= JavaElementLabels.M_APP_RETURNTYPE;
- }
- if (getFlag(SHOW_PARAMETERS)) {
- fTextFlags |= JavaElementLabels.M_PARAMETER_TYPES;
- }
- if (getFlag(SHOW_CONTAINER)) {
- fTextFlags |= JavaElementLabels.P_POST_QUALIFIED
- | JavaElementLabels.T_POST_QUALIFIED
- | JavaElementLabels.CF_POST_QUALIFIED
- | JavaElementLabels.CU_POST_QUALIFIED
- | JavaElementLabels.M_POST_QUALIFIED
- | JavaElementLabels.F_POST_QUALIFIED;
- }
- if (getFlag(SHOW_POSTIFIX_QUALIFICATION)) {
- fTextFlags |= (JavaElementLabels.T_POST_QUALIFIED
- | JavaElementLabels.CF_POST_QUALIFIED | JavaElementLabels.CU_POST_QUALIFIED);
- } else if (getFlag(SHOW_CONTAINER_QUALIFICATION)) {
- fTextFlags |= (JavaElementLabels.T_FULLY_QUALIFIED
- | JavaElementLabels.CF_QUALIFIED | JavaElementLabels.CU_QUALIFIED);
- }
- if (getFlag(SHOW_TYPE)) {
- fTextFlags |= JavaElementLabels.F_APP_TYPE_SIGNATURE;
- }
- if (getFlag(SHOW_ROOT)) {
- fTextFlags |= JavaElementLabels.APPEND_ROOT_PATH;
- }
- if (getFlag(SHOW_VARIABLE)) {
- fTextFlags |= JavaElementLabels.ROOT_VARIABLE;
- }
- if (getFlag(SHOW_QUALIFIED)) {
- fTextFlags |= (JavaElementLabels.F_FULLY_QUALIFIED
- | JavaElementLabels.M_FULLY_QUALIFIED
- | JavaElementLabels.I_FULLY_QUALIFIED
- | JavaElementLabels.T_FULLY_QUALIFIED
- | JavaElementLabels.D_QUALIFIED
- | JavaElementLabels.CF_QUALIFIED | JavaElementLabels.CU_QUALIFIED);
- }
- if (getFlag(SHOW_POST_QUALIFIED)) {
- fTextFlags |= (JavaElementLabels.F_POST_QUALIFIED
- | JavaElementLabels.M_POST_QUALIFIED
- | JavaElementLabels.I_POST_QUALIFIED
- | JavaElementLabels.T_POST_QUALIFIED
- | JavaElementLabels.D_POST_QUALIFIED
- | JavaElementLabels.CF_POST_QUALIFIED | JavaElementLabels.CU_POST_QUALIFIED);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ILabelProvider#getImage
- */
- public Image getImage(Object element) {
- Image result = fImageLabelProvider.getImageLabel(element, fImageFlags);
- if (result != null) {
- return result;
- }
-
- if (element instanceof IStorage)
- return fStorageLabelProvider.getImage(element);
-
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ILabelProvider#getText
- */
- public String getText(Object element) {
- String text = JavaElementLabels.getTextLabel(element, fTextFlags);
- if (text.length() > 0) {
- return text;
- }
-
- if (element instanceof IStorage)
- return fStorageLabelProvider.getText(element);
-
- return text;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see IBaseLabelProvider#dispose
- */
- public void dispose() {
- fStorageLabelProvider.dispose();
- fImageLabelProvider.dispose();
- }
-}