* TOm points out but in gvarbrowser on 9/24 check this out.
DONE * Stephanie reports error with gvarbrowser -- likely in gtree. Fix it!
* fix height on gcombobox -- sizes to fill in x axis (sizePolicy like Qt?)
* defaultWidget for buttons.
* no tag<- methods for gaction?
* svalue<- for gtable calls changed twice

FIXED * tooltip in gaction -- broken?
DONE* fix delete with gradio, [<- method to reduce length
DONE * DONE gvarbrowser: customize groups, icons, update should consider more
  than just names (class too!); svalue error Others? (TT suggested more
DONE * svalue<- method for gtree to set by index or key svalue(obj,index=??) <- c(...)
DONE * index.search in ghelp needs to be replaced to use dynamic
       search (is ghelp even necessary anymore?)
DONE * gtext -- API to set font properties for entire buffer?
DONE * gWidgets with mac os x GUI
DONE * Yvonnick and addHandlerRightClick
DONE? * fix to dnd and gedit
## library(RGtk2)
## gSignalConnect(getToolkitWidget(ed), "drag-data-received", f=function(w,...) {
##   print("arrived")
##   val <- w$getText()
##   svalue(ed) <- val
##   })

DONE (TOM did all the work) 
## * Dear John,

## I have to thank you again for paying attention to my query. I realize you're busy; this email is nothing more than a wish list.

## Based on the user feedback, the most persistent question has been to allow more "Excel-like" behavior with respect to table cell selection behavior. I realize this isn't what the designers of TreeView intended - although having had a look at the classes, I can see there are methods allowing a great deal of flexibility like SetCellDataFunc.

## For example http://markmail.org/message/ebbyt5ephsfqlz2t gives an example of highlighting individual cells.

## In order of how nice it would be to have these features in something like gdf or gtable:

## 1. Clicking on a column header should highlight and select the column by default. A right-click or an external call might be better to sort the column or change its name (the gdf functionality). Clicking and dragging a column header should expand the selection of columns. It would also be good to have the ability to rearrange columns by dragging, if a rearrangement mode was enabled.

## 2. Clicking on an ordinary cell should highlight and select the individual cell and allow rubber-banding selection.

## 3. Ctrl-C and Ctrl-V should work by default to copy and paste whatever's selected.

## 4. Useful handlers might include addHandlerColumnClicked, addHandlerColumnRightClick, addHandlerRowClicked, addHandlerRowRightClick, addHandlerCellClicked, addHandlerCellRightClick, which would expose rows/columns. This would allow adding context-sensitive popup menus to data table displays (for example, highlighting cells containing protein names and then popping up a table containing the corresponding gene information).

## The other solution to this might be to just call Excel or Calc, although getting an edited table back might be a bit of a hack involving an idle handler to look at a file date, or similar.

## One more thought I've had -- and this is definitely in the "wouldn't it be nice" category -- is that for big data, it might make sense to buffer the table display against the data frame (or a class with "[,]", "[,]<-" and dimnames methods). Fully loading a numeric 5000x33 table into gtable takes over 10 elapsed seconds on my (modern) computer under Windows Vista, whereas a buffered display should be instantaneous. Furthermore, we'd gain a powerful ability to display very large tables or SQL databases, which are generally common for bioinformatics users.

## I've actually implemented something similar to this concept in tcltk already (although, it doesn't work very well yet). I maintain a separate table which keeps track of which cells have been selected and I update the table cells when the viewing window is changed. The main problem I had is that scrolling around can lead to the program locking up since the event queue can run ahead of the speed of redrawing the view port - despite some experimentation with flags and idle handlers I haven't been able to completely resolve this.

## Cheers, Tom

* fix gcommandline -- it isn't working with ggenericwidget
DONE* On mac implement button-2 or control-1 (latter is through
 Event$GetType() == 3
* implement handler for gtable when a column is clicked (addHandlerColumnClicked)
DONE * add [< method for gspinbutton -- must be a seq(a,b) values
* add padding uner mac between window and frame -- HOW??
*DONE  ronggui feature request 
Besides, I have a feature request: Please suppress the following error
message as it works.
> g<-gtable("a",con=T)
> g[]<-"b" ## it works but issues an error message.
Error in x[[jj]][iseq] <- vjj :
 incompatible types (from NULL to character) in subassignment type fix


* header in gdf -- how to hide a column or row? -- method in GTK
  available, can I add to gWidgets API, if so how?
* DND in gedit, gtext, gcombobox
DONE * font<- for button isn't working? -- (Would need to mess with
  [[1]] child of button which is a gtkLabel
DONE * svalue(panedgroup) <- i npixesl -- want [0,1]

* fix to gtkTextBufferInsertWithTagsByName in gtext
* gmenu [ method is broken (what should it do?)
DONE * gaction -- atleast for menu and toolbar.
* gedit width under windows
* gcombobox a[] might give error whereas a[,1] does not -- check type
  This may be related to needing to detach handler while loading to
  avoid calling -- Olivier Nunez report
* speed ups: gcombobox with rGtkDataFrame as store, try(), others?
* tooltip in gtoolbar not working
* gmenu whites out (Giles email)	
* gvarbrowser -- configurable filters
* gdf -- speed ups?
* fix shading in gnotebook (Giles e-mail)
* check gradio enable<- fix, gpanedgroup svalue<- fix
DONE * tooltip in gtoolbar
* NaN in gtable/gdf in palce of NA. Character sorts funny so don't coerce.
* redo gdf -- look at EDF stuff. The numbr of digits in a numeric
  number should be configurable, NA NaN, etc under windows.
* nb[i] should return gWidgets (it might, but gdf doesn't work)
* RONGUI email regarding table code and adding values

## * put drag rectangle addHandler??? How to draw the rectangle (see
##   ggobi, playwith). The
##   button-press-release signal (or some such) allows on to easily get
##   at the values.

## device <- asCairoDevice(da, pointsize=12)
## win$Show()
## gSignalConnect(da,"button-press-event",function(h,e,...) {
##   print("press")
##   print(e$GetX())
##   return(TRUE)
## })
## gSignalConnect(da,"button-release-event",function(h,e,...) {
##   print("release")
##   print(e$GetX())
##   return(TRUE)
## })

* gcommandline is a *mess* -- clean up

**** DID THESE ****

DONE * gcheckboxgroup -- return vector of IDS, not just a single
DONE * gtable: 
I found a bug in gtable(): if you click on a column heading to sort by
it, then svalue(x, index = TRUE) returns the selected rows in the
sorted data frame, not the original data frame.

Thanks,

It looks like I have two issues.

df = as.data.frame(CO2) ## I need to force coercion to a data frame,
although am not sure why
df$Plant <- as.character(df$Plant) ## I don't handler ordered factors properly
gtable(df, cont = T)  ## now it works.

Hope to fix this soon. Thanks for letting me know.
DONE * gtable -- sort on click
DONE * gcombobox width under windows
DONE * check gedit -- width -> size
DONE * check gframe label and markup
DONE * add in gSignalHandlerBlock/Unblock to API?
DONE * redo gradio -- fix [<- method, 
Mostly done* as methods would be useful for integrating glade
## as method
DONE as.gWidget.XXX methods
DONE addHandlerChanged export at toolkit level (RGtk2)
* Fix gtable -- updating doesn't update filter value!
* Fix gtree -- trouble with sortng. Tried, failed. Try again.
DONE * Fix gtable -- trouble with sorting
DONE * Fix ggrid so that tbl[,] <- character(0) works (0 length is
  issue). (NOt so easy, as the color stuff gets messed up:
  (R:9562): Gtk-WARNING **: Don't know color `NA'
* 
