+++ /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.internal.ui.viewsupport;
-
-import net.sourceforge.phpdt.ui.OverrideIndicatorLabelDecorator;
-import net.sourceforge.phpdt.ui.ProblemsLabelDecorator;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * Decorator prepared for the switch to use lightweight label decorators:
- * uncomment the lbale decorator entries in plugin.xml and change
- * USE_LIGHTWEIGHT to true.
- * Certain views don't want problems or override indicators, so they signal this
- * in the constructor. So on each getImage the corrsponding decorators are
- * turned off and on again.
- */
-public class DecoratingJavaLabelProvider extends DecoratingLabelProvider {
-
- private static final boolean USE_LIGHTWEIGHT= false;
-
- private static final String PROBLEM_DECORATOR_ID= "net.sourceforge.phpdt.ui.problem.decorator"; //$NON-NLS-1$
- private static final String OVERRIDE_DECORATOR_ID= "net.sourceforge.phpdt.ui.override.decorator"; //$NON-NLS-1$
-
- private boolean fUseErrorTick;
- private boolean fUseOverride;
-
- /**
- * Decorating label provider for Java. Combines a JavaUILabelProvider
- * with problem and override indicuator with the workbench decorator (label
- * decorator extension point).
- */
- public DecoratingJavaLabelProvider(JavaUILabelProvider labelProvider) {
- this(labelProvider, true, true);
- }
-
- /**
- * Decorating label provider for Java. Combines a JavaUILabelProvider
- * (if enabled with problem and override indicator) with the workbench
- * decorator (label decorator extension point).
- */
- public DecoratingJavaLabelProvider(JavaUILabelProvider labelProvider, boolean errorTick, boolean override) {
- super(labelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator());
- fUseErrorTick= errorTick;
- fUseOverride= override;
- if (!USE_LIGHTWEIGHT) {
- if (errorTick) {
- labelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
- }
- if (override) {
- labelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object element) {
- if (USE_LIGHTWEIGHT) {
- IDecoratorManager manager= PlatformUI.getWorkbench().getDecoratorManager();
-
- boolean disableErrorTick= manager.getEnabled(PROBLEM_DECORATOR_ID) && !fUseErrorTick;
- boolean disableOverride= manager.getEnabled(OVERRIDE_DECORATOR_ID) && !fUseOverride;
- try {
- if (disableErrorTick) {
- manager.setEnabled(PROBLEM_DECORATOR_ID, false);
- }
- if (disableOverride) {
- manager.setEnabled(OVERRIDE_DECORATOR_ID, false);
- }
- Image image= super.getImage(element);
- if (disableErrorTick) {
- manager.setEnabled(PROBLEM_DECORATOR_ID, true);
- }
- if (disableOverride) {
- manager.setEnabled(OVERRIDE_DECORATOR_ID, true);
- }
- return image;
- } catch (CoreException e) {
- PHPeclipsePlugin.log(e);
- }
- }
- return super.getImage(element);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object element) {
- if (USE_LIGHTWEIGHT) {
- IDecoratorManager manager= PlatformUI.getWorkbench().getDecoratorManager();
-
- boolean disableErrorTick= manager.getEnabled(PROBLEM_DECORATOR_ID) && !fUseErrorTick;
- boolean disableOverride= manager.getEnabled(OVERRIDE_DECORATOR_ID) && !fUseOverride;
- try {
- if (disableErrorTick) {
- manager.setEnabled(PROBLEM_DECORATOR_ID, false);
- }
- if (disableOverride) {
- manager.setEnabled(OVERRIDE_DECORATOR_ID, false);
- }
- String text= super.getText(element);
- if (disableErrorTick) {
- manager.setEnabled(PROBLEM_DECORATOR_ID, true);
- }
- if (disableOverride) {
- manager.setEnabled(OVERRIDE_DECORATOR_ID, true);
- }
- return text;
- } catch (CoreException e) {
- PHPeclipsePlugin.log(e);
- }
- }
- return super.getText(element);
- }
-
-}