/*! \file PygmentsHighlighter.cpp * \brief implements PygmentsHighlighter * \author "Melven Zoellner" * */ #include "PygmentsHighlighter.h" #include PygmentsHighlighter::PygmentsHighlighter(QTextDocument *parentDoc) : QSyntaxHighlighter(parentDoc) { // create an own pythonqt context for the highlighter _context = PythonQt::self()->createUniqueModule(); // name this object setObjectName("pygmentsHighlighter"); // make it accessable in pythonqt, // this allows to delegate the work in highlightBlock // to a python function _context.addObject(objectName(),this); // initialize python _context.evalFile("PygmentsHighlighter.py"); } // just delegate the protected method setFormat from base class void PygmentsHighlighter::_setFormat(int start, int count, const QTextCharFormat &format) { setFormat(start, count, format); } void PygmentsHighlighter::highlightBlock(const QString &text) { // call python function to do everything QVariantList args; args.append(text); _context.call("highlightCode", args); }