1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 10:16:03 +02:00

Cleanup label provider hierarchy

This commit is contained in:
Anton Leherbauer 2007-02-22 14:32:53 +00:00
parent 7149e81403
commit adb747feb2
4 changed files with 25 additions and 36 deletions

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2002, 2006 QNX Software Systems and others. * Copyright (c) 2002, 2007 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -7,25 +7,28 @@
* *
* Contributors: * Contributors:
* QNX Software Systems - Initial API and implementation * QNX Software Systems - Initial API and implementation
* Anton Leherbauer (Wind River Systems)
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.internal.ui.cview; package org.eclipse.cdt.internal.ui.cview;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.IIncludeReference;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.internal.ui.viewsupport.CElementImageProvider;
import org.eclipse.cdt.internal.ui.viewsupport.StandardCElementLabelProvider;
import org.eclipse.cdt.ui.CElementImageDescriptor;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IContainer;
import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.IIncludeReference;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.ui.CElementImageDescriptor;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.internal.ui.viewsupport.AppearanceAwareLabelProvider;
import org.eclipse.cdt.internal.ui.viewsupport.CElementImageProvider;
/* /*
* CViewLabelProvider * CViewLabelProvider
*/ */
public class CViewLabelProvider extends StandardCElementLabelProvider { public class CViewLabelProvider extends AppearanceAwareLabelProvider {
public CViewLabelProvider(int textFlags, int imageFlags) { public CViewLabelProvider(int textFlags, int imageFlags) {
super(textFlags, imageFlags); super(textFlags, imageFlags);

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2005, 2006 QNX Software Systems and others. * Copyright (c) 2005, 2007 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -37,7 +37,6 @@ import org.eclipse.cdt.internal.ui.util.ProblemTreeViewer;
import org.eclipse.cdt.internal.ui.viewsupport.AppearanceAwareLabelProvider; import org.eclipse.cdt.internal.ui.viewsupport.AppearanceAwareLabelProvider;
import org.eclipse.cdt.internal.ui.viewsupport.CElementLabels; import org.eclipse.cdt.internal.ui.viewsupport.CElementLabels;
import org.eclipse.cdt.internal.ui.viewsupport.DecoratingCLabelProvider; import org.eclipse.cdt.internal.ui.viewsupport.DecoratingCLabelProvider;
import org.eclipse.cdt.internal.ui.viewsupport.StandardCElementLabelProvider;
/** /**
* Control which shows outline information in C/C++ editor. Based on * Control which shows outline information in C/C++ editor. Based on
@ -83,7 +82,7 @@ public class COutlineInformationControl extends AbstractInformationControl {
fSortingAction= new LexicalSortingAction(treeViewer); fSortingAction= new LexicalSortingAction(treeViewer);
treeViewer.addFilter(new NamePatternFilter()); treeViewer.addFilter(new NamePatternFilter());
treeViewer.setLabelProvider(new DecoratingCLabelProvider( treeViewer.setLabelProvider(new DecoratingCLabelProvider(
new StandardCElementLabelProvider(TEXT_FLAGS, IMAGE_FLAGS), true)); new AppearanceAwareLabelProvider(TEXT_FLAGS, IMAGE_FLAGS), true));
treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
return treeViewer; return treeViewer;
} }

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation and others. * Copyright (c) 2000, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -8,16 +8,16 @@
* Contributors: * Contributors:
* IBM Corporation - initial API and implementation * IBM Corporation - initial API and implementation
* Markus Schorn (Wind River Systems) * Markus Schorn (Wind River Systems)
* Anton Leherbauer (Wind River Systems)
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.internal.ui.viewsupport; package org.eclipse.cdt.internal.ui.viewsupport;
import org.eclipse.cdt.ui.PreferenceConstants;
import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent;
/** /**
* CUILabelProvider that respects settings from the Appearance preference page. * CUILabelProvider that respects settings from the Appearance preference page.
* Triggers a viewer update when a preference changes. * Triggers a viewer update when a preference changes (currently none).
*/ */
public class AppearanceAwareLabelProvider extends CUILabelProvider implements IPropertyChangeListener { public class AppearanceAwareLabelProvider extends CUILabelProvider implements IPropertyChangeListener {
@ -33,7 +33,7 @@ public class AppearanceAwareLabelProvider extends CUILabelProvider implements IP
public AppearanceAwareLabelProvider(int textFlags, int imageFlags) { public AppearanceAwareLabelProvider(int textFlags, int imageFlags) {
super(textFlags, imageFlags); super(textFlags, imageFlags);
initMasks(); initMasks();
PreferenceConstants.getPreferenceStore().addPropertyChangeListener(this); // PreferenceConstants.getPreferenceStore().addPropertyChangeListener(this);
} }
/** /**
@ -44,15 +44,7 @@ public class AppearanceAwareLabelProvider extends CUILabelProvider implements IP
} }
private void initMasks() { private void initMasks() {
// IPreferenceStore store= PreferenceConstants.getPreferenceStore();
fTextFlagMask= -1; fTextFlagMask= -1;
// if (!store.getBoolean(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE)) {
// fTextFlagMask ^= CElementLabels.M_APP_RETURNTYPE;
// }
// if (!store.getBoolean(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES)) {
// fTextFlagMask ^= CElementLabels.P_COMPRESSED;
// }
fImageFlagMask= -1; fImageFlagMask= -1;
} }
@ -60,33 +52,25 @@ public class AppearanceAwareLabelProvider extends CUILabelProvider implements IP
* @see IPropertyChangeListener#propertyChange(PropertyChangeEvent) * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
*/ */
public void propertyChange(PropertyChangeEvent event) { public void propertyChange(PropertyChangeEvent event) {
// String property= event.getProperty();
// if (property.equals(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE)
// || property.equals(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW)
// || property.equals(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES)) {
// initMasks();
// LabelProviderChangedEvent lpEvent= new LabelProviderChangedEvent(this, null); // refresh all
// fireLabelProviderChanged(lpEvent);
// }
} }
/* /*
* @see IBaseLabelProvider#dispose() * @see IBaseLabelProvider#dispose()
*/ */
public void dispose() { public void dispose() {
PreferenceConstants.getPreferenceStore().removePropertyChangeListener(this); // PreferenceConstants.getPreferenceStore().removePropertyChangeListener(this);
super.dispose(); super.dispose();
} }
/* /*
* @see JavaUILabelProvider#evaluateImageFlags() * @see CUILabelProvider#evaluateImageFlags()
*/ */
protected int evaluateImageFlags(Object element) { protected int evaluateImageFlags(Object element) {
return getImageFlags() & fImageFlagMask; return getImageFlags() & fImageFlagMask;
} }
/* /*
* @see JavaUILabelProvider#evaluateTextFlags() * @see CUILabelProvider#evaluateTextFlags()
*/ */
protected int evaluateTextFlags(Object element) { protected int evaluateTextFlags(Object element) {
return getTextFlags() & fTextFlagMask; return getTextFlags() & fTextFlagMask;

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2000, 2006 QNX Software Systems and others. * Copyright (c) 2000, 2007 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -7,6 +7,7 @@
* *
* Contributors: * Contributors:
* QNX Software Systems - Initial API and implementation * QNX Software Systems - Initial API and implementation
* Anton Leherbauer (Wind River Systems)
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.internal.ui.viewsupport; package org.eclipse.cdt.internal.ui.viewsupport;
@ -19,6 +20,8 @@ import org.eclipse.jface.util.PropertyChangeEvent;
/** /**
* CElementLabelProvider that respects settings from the Appearance preference page. * CElementLabelProvider that respects settings from the Appearance preference page.
* Triggers a viewer update when a preference changes. * Triggers a viewer update when a preference changes.
*
* @deprecated Use {@link AppearanceAwareLabelProvider} instead.
*/ */
public class StandardCElementLabelProvider extends AppearanceAwareLabelProvider implements IPropertyChangeListener { public class StandardCElementLabelProvider extends AppearanceAwareLabelProvider implements IPropertyChangeListener {