|
Lines 10-22
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.jdt.internal.ui.model; |
11 |
package org.eclipse.jdt.internal.ui.model; |
| 12 |
|
12 |
|
|
|
13 |
import org.eclipse.core.resources.IFolder; |
| 14 |
import org.eclipse.core.resources.IProject; |
| 13 |
import org.eclipse.core.resources.IResource; |
15 |
import org.eclipse.core.resources.IResource; |
| 14 |
import org.eclipse.core.resources.ResourcesPlugin; |
16 |
import org.eclipse.core.resources.ResourcesPlugin; |
| 15 |
|
17 |
|
|
|
18 |
import org.eclipse.swt.graphics.Font; |
| 16 |
import org.eclipse.swt.graphics.Image; |
19 |
import org.eclipse.swt.graphics.Image; |
| 17 |
|
20 |
|
| 18 |
import org.eclipse.jface.viewers.DecoratingLabelProvider; |
21 |
import org.eclipse.jface.viewers.DecoratingLabelProvider; |
| 19 |
import org.eclipse.jface.viewers.ILabelProvider; |
22 |
import org.eclipse.jface.viewers.ILabelProvider; |
|
|
23 |
import org.eclipse.jface.viewers.ITreePathLabelProvider; |
| 24 |
import org.eclipse.jface.viewers.TreePath; |
| 25 |
import org.eclipse.jface.viewers.ViewerLabel; |
| 20 |
|
26 |
|
| 21 |
import org.eclipse.team.core.diff.IDiff; |
27 |
import org.eclipse.team.core.diff.IDiff; |
| 22 |
import org.eclipse.team.core.diff.IDiffTree; |
28 |
import org.eclipse.team.core.diff.IDiffTree; |
|
Lines 36-42
Link Here
|
| 36 |
* |
42 |
* |
| 37 |
* @since 3.2 |
43 |
* @since 3.2 |
| 38 |
*/ |
44 |
*/ |
| 39 |
public final class JavaSynchronizationLabelProvider extends AbstractSynchronizationLabelProvider { |
45 |
public final class JavaSynchronizationLabelProvider extends AbstractSynchronizationLabelProvider implements ITreePathLabelProvider{ |
| 40 |
|
46 |
|
| 41 |
/** The delegate label provider, or <code>null</code> */ |
47 |
/** The delegate label provider, or <code>null</code> */ |
| 42 |
private ILabelProvider fLabelProvider= null; |
48 |
private ILabelProvider fLabelProvider= null; |
|
Lines 142-145
Link Here
|
| 142 |
protected boolean isIncludeOverlays() { |
148 |
protected boolean isIncludeOverlays() { |
| 143 |
return true; |
149 |
return true; |
| 144 |
} |
150 |
} |
|
|
151 |
|
| 152 |
/* (non-Javadoc) |
| 153 |
* @see org.eclipse.jface.viewers.ITreePathLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel, org.eclipse.jface.viewers.TreePath) |
| 154 |
*/ |
| 155 |
public void updateLabel(ViewerLabel label, TreePath elementPath) { |
| 156 |
Object firstSegment = elementPath.getFirstSegment(); |
| 157 |
if (firstSegment instanceof IProject && elementPath.getSegmentCount() == 2) { |
| 158 |
IProject project = (IProject) firstSegment; |
| 159 |
Object lastSegment = elementPath.getLastSegment(); |
| 160 |
if (lastSegment instanceof IFolder) { |
| 161 |
IFolder folder = (IFolder) lastSegment; |
| 162 |
if (!folder.getParent().equals(project)) { |
| 163 |
// This means that a folder that is not a direct child of the project |
| 164 |
// is a child in the tree. Therefore, the resource content provider |
| 165 |
// must be active and in compress folder mode so we will leave |
| 166 |
// it to the resource provider to provide the proper label. |
| 167 |
// We need to do this because of bug 153912 |
| 168 |
return; |
| 169 |
} |
| 170 |
} |
| 171 |
} |
| 172 |
label.setImage(getImage(elementPath)); |
| 173 |
label.setText(getText(elementPath)); |
| 174 |
Font f = getFont(elementPath); |
| 175 |
if (f != null) |
| 176 |
label.setFont(f); |
| 177 |
} |
| 145 |
} |
178 |
} |