--- /dev/null
+# BiaWeb Website content manager (c) 2010 V.Harishankar
+# HTML highlighter class
+
+import PyQt4
+
+class SimpleHtmlHighlighter (PyQt4.QtGui.QSyntaxHighlighter):
+ def __init__ (self, document):
+ PyQt4.QtGui.QSyntaxHighlighter.__init__ (self, document)
+
+ def highlightBlock (self, text):
+ # define the character highlight formats
+ charfmt1 = PyQt4.QtGui.QTextCharFormat ()
+ charfmt1.setFontWeight (PyQt4.QtGui.QFont.Bold)
+ charfmt1.setForeground (PyQt4.QtCore.Qt.blue)
+
+ charfmt2 = PyQt4.QtGui.QTextCharFormat ()
+ charfmt2.setForeground (PyQt4.QtCore.Qt.darkGreen)
+
+ # matching regular expressions
+ htmltagexps = [ (PyQt4.QtCore.QRegExp ("<[^<>]+>"), charfmt1),
+ (PyQt4.QtCore.QRegExp ("\"[^\"]+\""), charfmt2)
+ ]
+
+ # run through the list of regular expressions to highlight
+ for htmltagexp, charfmt in htmltagexps:
+ index = htmltagexp.indexIn (text)
+ while index >= 0:
+ length = htmltagexp.matchedLength ()
+ # self.setFormat is actual code highlighting
+ self.setFormat (index, length, charfmt)
+ index = htmltagexp.indexIn (text, index + length)