[GRASS-user] Re: simple outline of the new features in the wxGRASS GUI

Michael Barton michael.barton at asu.edu
Tue May 29 03:16:57 EDT 2007

Hi Dylan,

A big part of where we are at the moment is creating the same functionality
we now have in TclTk, but in a more advanced GUI platform that will be
native on different OS's.

A couple things to note about the whole process. We first worked out a
design plan for a new GUI (about a year and a half ago). To make this work,
it was apparent that there needed to be some changes in existing d.* modules
and some new display management tools created. To jump start this, I redid
the TclTk GUI to conform to the new design specs. This offered a further
incentive to revamp some of the display code. Glynn did a lot of this. As
this was going on, we reviewed GUI platforms and decided to try wxPython.

So, at one level, we're trying now to implement the design specs in
wxPython. At the same time, we're trying to improve on how we do this and
make it easier to build on this design plan to add new functionality.

Some of the new functionality is already showing up. Here is a brief

Nicer autogenerated properties dialogs for all GRASS commands. More GUI
controls like color pickers. The help manual is available from one of the
tabs in the dialog.

Display command properties are set from the same dialogs you get when you
call the display command from the commandline. We're trying to avoid having
to maintain separate, custom panels for display objects (raster maps, vector
maps, grids, etc) in the GIS Manager. This is working pretty well so far.

Better control of overlay features like scalebars, legends, and text. These
can be placed easily with a mouse and their properties altered by double
clicking on the overlay.

More save options and much nicer printing.

I think that map rendering is faster (but haven't clocked it)

Built in attribute management and query tool in the form of a nice table
manager. The sql query tools are still under development.

The ability to easily set the default display font--especially to a nice
TrueType font. This has been made even nicer because enhancements to the PNG
display driver (used for both TclTk and wxPython GRASS) render these fonts
very well. I backported this to the TclTk GUI.

A comprehensive location setting wizard. This is still under development,
but will combine all means of creating new locations into a single unified

An even more powerful profiling tool, that is still being enhanced (a lot of
enhancements added just a couple days ago). Currently, it will allow you to
profile up to 3 different maps in the same display and gives  you a lot of
customization options for how the profile looks (e.g., line color,
thickness, style, legend, title and axis labels, etc) and is scaled (custom
ranges, log scale, etc.).

We are also making it possible to run display commands from the command line
and have their output show up in the wxPython map display canvas.

The GUI has a cleaner, more up-to-date look, is more compact, and
(hopefully) easier to navigate. For example, Each display open has a tab in
the GIS Manager. Click on the tab to show the layer tree for that display
and activate the display--or click on the display to do the same thing.

There is a new commands toolbox in the works that will give fast access to
at least some of the commands.

And of course, implementing this will make Python (or at least a run-time
version) a dependency of GRASS. This means that Python scripting will be
available to anyone using GRASS. This should open up a lot of new

I hope that this helps. I've avoided the guts of coding all this. But once
you get over the hump of object-oriented programming, there are some real
advantages to working with wxPython/Python to tie together GRASS commands in
a comprehensive GUI.

Maybe one of the other folks on the GUI team will want to add to this.


On 5/28/07 8:54 AM, "Dylan Beaudette" <dylan.beaudette at gmail.com> wrote:

> Hi,
> I am working on some text about grass and need some background
> information on the wxGRASS GUI. I have some details gleaned from the
> mailing list. However, if you have a couple points or ideas which you
> think are worth highlighting please send me a message. Namely I am
> looking for some of the advances that have been made since the TclTk
> GUI days.
> cheers,
> Dylan

Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

More information about the grass-user mailing list