[R] tcl/tk bind destroy event

From: Franco Mendolia <franco.mendolia_at_gmx.de>
Date: Thu 03 Aug 2006 - 06:06:17 EST


I want to create a messagebox whenever the user wants to destroy the window (e.g. <Alt-F4> or the 'x' in the right top corner) and ask if a modified file should be saved or not.

If 'cancel' is chosen then nothing should happen and the windows still should be existing. This doesn't work. When I press cancel the window will be destroyed although.

I also implemented a menu item 'Quit' where I show the same messagebox and there it works fine.

How can I make it work or is there another method to do this? I'm very new to R and tcl/tk.

Here is part of my code:

   exitProg <- function()

     returnVal <- tkmessageBox(title="Question",
       message="Save modified file?",
       icon="question", type="yesnocancel", default="yes")

     returnVal <- as.character(returnVal)

     if( returnVal == "yes" )

# save file value <- saveFile() # destroy window when save was successfull if( value == 1 ) tkdestroy(mw) } if( returnVal == "no" )
tkdestroy(mw) } if( returnVal == "cancel" )
# do nothing cat("Cancel was pressed.\n") }


   # bind the destroy event in order to show a message box    tkbind(mw,"<Destroy>",exitProg)

   # menu item which works fine
   tkadd(fileMenu, "command", label="Quit", command=exitProg)

Thank you.

Franco Mendolia

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Thu Aug 03 06:15:15 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Thu 03 Aug 2006 - 22:17:29 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.