## Not run:
# ## These cannot be run by examples() but should be OK when pasted
# ## into an interactive R session with the tcltk package loaded
#
# ### A tk2notebook example
# tt2 <- tktoplevel()
# nb <- tk2notebook(tt2, tabs = c("Test", "Button"))
# tkpack(nb, fill = "both", expand = 1)
# tb1 <- tk2notetab(nb, "Test")
# lab <- tk2label(tb1, text = "Nothing here.")
# tkpack(lab)
# tb2 <- tk2notetab(nb, "Button")
# but <- tk2button(tb2, text = "Click me", command = function() tkdestroy(tt2))
# tkgrid(but)
# tk2notetab.select(nb, "Button")
# tk2notetab.text(nb) # Text of the currently selected tab
#
# ### A simple tk2panedwindow example
# tt2 <- tktoplevel()
# pw <- tk2panedwindow(tt2, orient = "vertical")
# lpw.1 <- tk2text(pw)
# lpw.2 <- tk2text(pw)
# tkadd(pw, lpw.1)#, minsize = 100)
# tkadd(pw, lpw.2)#, minsize = 70)
# but <- tk2button(tt2, text = "OK", width = 10,
# command = function() tkdestroy(tt2))
# tkpack(pw, fill = "both", expand = "yes")
# tkpack(but)
# ## Resize the window and move the panel separator with the mouse
#
# ### A tk2combobox example
# tt2 <- tktoplevel()
# cb <- tk2combobox(tt2)
# tkgrid(cb)
# ## Fill the combobox list
# fruits <- c("Apple", "Orange", "Banana")
# tk2list.set(cb, fruits)
# tk2list.insert(cb, "end", "Scoubidou", "Pear")
# tk2list.delete(cb, 3) # 0-based index!
# tk2list.size(cb)
# tk2list.get(cb) # All items
# ## Link current selection to a variable
# Fruit <- tclVar("Pear")
# tkconfigure(cb, textvariable = Fruit)
# ## Create a button to get the content of the combobox
# but <- tk2button(tt2, text = "OK", width = 10,
# command = function() {tkdestroy(tt2); cat(tclvalue(Fruit), "\n")})
# tkgrid(but)
#
# ### An example of a tk2spinbox widget
# tt2 <- tktoplevel()
# tspin <- tk2spinbox(tt2, from = 2, to = 20, increment = 2)
# tkgrid(tspin)
# ## This widget is not added yet into tcltk2!
# #tdial <- tk2dial(tt2, from = 0, to = 20, resolution = 0.5, width = 70,
# # tickinterval = 2)
# #tkgrid(tdial)
# tbut <- tk2button(tt2, text = "OK", width = 10,
# command = function() tkdestroy(tt2))
# tkgrid(tbut)
#
# ### A tk2mclistbox example
# tt2 <- tktoplevel()
# mlb <- tk2mclistbox(tt2, width = 55, resizablecolumns = TRUE)
# ## Define the columns
# tk2column(mlb, "add", "name", label = "First name", width = 20)
# tk2column(mlb, "add", "lastname", label = "Last name", width = 20)
# tk2column(mlb, "add", "org", label = "Organisation", width = 15)
# tkgrid(mlb)
# ## Fill the multicolumn list (we can use a vector, or a matrix of character strings)
# item1 <- c("Bryan", "Oackley", "ChannelPoint")
# items <- matrix(c("John", "Ousterhout", "Scriptics", "Steve", "Miller", "TclTk inc."),
# ncol = 3, byrow = TRUE)
# tk2insert.multi(mlb, "end", item1)
# tk2insert.multi(mlb, "end", items)
# #### TODO: bind events
# ### Ex: .listbox label bind date <ButtonPress-1> "sortByDate
# ### See the example.tcl in .\libs\mclistbox1.02 for a more complex example
# ### Create a button to close the dialog box
# but <- tk2button(tt2, text = "OK", width = 10,
# command = function() tkdestroy(tt2))
# tkgrid(but)
#
# ### A simple tk2table example (Tktable is required here!)
# myRarray <- c("Animal", "\"sphinx moth\"", "oyster", "Type", "insect", "mollusk")
# dim(myRarray) <- c(3, 2)
# for (i in (0:2))
# for (j in (0:1))
# .Tcl(paste("set tclarray(", i, ",", j, ") ", myRarray[i+1, j+1], sep = ""))
# tt2 <- tktoplevel()
# table1 <- tk2table(tt2, variable = "tclarray", rows = "3", cols = "2",
# titlerows = "1", selectmode = "extended", colwidth = "25", background = "white")
# tkpack(table1)
#
# ## A tablelist example
# tt <- tktoplevel()
# tlist <- tk2tablelist(tt, columntitles = c("First column", "Second column"),
# stretch = "all", expand = 1)
# tkpack(tlist, fill = "both")
# tkinsert(tlist, "end", c("first row", "another value"))
# tkinsert(tlist, "end", c("another row", "bla bla"))
# tbut <- tk2button(tt, text = "Done", command = function () tkdestroy(tt))
# tkpack(tbut)
# ## End(Not run)
Run the code above in your browser using DataLab