|
Lines 10-15
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.ui.internal.views.markers; |
11 |
package org.eclipse.ui.internal.views.markers; |
| 12 |
|
12 |
|
|
|
13 |
import java.util.HashSet; |
| 14 |
import java.util.Iterator; |
| 15 |
import java.util.Set; |
| 16 |
|
| 13 |
import org.eclipse.core.expressions.PropertyTester; |
17 |
import org.eclipse.core.expressions.PropertyTester; |
| 14 |
import org.eclipse.core.resources.IMarker; |
18 |
import org.eclipse.core.resources.IMarker; |
| 15 |
|
19 |
|
|
Lines 37-45
Link Here
|
| 37 |
public boolean test(Object receiver, String property, Object[] args, |
41 |
public boolean test(Object receiver, String property, Object[] args, |
| 38 |
Object expectedValue) { |
42 |
Object expectedValue) { |
| 39 |
if (property.equals(EDITABLE)) { |
43 |
if (property.equals(EDITABLE)) { |
| 40 |
IMarker marker = ((MarkerEntry) receiver).getMarker(); |
44 |
MarkerSupportItem item = (MarkerSupportItem) receiver; |
| 41 |
if (marker != null) |
45 |
Set/*<IMarker>*/ markers = new HashSet(); |
| 42 |
return marker.getAttribute(IMarker.USER_EDITABLE, true); |
46 |
if (item.isConcrete()) { |
|
|
47 |
markers.add(((MarkerEntry) receiver).getMarker()); |
| 48 |
} else { |
| 49 |
MarkerSupportItem[] children = item.getChildren(); |
| 50 |
for (int i = 0; i < children.length; i++) { |
| 51 |
if (children[i].isConcrete()) |
| 52 |
markers.add(((MarkerEntry) children[i]).getMarker()); |
| 53 |
} |
| 54 |
} |
| 55 |
|
| 56 |
if (!markers.isEmpty()) { |
| 57 |
Iterator elements = markers.iterator(); |
| 58 |
while (elements.hasNext()) { |
| 59 |
IMarker marker = (IMarker) elements.next(); |
| 60 |
if (marker.getAttribute(IMarker.USER_EDITABLE, true) == false) |
| 61 |
return false; |
| 62 |
} |
| 63 |
return true; |
| 64 |
} |
| 43 |
} |
65 |
} |
| 44 |
return false; |
66 |
return false; |
| 45 |
} |
67 |
} |