Krzysztof Wesołowski Programowanie, elektronika, automatyka – doświadczenia i projekty

4sty/09

Używanie klasy QSyntaxHighlighter z bibliotek QT 4.4

W ramach dodatkowego projektu z programowania w języku C++ wykonałem małą aplikację demonstrującą użycie klasy QSyntaxHighlighter z bibliotek Qt do kolorowania składni. Stworzona klasa HSyntaxHighlighter wykorzystuje przygotowane przez twórców Qt elementy co ułatwiło jej wykonanie. Program w prosty sposób koloruje składnie zgodnie z ustawieniami, umożliwia również dostosowanie kolorowania każdego rodzaju kodu do swoich potrzeb za pomocą:

  • wyboru czcionki odpowiedzialnej za daną część kodu
  • wyboru koloru czcionki
  • wyboru tła
  • oraz edycji wyrażeni/wyrażeń regularnych odpowiedzialnych za rozpoznawanie tekstu

Program obsługuje podstawowe bloki

  • Komentarz jednoliniowy
  • Komentarz wieloliniowy
  • Stałe znakowe
  • Stałe liczbowe
  • Dyrektywy preprocesora
  • Słowo kluczowe/zarezerwowane

ale jego struktura umożliwia łatwe dodawanie własnych bloków (poprzez edycje kilku stałych wartości przed kompilacją)

Ustawienia dotyczące kolorowania są przechowywane w plikach *.ini, za pomocą klasy QSettings.

Program został napisany w  środowisku Eclipse CDT , z dodatkami QtEclipseIntegration do tworzenie interfejsu oraz Eclox w celu ułatwienia używania doxygen'a zaś kod został w całości udokumentowany (w j. angielskim) zgodnie z składnią Doxygen.

Zapraszam do przejrzenia i zgłaszania uwag.

Cały program objęty jest licencją GPL 3.0, źródła dostępne poniżej.

Syntax Highlighter 1.0 (wraz z plikami DLL od Qt)

Syntax Highlighter 1.0 (tylko plik exe)

Syntax Highlighter 1.0 (źródła)

Syntax Highlighter 1.0 (dokumentacja)

Licencja GPL 3.0

Wersja 1.1

Poprawiono:

dynamiczna edycja listy bloków, kilka poprawek estetycznych. Bloki podświetlają się niezależnie, po kolei.

Syntax Highlighter 1.1 (wraz z plikami DLL od Qt)

Syntax Highlighter 1.1 (tylko plik exe)

Syntax Highlighter 1.1 (źródła)

Syntax Highlighter 1.1 (dokumentacja)

Licencja GPL 3.0

Komentarze (0) Trackbacks (0)

Przepraszam, dodawanie komentarzy zablokowane.

Trackbacks are disabled.