[GRASS-dev] v.digit: Qt or wxWidgets

Trevor Wiens twiens at interbaun.com
Sun May 21 11:36:34 EDT 2006


On Sun, 21 May 2006 07:53:27 +0100
Glynn Clements <glynn at gclements.plus.com> wrote:

> 
> Michael Barton wrote:
> 
> > I am very much in favor of continuing to develop and improve the GRASS GUI.
> > Since we've come back to the question of GUI platforms, I have a question
> > that might help to clarify things somewhat.
> > 
> > Why do we need/want switch from TclTk?
> 
> 1. Both the Tcl language and the Tk toolkit are too primitive.
> 2. Linking to external libraries is too complex.
> 

Recalling discussions some time back, the move to gis.m involved in
part separating GRASS from x-display. That has been done and in fact
gis.m is evolved considerably (great work Michael and Cedric!). However
if we know we will drop Tcl/Tk, then perhaps it would be reasonable to
think about how far gis.m needs to be taken before beginning
development on the replacement.

Another question to be considered is one of both language and toolkit.
For people who have a strong familiarity with C they naturally choose
developing in C, but as has been pointed out in earlier posts, GRASS
is a oriented around research so rapid development is desirable. My
understanding is that with SWIG, calls to various GRASS libraries can
be made from Perl or Python (amongst other languages).  It would seem
natural then to consider a language for the gui development that could
also be used to create new modules without having to use C. On a
personal note this would be a great boon and one of the reasons I use
PostGIS for most of my vector work because I dislike using C unless I
really have to.

>From where I stand the considerations that flow into this are what is
accessible to new users and developers and also how can we ensure that
new code is readable. It is very true that obfuscated code can be
written in any language, but from my experience most people will agree
that Python is generally better for readability than Perl. Further with
ESRI adopting Python it means more and more potential converts to GRASS
will be familiar with it. Python is a natural choice. We can save C for
where it is really needed.

This still raises the question of toolkits and this is, even more than
language, is a question of preference. wxPython is built on GTK, which
begs the question why not just use PyGTK. PyQt is also very nice and
has nice tools. Having experimented with the gui builders for GTK and
Qt I would say that the QT tools are much more sophisticated and
there are no licensing issues anymore with Qt, so it would probably
be the best choice, even if it may mean some learning. 

This debate has been put to the side for some time, but if we want to
take Glynn's comments seriously about the limitations of TclTk (which I
do) then we need to decide how much further to take gis.m and what to
use for its replacement.

T
-- 
Trevor Wiens 
twiens at interbaun.com

The significant problems that we face cannot be solved at the same 
level of thinking we were at when we created them. 
(Albert Einstein)




More information about the grass-dev mailing list