some preliminary progress bar support


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@292 4cde692c-a291-49d1-8350-778aa11640f8
diff --git a/Lib/xmlWriter.py b/Lib/xmlWriter.py
index 499341f..ab72ba7 100644
--- a/Lib/xmlWriter.py
+++ b/Lib/xmlWriter.py
@@ -11,7 +11,7 @@
 
 class XMLWriter:
 	
-	def __init__(self, file, dtd=None, indentwhite=INDENT):
+	def __init__(self, file, indentwhite=INDENT, idlefunc=None):
 		if type(file) == type(""):
 			self.file = open(file, "w")
 			if os.name == "mac":
@@ -20,16 +20,14 @@
 		else:
 			# assume writable file object
 			self.file = file
-		self.dtd = dtd
 		self.indentwhite = indentwhite
 		self.indentlevel = 0
 		self.stack = []
 		self.needindent = 1
+		self.idlefunc = idlefunc
+		self.idlecounter = 0
 		self.writeraw("<?xml version='1.0'?>")
 		self.newline()
-		if self.dtd:
-			# DOCTYPE???
-			self.newline()
 	
 	def close(self):
 		self.file.close()
@@ -55,6 +53,10 @@
 	def newline(self):
 		self.file.write("\n")
 		self.needindent = 1
+		idlecounter = self.idlecounter
+		if not idlecounter % 100 and self.idlefunc is not None:
+			self.idlefunc()
+		self.idlecounter = idlecounter + 1
 	
 	def comment(self, data):
 		data = escape(data)