00001 #ifndef TEXTEDITHIGHLIGHTED_H 00002 #define TEXTEDITHIGHLIGHTED_H 00003 00004 #include <QTextEdit> 00005 00006 #include "Qt4SyntaxHighlighter.h" 00007 00008 namespace srchiliteqt { 00009 00010 class LanguageComboBox; 00011 class StyleComboBox; 00012 00022 class TextEditHighlighted : public QTextEdit 00023 { 00024 Q_OBJECT 00025 00026 private: 00028 srchiliteqt::Qt4SyntaxHighlighter *highlighter; 00029 00031 LanguageComboBox *languageComboBox; 00032 00034 StyleComboBox *styleComboBox; 00035 00037 QString styleFile; 00038 00039 public: 00040 TextEditHighlighted(); 00041 00047 void connectLanguageComboBox(LanguageComboBox *lcb); 00048 00054 void connectStyleComboBox(StyleComboBox *lcb); 00055 00056 srchiliteqt::Qt4SyntaxHighlighter *getHighlighter() const { 00057 return highlighter; 00058 } 00059 00065 void setHighlighter(const QString &langFile); 00066 00075 const QString loadFile(const QString &fileName); 00076 00082 void changeColors(const QString &fgColor, const QString &bgColor); 00083 00084 public slots: 00089 void changeHighlightingLanguage(const QString &newLang); 00090 00095 void changeHighlightingStyle(const QString &newStyle); 00096 00102 void changeFileName(const QString &fileName); 00103 00104 signals: 00109 void changedHighlightingLanguage(const QString &newLang); 00110 00115 void changedHighlightingStyle(const QString &newLang); 00116 00117 }; 00118 00119 } 00120 00121 #endif // TEXTEDITHIGHLIGHTED_H