10/30/2007: Stack smashing issue
Under Kubuntu the following example was throwing a stack smashing
error with R-2.6.0:
library(RGtk2)
w = gtkWindowNew("test")
b = gtkButton("click me")
w$Add(b)
connectSignal(b,"clicked",function(...) {
e = simpleError("test")
stop(e)
}
If you see this error, recompile after first setting
export CFLAGS="-fno-stack-protector"
09/24/2007: New versions of gWidgets, gWidgetsRGtk2, gWidgetsrJava, and gWidgetstcltk
I uploaded new versions of these 4 packages to CRAN today. Mostly bug
fixes:
- Changed rJava so that it works without JGR. This was made possible in rJava-0.5-0.
- fixed gtree issue with icons in RGtk2
- Fixed gtable in tcltk. Made obj[,] <- c() work. (Not in RGtk2 though!)
- Fixed bug in rJava with gbutton and glabel
09/19/2007: Added a set of examples
Look at the Examples directory to see a number of annotated examples
of how gWidgets can be used.
07/12/2007: New version of pmg uploaded to CRAN
A new version of pmg was uploaded to CRAN. There were a few bug
fixes. As well, the layout changed slightly. The Commands tab is no
longer in the main notebook, but rather appears below it. This makes
it more accessible and when a dialog is used the output appears to the
user. It might take more screen real estate to work. As well, I think
I managed to avoid requiring iplots (and hence rJava) and reshape from
being installed when the package is installed. The GUI has some
entries to enhance these two packages, but they are not necessary.
07/12/2007: A new package gWidgetstcltk is uploaded to CRAN
This package incorporates tcltk into the gWidgets framework. Although not all the widgets are implemented, due to a desire to make this work with the base tcltk libraries, many are.
The major difference between this implementation and gWidgetsRGtk2 and gWidgetsrJava is how containers are handled. In the latter two, a container can be specified for a widget after the widget is constructed, in gWidgetstcltk the container must be specified when a widget is constructed. So instead of using something like:
b = gbutton("click me")
g = ggroup(cont=gwindow("example"))
add(g, b, expand=TRUE)
you would write
g = ggroup(cont=gwindow("example"))
b = gbutton("click me", container=g, expand=TRUE)
The expand=TRUE is there to show that argumentst to add may be passed
into the widget using the ... feature of R.
![[FILE]](http://wiener.math.csi.cuny.edu/pmg/images/i-regular-12.png)