Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 413346 | Differences between
and this patch

Collapse All | Expand All

(-)a/core/plugins/org.eclipse.dltk.ui/META-INF/MANIFEST.MF (-1 / +1 lines)
Lines 2-8 Link Here
2
Bundle-ManifestVersion: 2
2
Bundle-ManifestVersion: 2
3
Bundle-Name: %pluginName
3
Bundle-Name: %pluginName
4
Bundle-SymbolicName: org.eclipse.dltk.ui;singleton:=true
4
Bundle-SymbolicName: org.eclipse.dltk.ui;singleton:=true
5
Bundle-Version: 5.0.0.qualifier
5
Bundle-Version: 5.1.0.qualifier
6
Bundle-Activator: org.eclipse.dltk.ui.DLTKUIPlugin
6
Bundle-Activator: org.eclipse.dltk.ui.DLTKUIPlugin
7
Bundle-Vendor: %pluginProvider
7
Bundle-Vendor: %pluginProvider
8
Bundle-Localization: plugin
8
Bundle-Localization: plugin
(-)a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/editor/ScriptOutlinePage.java (-2 / +2 lines)
Lines 49-57 Link Here
49
import org.eclipse.dltk.ui.actions.OpenViewActionGroup;
49
import org.eclipse.dltk.ui.actions.OpenViewActionGroup;
50
import org.eclipse.dltk.ui.actions.SearchActionGroup;
50
import org.eclipse.dltk.ui.actions.SearchActionGroup;
51
import org.eclipse.dltk.ui.viewsupport.AppearanceAwareLabelProvider;
51
import org.eclipse.dltk.ui.viewsupport.AppearanceAwareLabelProvider;
52
import org.eclipse.dltk.ui.viewsupport.DecoratingModelLabelProvider;
53
import org.eclipse.dltk.ui.viewsupport.SourcePositionSorter;
52
import org.eclipse.dltk.ui.viewsupport.SourcePositionSorter;
54
import org.eclipse.dltk.ui.viewsupport.StatusBarUpdater;
53
import org.eclipse.dltk.ui.viewsupport.StatusBarUpdater;
54
import org.eclipse.dltk.ui.viewsupport.StyledDecoratingModelLabelProvider;
55
import org.eclipse.jface.action.Action;
55
import org.eclipse.jface.action.Action;
56
import org.eclipse.jface.action.GroupMarker;
56
import org.eclipse.jface.action.GroupMarker;
57
import org.eclipse.jface.action.IAction;
57
import org.eclipse.jface.action.IAction;
Lines 673-679 Link Here
673
		fOutlineViewer = new ScriptOutlineViewer(tree);
673
		fOutlineViewer = new ScriptOutlineViewer(tree);
674
		initDragAndDrop();
674
		initDragAndDrop();
675
		fOutlineViewer.setContentProvider(new ChildrenProvider());
675
		fOutlineViewer.setContentProvider(new ChildrenProvider());
676
		fOutlineViewer.setLabelProvider(new DecoratingModelLabelProvider(
676
		fOutlineViewer.setLabelProvider(new StyledDecoratingModelLabelProvider(
677
				lprovider));
677
				lprovider));
678
678
679
		Object[] listeners = fSelectionChangedListeners.getListeners();
679
		Object[] listeners = fSelectionChangedListeners.getListeners();
(-)a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/viewsupport/DecoratingModelLabelProvider.java (+3 lines)
Lines 16-21 Link Here
16
import org.eclipse.swt.graphics.Color;
16
import org.eclipse.swt.graphics.Color;
17
import org.eclipse.ui.PlatformUI;
17
import org.eclipse.ui.PlatformUI;
18
18
19
/**
20
 * @deprecated use StyledDecoratingModelLabelProvider instead
21
 */
19
public class DecoratingModelLabelProvider extends DecoratingLabelProvider
22
public class DecoratingModelLabelProvider extends DecoratingLabelProvider
20
		implements IColorProvider {
23
		implements IColorProvider {
21
24
(-)a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/viewsupport/ScriptUILabelProvider.java (-1 / +36 lines)
Lines 24-40 Link Here
24
import org.eclipse.dltk.ui.ScriptElementLabels;
24
import org.eclipse.dltk.ui.ScriptElementLabels;
25
import org.eclipse.jface.resource.CompositeImageDescriptor;
25
import org.eclipse.jface.resource.CompositeImageDescriptor;
26
import org.eclipse.jface.util.SafeRunnable;
26
import org.eclipse.jface.util.SafeRunnable;
27
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
27
import org.eclipse.jface.viewers.IColorProvider;
28
import org.eclipse.jface.viewers.IColorProvider;
28
import org.eclipse.jface.viewers.ILabelDecorator;
29
import org.eclipse.jface.viewers.ILabelDecorator;
29
import org.eclipse.jface.viewers.ILabelProvider;
30
import org.eclipse.jface.viewers.ILabelProvider;
30
import org.eclipse.jface.viewers.ILabelProviderListener;
31
import org.eclipse.jface.viewers.ILabelProviderListener;
31
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
32
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
33
import org.eclipse.jface.viewers.StyledCellLabelProvider;
34
import org.eclipse.jface.viewers.StyledString;
32
import org.eclipse.swt.graphics.Color;
35
import org.eclipse.swt.graphics.Color;
33
import org.eclipse.swt.graphics.Image;
36
import org.eclipse.swt.graphics.Image;
34
import org.eclipse.swt.graphics.ImageData;
37
import org.eclipse.swt.graphics.ImageData;
35
import org.eclipse.swt.graphics.Point;
38
import org.eclipse.swt.graphics.Point;
36
39
37
public class ScriptUILabelProvider implements ILabelProvider, IColorProvider {
40
public class ScriptUILabelProvider implements ILabelProvider, IColorProvider,  IStyledLabelProvider {
38
41
39
	protected ListenerList fListeners = new ListenerList(1);
42
	protected ListenerList fListeners = new ListenerList(1);
40
43
Lines 337-340 Link Here
337
		}
340
		}
338
		return text;
341
		return text;
339
	}
342
	}
