|
Lines 15-20
Link Here
|
| 15 |
import org.eclipse.core.resources.IResource; |
15 |
import org.eclipse.core.resources.IResource; |
| 16 |
import org.eclipse.core.runtime.CoreException; |
16 |
import org.eclipse.core.runtime.CoreException; |
| 17 |
import org.eclipse.pde.internal.core.builders.PDEMarkerFactory; |
17 |
import org.eclipse.pde.internal.core.builders.PDEMarkerFactory; |
|
|
18 |
import org.eclipse.pde.internal.ui.PDEPluginImages; |
| 18 |
import org.eclipse.pde.internal.ui.PDEUIMessages; |
19 |
import org.eclipse.pde.internal.ui.PDEUIMessages; |
| 19 |
import org.eclipse.swt.graphics.Image; |
20 |
import org.eclipse.swt.graphics.Image; |
| 20 |
import org.eclipse.ui.IMarkerResolution; |
21 |
import org.eclipse.ui.IMarkerResolution; |
|
Lines 27-52
Link Here
|
| 27 |
public class MultiFixResolution extends WorkbenchMarkerResolution { |
28 |
public class MultiFixResolution extends WorkbenchMarkerResolution { |
| 28 |
|
29 |
|
| 29 |
IMarker fMarker; |
30 |
IMarker fMarker; |
| 30 |
String fCategory; |
|
|
| 31 |
// if quick fix is invoked from editor, then fix all related markers. If invoked from problem view, fix only the selected ones. |
31 |
// if quick fix is invoked from editor, then fix all related markers. If invoked from problem view, fix only the selected ones. |
| 32 |
boolean problemViewQuickFix; |
32 |
boolean problemViewQuickFix; |
| 33 |
|
33 |
|
| 34 |
public MultiFixResolution(IMarker marker, String category) { |
34 |
public MultiFixResolution(IMarker marker) { |
| 35 |
fMarker = marker; |
35 |
fMarker = marker; |
| 36 |
fCategory = category; |
|
|
| 37 |
problemViewQuickFix = false; |
36 |
problemViewQuickFix = false; |
| 38 |
} |
37 |
} |
| 39 |
|
38 |
|
| 40 |
public IMarker[] findOtherMarkers(IMarker[] markers) { |
39 |
public IMarker[] findOtherMarkers(IMarker[] markers) { |
| 41 |
ArrayList relatedMarkers = new ArrayList(); |
40 |
ArrayList relatedMarkers = new ArrayList(); |
| 42 |
for (int i = 0; i < markers.length; i++) { |
41 |
try { |
| 43 |
try { |
42 |
String markerCategory = (String) fMarker.getAttribute(PDEMarkerFactory.CAT_ID); |
| 44 |
if (markers[i].getAttribute(PDEMarkerFactory.CAT_ID).equals(fCategory) && !markers[i].equals(fMarker)) { |
43 |
for (int i = 0; i < markers.length; i++) { |
|
|
44 |
if (markerCategory.equals(markers[i].getAttribute(PDEMarkerFactory.CAT_ID)) && !markers[i].equals(fMarker)) { |
| 45 |
relatedMarkers.add(markers[i]); |
45 |
relatedMarkers.add(markers[i]); |
| 46 |
} |
46 |
} |
| 47 |
} catch (CoreException e) { |
|
|
| 48 |
} |
47 |
} |
| 49 |
|
48 |
} catch (CoreException e) { |
| 50 |
} |
49 |
} |
| 51 |
problemViewQuickFix = true; |
50 |
problemViewQuickFix = true; |
| 52 |
return (IMarker[]) relatedMarkers.toArray(new IMarker[relatedMarkers.size()]); |
51 |
return (IMarker[]) relatedMarkers.toArray(new IMarker[relatedMarkers.size()]); |
|
Lines 57-63
Link Here
|
| 57 |
} |
56 |
} |
| 58 |
|
57 |
|
| 59 |
public Image getImage() { |
58 |
public Image getImage() { |
| 60 |
return null; |
59 |
return PDEPluginImages.DESC_ADD_ATT.createImage(); |
| 61 |
} |
60 |
} |
| 62 |
|
61 |
|
| 63 |
public String getLabel() { |
62 |
public String getLabel() { |