X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/viewsupport/ProblemTableViewer.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/viewsupport/ProblemTableViewer.java deleted file mode 100644 index 6bc9ca3..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/viewsupport/ProblemTableViewer.java +++ /dev/null @@ -1,141 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 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 java.util.ArrayList; - -import net.sourceforge.phpdt.ui.IWorkingCopyProvider; -import net.sourceforge.phpdt.ui.ProblemsLabelDecorator.ProblemsLabelChangedEvent; - -import org.eclipse.core.resources.IResource; -import org.eclipse.jface.viewers.IBaseLabelProvider; -import org.eclipse.jface.viewers.LabelProviderChangedEvent; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Item; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.Widget; - -/** - * Extends a TableViewer to allow more performance when showing error ticks. A - * ProblemItemMapper is contained that maps all items in the tree - * to underlying resource - */ -public class ProblemTableViewer extends TableViewer { - - protected ResourceToItemsMapper fResourceToItemsMapper; - - /** - * Constructor for ProblemTableViewer. - * - * @param parent - */ - public ProblemTableViewer(Composite parent) { - super(parent); - initMapper(); - } - - /** - * Constructor for ProblemTableViewer. - * - * @param parent - * @param style - */ - public ProblemTableViewer(Composite parent, int style) { - super(parent, style); - initMapper(); - } - - /** - * Constructor for ProblemTableViewer. - * - * @param table - */ - public ProblemTableViewer(Table table) { - super(table); - initMapper(); - } - - private void initMapper() { - fResourceToItemsMapper = new ResourceToItemsMapper(this); - } - - /* - * @see StructuredViewer#mapElement(Object, Widget) - */ - protected void mapElement(Object element, Widget item) { - super.mapElement(element, item); - if (item instanceof Item) { - fResourceToItemsMapper.addToMap(element, (Item) item); - } - } - - /* - * @see StructuredViewer#unmapElement(Object, Widget) - */ - protected void unmapElement(Object element, Widget item) { - if (item instanceof Item) { - fResourceToItemsMapper.removeFromMap(element, (Item) item); - } - super.unmapElement(element, item); - } - - /* - * @see StructuredViewer#unmapAllElements() - */ - protected void unmapAllElements() { - fResourceToItemsMapper.clearMap(); - super.unmapAllElements(); - } - - /* - * @see ContentViewer#handleLabelProviderChanged(LabelProviderChangedEvent) - */ - protected void handleLabelProviderChanged(LabelProviderChangedEvent event) { - if (event instanceof ProblemsLabelChangedEvent) { - ProblemsLabelChangedEvent e = (ProblemsLabelChangedEvent) event; - if (!e.isMarkerChange() && canIgnoreChangesFromAnnotionModel()) { - return; - } - } - - Object[] changed = event.getElements(); - if (changed != null && !fResourceToItemsMapper.isEmpty()) { - ArrayList others = new ArrayList(changed.length); - for (int i = 0; i < changed.length; i++) { - Object curr = changed[i]; - if (curr instanceof IResource) { - fResourceToItemsMapper.resourceChanged((IResource) curr); - } else { - others.add(curr); - } - } - if (others.isEmpty()) { - return; - } - event = new LabelProviderChangedEvent((IBaseLabelProvider) event - .getSource(), others.toArray()); - } - super.handleLabelProviderChanged(event); - } - - /** - * Answers whether this viewer can ignore label provider changes resulting - * from marker changes in annotation models - */ - private boolean canIgnoreChangesFromAnnotionModel() { - Object contentProvider = getContentProvider(); - return contentProvider instanceof IWorkingCopyProvider - && !((IWorkingCopyProvider) contentProvider) - .providesWorkingCopies(); - } -}