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 364039
Collapse All | Expand All

(-)a/bundles/org.eclipse.ui.ide/plugin.xml (-1 / +4 lines)
Lines 2155-2161 Link Here
2155
            <iterate
2155
            <iterate
2156
                  ifEmpty="false"
2156
                  ifEmpty="false"
2157
                  operator="and">
2157
                  operator="and">
2158
               <instanceof value="org.eclipse.ui.internal.views.markers.MarkerEntry"/>
2158
               <or>
2159
                  <instanceof value="org.eclipse.ui.internal.views.markers.MarkerCategory"/>
2160
                  <instanceof value="org.eclipse.ui.internal.views.markers.MarkerEntry"/>
2161
               </or>
2159
               <test
2162
               <test
2160
                     forcePluginActivation="false"
2163
                     forcePluginActivation="false"
2161
                     property="org.eclipse.ui.ide.editable">
2164
                     property="org.eclipse.ui.ide.editable">
(-)a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/EditablePropertyTester.java (-3 / +25 lines)
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
	}
(-)a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java (-2 / +9 lines)
Lines 891-901 Link Here
891
		if (selection instanceof IStructuredSelection) {
891
		if (selection instanceof IStructuredSelection) {
892
			IStructuredSelection structured = (IStructuredSelection) selection;
892
			IStructuredSelection structured = (IStructuredSelection) selection;
893
			Iterator elements = structured.iterator();
893
			Iterator elements = structured.iterator();
894
			Collection result = new ArrayList();
894
			Collection result = new HashSet();
895
			while (elements.hasNext()) {
895
			while (elements.hasNext()) {
896
				MarkerSupportItem next = (MarkerSupportItem) elements.next();
896
				MarkerSupportItem next = (MarkerSupportItem) elements.next();
897
				if (next.isConcrete())
897
				if (next.isConcrete()) {
898
					result.add(((MarkerEntry) next).getMarker());
898
					result.add(((MarkerEntry) next).getMarker());
899
				} else {
900
					MarkerSupportItem[] children = next.getChildren();
901
					for (int i = 0; i < children.length; i++) {
902
						if (children[i].isConcrete())
903
							result.add(((MarkerEntry) children[i]).getMarker());
904
					}
905
				}
899
			}
906
			}
900
			if (result.isEmpty())
907
			if (result.isEmpty())
901
				return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY;
908
				return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY;

Return to bug 364039