tk2widgets {tcltk2}R Documentation

A themed series of tk widget

Description

A series of widgets you can use in your tk windows/dialog boxes.

Usage

  tk2button(parent, ...)
  tk2canvas(parent, ...)
  tk2checkbutton(parent, ...)
  tk2combobox(parent, ...)
  tk2entry(parent, ...)
  tk2frame(parent, ...)
  tk2label(parent, ...)
  tk2labelframe(parent, ...)
  tk2listbox(parent, ...)
  tk2mclistbox(parent, ...)
  tk2menu(parent, ...)
  tk2menubutton(parent, ...)
  tk2message(parent, ...)
  tk2notebook(parent, ...)
  tk2panedwindow(parent, ...)
  tk2progress(parent, ...)
  tk2radiobutton(parent, ...)
  tk2scale(parent, ...)
  tk2scrollbar(parent, ...)
  tk2separator(parent, ...)
  tk2spinbox(parent, ...)
  tk2table(parent, ...)
  tk2text(parent, ...)
  tk2tree(parent, ...)
  tk2treeview(parent, ...)

Arguments

parent The parent window
... Further arguments passed to the widget

Value

The reference to the created widget.

Note

Most of these widgets comes from the tile (currently 0.4) library

Author(s)

Philippe Grosjean

See Also

tk2theme, tk2tip, tk2commands

Examples

  ## 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)
    tcli1 <- tk2label(nb, text = "Nothing here.")
    tkadd(nb, tcli1, text = "Test")
    tcli2 <- tk2frame(nb)
    but <- tk2button(tcli2, text = "Click me", command = function() tkdestroy(tt2))
    tkgrid(but)
    tkadd(nb, tcli2, text = "Button")
    tkselect(nb, tcli2)
    tkgrid(nb)

    ## A simple tk2panedwindow example
    tt2 <- tktoplevel()
    pw <- tk2panedwindow(tt2, orient = "vertical")
    lpw.1 <- tk2label(pw, text = "Panel 1")
    lpw.2 <- tk2label(pw, text = "Panel2")
    tkadd(pw, lpw.1, minsize = 100)
    tkadd(pw, lpw.2, minsize = 70)
    but <- tk2button(lpw.2, text = "OK", width = 10,
        command = function() tkdestroy(tt2))
    tkgrid(but)
    tkpack(pw, fill = "both", expand = "yes")
    # 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", "Pear")
        # TO DO: change this!!!
        #for (i in (1:4))
    #    tk2listinsert(cb, "end", fruits[i])
        tkinsert(cb, "end", "pear")
        #tkconfigure(cb, value = "Pear")        # Set the current value for the combobox
    # or better: link it 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, relief = "groove", from = 2, to = 20, increment = 2)
    tkgrid(tspin)
    #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)
    #### TO DO: 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
    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)
  ## End(Not run)

[Package tcltk2 version 0.9-5 Index]