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 TextEditHighlighted(QWidget * parent); 00042 00048 void connectLanguageComboBox(LanguageComboBox *lcb); 00049 00055 void connectStyleComboBox(StyleComboBox *lcb); 00056 00057 srchiliteqt::Qt4SyntaxHighlighter *getHighlighter() const { 00058 return highlighter; 00059 } 00060 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 00114 const QString getLangDefFileFromFileName(const QString &filename); 00115 00116 signals: 00121 void changedHighlightingLanguage(const QString &newLang); 00122 00127 void changedHighlightingStyle(const QString &newLang); 00128 00129 }; 00130 00131 } 00132 00133 #endif // TEXTEDITHIGHLIGHTED_H