[Qgis-developer] libqscintilla2 as build dependency

Larry Shaffer larrys at dakotacarto.com
Sat Sep 28 21:41:30 PDT 2013


There has been some discussion on having QScintilla2 [0] code editors for
Project Macros and for Expression Builder text areas, i.e. in core C++ code.

Currently the Qsci.so (QScintilla2) Python module is a runtime dependency
for the new console and its editor, and for an editor in Processing. In
order to embed similar code editors in C++ classes, the libqscintilla2
library will need to be found and linked during the build process. Since
the C++ lib is a dependency for installs of the Python module, most users
should already have it.

I think it would be prudent to then establish a base class, e.g.
QgsCodeEditor, with python bindings. I believe Salvatore may have started
on this, and there may be some C++ libs or projects out there already to
investigate. Once that's done, we can port the console's 'code editor' font
and color styles settings to C++ and add a new tab in Options.

This will allow the editors in Console and Processing to have parity with
user-chosen styles, so all editors look, and generally work, the same
across the app, regardless of underlying code language. It is unclear to me
whether the C++ subclass of QScintilla2 can just be passed as a PyQt
object, via PyQGIS bindings, and only the Qsci.so module is still required.
I would assume so, but will ask on the PyQt list.

If there is a concern about adding this libqscintilla2 dependency in the
CMake setup, please share your opinion so we can discuss it, before I
commit the change.

[0] http://www.riverbankcomputing.com/software/qscintilla/intro


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20130928/1dea8910/attachment.html>

More information about the Qgis-developer mailing list