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() {