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

(-)src/org/eclipse/ui/views/markers/WorkbenchMarkerResolution.java (+14 lines)
Lines 12-17 Link Here
12
package org.eclipse.ui.views.markers;
12
package org.eclipse.ui.views.markers;
13
13
14
import org.eclipse.core.resources.IMarker;
14
import org.eclipse.core.resources.IMarker;
15
import org.eclipse.core.runtime.IProgressMonitor;
15
import org.eclipse.ui.IMarkerResolution2;
16
import org.eclipse.ui.IMarkerResolution2;
16
17
17
/**
18
/**
Lines 63-66 Link Here
63
	public IMarker[] findOtherMarkers(IMarker[] markers){
64
	public IMarker[] findOtherMarkers(IMarker[] markers){
64
		return new IMarker[0];
65
		return new IMarker[0];
65
	}
66
	}
67
68
    /**
69
     * Runs this resolution. Resolve all <code>markers</code>.
70
     * <code>markers</code> must be a subset of the markers returned
71
     * by <code>findOtherMarkers(IMarker[])</code>
72
	 * <strong>NOTE:</strong> This method will become abstract for
73
	 * 3.2 M5.
74
	 * 
75
	 * @param markers The markers to resolve, not null
76
	 * @param monitor The monitor to report progress
77
	 */
78
	public void run(IMarker[] markers, IProgressMonitor monitor) {	
79
	}
66
}
80
}
(-)src/org/eclipse/ui/views/markers/internal/MarkerResolutionDialog.java (-14 / +8 lines)
Lines 16-21 Link Here
16
import java.util.Hashtable;
16
import java.util.Hashtable;
17
17
18
import org.eclipse.core.resources.IMarker;
18
import org.eclipse.core.resources.IMarker;
19
import org.eclipse.core.runtime.SubProgressMonitor;
19
import org.eclipse.jface.dialogs.Dialog;
20
import org.eclipse.jface.dialogs.Dialog;
20
import org.eclipse.jface.dialogs.IDialogConstants;
21
import org.eclipse.jface.dialogs.IDialogConstants;
21
import org.eclipse.jface.dialogs.TitleAreaDialog;
22
import org.eclipse.jface.dialogs.TitleAreaDialog;
Lines 543-564 Link Here
543
		progressPart.beginTask(MarkerMessages.MarkerResolutionDialog_Fixing,
544
		progressPart.beginTask(MarkerMessages.MarkerResolutionDialog_Fixing,
544
				checked.length + 1);
545
				checked.length + 1);
545
		progressPart.worked(1);
546
		progressPart.worked(1);
547
		
548
		calculatingResolutions= true;
546
549
547
		for (int i = 0; i < checked.length; i++) {
550
		IMarker[] markers= new IMarker[checked.length];
548
			// Allow paint events and wake up the button
551
		System.arraycopy(checked, 0, markers, 0, checked.length);
549
			getShell().getDisplay().readAndDispatch();
552
		((WorkbenchMarkerResolution)resolution).run(markers, new SubProgressMonitor(progressPart, checked.length));
550
			if (progressCancelled()) {
551
				break;
552
			}
553
			IMarker marker = (IMarker) checked[i];
554
555
			progressPart.subTask(Util.getProperty(IMarker.MESSAGE, marker));
556
557
			resolution.run(marker);
558
553
559
			progressPart.worked(1);
554
		calculatingResolutions= false;
560
561
		}
562
		progressPart.done();
555
		progressPart.done();
563
		progressCancelled = false;
556
		progressCancelled = false;
564
		super.okPressed();
557
		super.okPressed();
Lines 572-577 Link Here
572
	protected void cancelPressed() {
565
	protected void cancelPressed() {
573
		if (calculatingResolutions) {
566
		if (calculatingResolutions) {
574
			progressCancelled = true;
567
			progressCancelled = true;
568
			progressPart.setCanceled(true);
575
			return;
569
			return;
576
		}
570
		}
577
		super.cancelPressed();
571
		super.cancelPressed();

Return to bug 118435