Quark  0.1
SyntaxHighlighter.h++
Go to the documentation of this file.
1 #ifndef __libquark_syntax_SyntaxHighlighter_hxx
2 #define __libquark_syntax_SyntaxHighlighter_hxx
3 
4 #include <QSharedPointer>
5 #include <QSyntaxHighlighter>
6 #include <QTextDocument>
7 
8 #include <quark/Quark.h++>
9 
10 namespace quark {
11 namespace syntax {
12 
13 class LanguageSyntax;
14 class SyntaxHighlighterTheme;
15 
23 class LIBQUARK_API SyntaxHighlighter : public QSyntaxHighlighter
24 {
25  public:
26 
33  SyntaxHighlighter(QTextDocument *document);
34 
36  virtual ~SyntaxHighlighter();
37 
39  void setLanguageSyntax(QSharedPointer<LanguageSyntax> syntax);
40 
42  void setTheme(QSharedPointer<SyntaxHighlighterTheme> theme);
43 
44  protected:
45 
46  virtual void highlightBlock(const QString &text);
47 
48  private:
49 
50  QSharedPointer<LanguageSyntax> _syntax;
51  QSharedPointer<SyntaxHighlighterTheme> _theme;
52 };
53 
54 } // namespace syntax
55 } // namespace quark
56 
57 #endif // __libquark_syntax_SyntaxHighlighter_hxx
Definition: BarChartView.h++:6
#define LIBQUARK_API
Definition: Quark.h++:18
A general purpose syntax highlighter.
Definition: SyntaxHighlighter.h++:23