Revert "Bug 501418 - Replace SubProgressMonitor in CssSpyPart of the e4 tools "
This reverts commit c205f43de84fe3621879540bb35c41e76a7383c3.
Change-Id: I6764e8247dcbc278c0142f6c861ca62ce5a41c5b
diff --git a/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java b/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java
index 05ed54c..451fef8 100644
--- a/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java
+++ b/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java
@@ -26,7 +26,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.ui.css.core.dom.CSSStylableElement;
import org.eclipse.e4.ui.css.core.engine.CSSEngine;
@@ -877,8 +877,12 @@
}
widgetTreeViewer.collapseAll();
Object[] roots = widgetTreeProvider.getElements(widgetTreeViewer.getInput());
- SubMonitor subMonitor = SubMonitor.convert(monitor, "Searching for \"" + text + "\"", roots.length * 10);
+ monitor.beginTask("Searching for \"" + text + "\"", roots.length * 10);
for (Object root : roots) {
+ if (monitor.isCanceled()) {
+ return;
+ }
+
CSSStylableElement element = getCSSElement(root);
if (element == null) {
continue;
@@ -887,20 +891,24 @@
CSSEngine engine = getCSSEngine(root);
try {
SelectorList selectors = engine.parseSelectors(text);
- subMonitor.split(2);
- processCSSSearch(subMonitor.split(8), engine, selectors, element, null, results);
+ monitor.worked(2);
+ processCSSSearch(new SubProgressMonitor(monitor, 8), engine, selectors, element, null, results);
} catch (CSSParseException e) {
System.out.println(e.toString());
} catch (IOException e) {
System.out.println(e.toString());
}
}
+ monitor.done();
}
private void processCSSSearch(IProgressMonitor monitor, CSSEngine engine, SelectorList selectors,
CSSStylableElement element, String pseudo, Collection<Widget> results) {
+ if (monitor.isCanceled()) {
+ return;
+ }
NodeList children = element.getChildNodes();
- SubMonitor subMonitor = SubMonitor.convert(monitor, "Searching", 5 + 5 * children.getLength());
+ monitor.beginTask("Searching", 5 + 5 * children.getLength());
boolean matched = false;
for (int i = 0; i < selectors.getLength(); i++) {
if (matched = engine.matches(selectors.item(i), element, pseudo)) {
@@ -910,11 +918,15 @@
if (matched) {
results.add((Widget) element.getNativeWidget());
}
- subMonitor.split(5);
+ monitor.worked(5);
for (int i = 0; i < children.getLength(); i++) {
- processCSSSearch(subMonitor.split(5), engine, selectors,
+ if (monitor.isCanceled()) {
+ return;
+ }
+ processCSSSearch(new SubProgressMonitor(monitor, 5), engine, selectors,
(CSSStylableElement) children.item(i), pseudo, results);
}
+ monitor.done();
}
protected void dispose() {