[Rd] RE: [R] GUI support from R

Warnes, Gregory R gregory_r_warnes@groton.pfizer.com
Sat, 1 Sep 2001 14:30:52 -0400

Hi Duncan,

I've been looking around at GUI toolkits to use with Python (and by
extension R). I initially tried Tk, but was disappointed because there is no
consistent set of high level widgets.  I've subsequently done some looking
at QT, wxWindows, and GTK.  QT is out because I am a *commercial* user, and
I don't want to have a license hassle.  GTK seemed to have a lower level of
functionality than wxWindows and seemed to be less platform independent.
>From what I could see, the on-line documentation to wxWindows was better. In
addition, the wxPython developer has indicated that the wxWindows
development team is very supportive.

I was also very pleased that wxWindows handles printing, and it had a nice
set of high-level widgets as part of the 'base' library.  There seem to be
some high level widgets for GTK, but they are 'add-ons' and seem less well
integrated or supported.  

Also, looking around at the 'embarrassment of riches' among Python GUI
toolkits, I've come to the conclusion that it is better to have *one* GUI
library that is well supported than to have a set of them.  Our community is
really too small to fracture again into different toolkit users.  Perhaps a
single set of high-level bindings would do the trick, but I worry that not
enough functionality would be available at that level of abstraction.

BTW, wxWindows uses GTK as the backend on Unix, so you may still be able to
control gtk-based components that are written in GTK. 

I'm very interested in the GUI issue because I am currently building a GUI
tool that will use R as the computational backend.  It would be really nice
if I could do the GUI building and control directly in R rather than using
Python.  It would make one less language to learn & manage for me and for
other users/developers.

And, I really do need some of the high level widgets and functionality
offered directly by wxWindows, but (as far as I can tell) not by GTK.


-----Original Message-----
From: Duncan Temple Lang [mailto:duncan@research.bell-labs.com]
Sent: Monday, August 27, 2001 11:14 AM
To: Warnes, Gregory R
Cc: 'Duncan Temple Lang'; rossini@u.washington.edu; nychka@cgd.ucar.edu;
Subject: Re: [R] GUI support from R

Warnes, Gregory R wrote:
> Hey Duncan,
> Can you share with us the reason for selecting GTK?  

Well there are a few basic reasons.

I know less about wxWindow than I do about Gtk.  And there is a lot
less to Gtk than to wxWindows.  So that makes it is easier for me to
think about the bindings. (Also, Gtk is like X, and I spent a fair bit
of time desigining and developing S bindings for X and different
widget sets a long time ago.) The additional features of wxWindows
such as threads, etc. may get in the way in thinking about how Gtk
bindings relate to, Tcl/Tk, Java, and other GUI toolkits.  It would be
nice to have a level of abstraction above these toolkits with the
ability to select one and use the same code for all.

My "hope" is to be able to use Slcc to programmatically generate 
bindings for Gtk. This will be easier given that I know
my way around some of the Gtk code. However, if it works,
applying the same programmatic approach to wxWindows
should give us 80% of the grunt work for free and then
require some tinkering later.

Importantly, the applications I have in mind for RGtk are things like
extending Gnumeric with plugins, programming GGobi events and even
add-ons, and generally interacting with many of the Gnome tools
including potentially building a GUI for R to replace the C-level
Gnome code with R scripts, making it more flexible and adaptable.
If we use wxWindows for these Gtk-based applications, we are adding
an extra layer between R and the application that will probably be

If we do get to the level of abstraction across toolkits, it won't
matter much which toolkit we use, but will only require bindings to
the ones of interest. The challenge then will be to allow integrating
widgets from different toolkits, and that can be tricky on some

So, I am in no way ruling out wxWindows. In many respects, it looks
more appealing - just too big at present. What is its development
energy like relative to Gtk. I am very happy to work on wxWindows
too. There is very little in the RGtk at present.


> -Greg
> Unless expressly stated otherwise, this message is confidential and may be
privileged. It is intended for the addressee(s) only. Access to this E-mail
by anyone else is unauthorized. If you are not an addressee, any disclosure
or copying of the contents of this E-mail or any action taken (or not taken)
in reliance on it is unauthorized and may be unlawful. If you are not an
addressee, please inform the sender immediately.
> r-help mailing list -- Read
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request@stat.math.ethz.ch
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request@stat.math.ethz.ch
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch