loading...

A customizable form dialog box with checkboxes, entries, lists, etc.

dlg_form(
  form,
  title = "Fill the form",
  message = NULL,
  columns = 1,
  strip.type = TRUE,
  ...,
  gui = .GUI
)

dlgForm(
  form,
  title = "Fill the form",
  message = NULL,
  columns = 1,
  strip.type = TRUE,
  ...,
  gui = .GUI
)

# S3 method for gui
dlg_form(
  form,
  title = "Fill the form",
  message = NULL,
  columns = 1,
  strip.type = TRUE,
  ...,
  gui = .GUI
)

# S3 method for textCLI
dlg_form(
  form,
  title = "Fill the form",
  message = NULL,
  columns = 1,
  strip.type = TRUE,
  ...,
  gui = .GUI
)

# S3 method for nativeGUI
dlg_form(
  form,
  title = "Fill the form",
  message = NULL,
  columns = 1,
  strip.type = TRUE,
  ...,
  gui = .GUI
)

Arguments

form

Named list of default values, or list of possible items. Names are the labels of corresponding entries in the dialog box, followed by an indicator of the type of entry to place in the dialog box (see details).

title

The title of the form.

message

An optional message to display in the dialog box. Use \\n for line break, or provide a vector of character strings, one for each line.

columns

Arrange the entries on this number of columns (by row).

strip.type

Do we strip the type from the names in results?

...

Pass further arguments to methods.

gui

The 'gui' object concerned by this dialog box.

Value

The modified 'gui' object is returned invisibly. Use its gui$rescomponent to get the list of returned fields.

Details

The form content is defined by a named list. Items are default values, or a list of possible items, e.g., for the combobox. Names are labels displayed in front of each field in the form. Follow them by a code that represents the type of entry you want to use:

  • :TXT for simple (default) textual box,

  • :H for hidden text (password),

  • :RO for read-only text,

  • :NUM for null of positive integers with up/down arrows,

  • :CHK for checkbox: TRUE or FALSE,

  • :CB for read-only combobox,

  • :CBE for editable combobox,

  • :FL to select one existing file,

  • :MFL to select multiple existing files,

  • :SFL to select or create one file,

  • :DIR to select a directory,

  • :CDIR to select or create a directory,

  • :FN to select font and font size,

  • :DT to enter a date,

  • :CLR` to enter a RGB color,

  • :BTN` to create a button that execute some code,

  • :LBL to add a label.

For the moment, the form dialog box is only supported on Linux. You have to install yad to get access to it. On Ubuntu, you do so by sudo apt-get install yad. For other system, look at the documentation.

Note

dlg_form() can use strings with embedded quotes, but you have to escape them (and need to double the backslash escape sign). Currently, this is not done automatically, on the contrary to the other dlg_xxx() functions!

Examples

if (FALSE) {
# Ask a series of items at once in a dialog box
form <- list(
  "Name:TXT" = "John Smith",
  "Age:NUM" = 25,
  "Sex:CB" = c("male", "female"),
  "Married:CHK" = FALSE
)
dlg_form(form, "My data")$res
}