#ifndef BASIC_XML_SYNTAX_HIGHLIGHTER_H #define BASIC_XML_SYNTAX_HIGHLIGHTER_H #include #include class BasicXMLSyntaxHighlighter : public QSyntaxHighlighter { Q_OBJECT public: BasicXMLSyntaxHighlighter(QObject * parent); BasicXMLSyntaxHighlighter(QTextDocument * parent); BasicXMLSyntaxHighlighter(QTextEdit * parent); protected: virtual void highlightBlock(const QString & text); private: void highlightByRegex(const QTextCharFormat & format, const QRegExp & regex, const QString & text); void setRegexes(); void setFormats(); private: QTextCharFormat m_xmlKeywordFormat; QTextCharFormat m_xmlElementFormat; QTextCharFormat m_xmlAttributeFormat; QTextCharFormat m_xmlValueFormat; QTextCharFormat m_xmlCommentFormat; QList m_xmlKeywordRegexes; QRegExp m_xmlElementRegex; QRegExp m_xmlAttributeRegex; QRegExp m_xmlValueRegex; QRegExp m_xmlCommentRegex; }; #endif // BASIC_XML_SYNTAX_HIGHLIGHTER_H