343
	
344
	/**
345
	 * @since 5.1
346
	 */
347
	public StyledString getStyledText(Object element) {
348
		ILabelProvider[] providers = getProviders(element);
349
		StyledString result = null;
350
		if (providers != null) {
351
			for (int i = 0; i < providers.length; i++) {
352
				if (providers[i] instanceof IStyledLabelProvider) {
353
					StyledString string = ((IStyledLabelProvider) providers[i]).getStyledText(element);
354
					if (string != null) {
355
						result = string;
356
						break;
357
					}
358
				}
359
			}
360
		}
361
		if (result == null) {
362
			result = new StyledString(ScriptElementLabels.getDefault().getTextLabel(element, evaluateTextFlags(element)));
363
		}
364
365
		if (result.length() == 0 && (element instanceof IStorage)) {
366
			result = new StyledString(fStorageLabelProvider.getText(element));
367
		}
368
369
		String decorated = decorateText(result.getString(), element);
370
		if (decorated != null) {
371
			return StyledCellLabelProvider.styleDecoratedString(decorated, StyledString.DECORATIONS_STYLER, result);
372
		}
373
		return result;
374
	}
340
}
375
}
(-)a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/viewsupport/StyledDecoratingModelLabelProvider.java (+81 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 
9
 *******************************************************************************/
10
package org.eclipse.dltk.ui.viewsupport;
11
12
import org.eclipse.dltk.ui.ProblemsLabelDecorator;
13
import org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider;
14
import org.eclipse.jface.viewers.DecorationContext;
15
import org.eclipse.jface.viewers.ILabelProvider;
16
import org.eclipse.ui.PlatformUI;
17
18
/**
19
 * a DecoratingModelLabelProvider which support StyledText
20
 * 
21
 * replace org.eclipse.dltk.ui.viewsupport.StyledDecoratingModelLabelProvider
22
 * 
23
 * @since 5.1
24
 */
25
public class StyledDecoratingModelLabelProvider extends DecoratingStyledCellLabelProvider implements ILabelProvider {
26
27
	/**
28
	 * Decorating label provider for DLTK. Combines a ScriptUILabelProvider with
29
	 * problem and override indicuator with the workbench decorator (label
30
	 * decorator extension point).
31
	 */
32
	public StyledDecoratingModelLabelProvider(ScriptUILabelProvider labelProvider) {
33
		this(labelProvider, true);
34
	}
35
36
	/**
37
	 * Decorating label provider for dltk. Combines a ScriptUILabelProvider (if
38
	 * enabled with problem indicator) with the workbench decorator (label
39
	 * decorator extension point).
40
	 */
41
	public StyledDecoratingModelLabelProvider(ScriptUILabelProvider labelProvider,
42
			boolean errorTick) {
43
		this(labelProvider, errorTick, true);
44
	}
45
46
	/**
47
	 * Decorating label provider for dltk. Combines a ScriptUILabelProvider (if
48
	 * enabled with problem indicator) with the workbench decorator (label
49
	 * decorator extension point).
50
	 */
51
	public StyledDecoratingModelLabelProvider(ScriptUILabelProvider labelProvider,
52
			boolean errorTick, boolean flatPackageMode) {
53
		super(labelProvider, PlatformUI.getWorkbench().getDecoratorManager()
54
				.getLabelDecorator(),null);
55
56
		if (errorTick) {
57
			labelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
58
		}
59
		setFlatPackageMode(flatPackageMode);
60
	}
61
62
	/**
63
	 * Tells the label decorator if the view presents packages flat or
64
	 * hierarchical.
65
	 * 
66
	 * @param enable
67
	 *            If set, packages are presented in flat mode.
68
	 */
69
	public void setFlatPackageMode(boolean enable) {
70
		if (enable) {
71
			setDecorationContext(DecorationContext.DEFAULT_CONTEXT);
72
		} else {
73
			setDecorationContext(DecorationContext.DEFAULT_CONTEXT);
74
			// TODO setDecorationContext(HierarchicalDecorationContext.CONTEXT);
75
		}
76
	}
77
78
	public String getText(Object element) {
79
		return getStyledText(element).toString();
80
	}
81
}

Return to bug 413346