# E

`+Edit`
  Lock/Edit button prefix class used to gain or release exclusive write access to an object. See also +Rid, +Force and +Tip.

`+E/R`
  Connects GUI elements to database entities. Like its parent class, `+/R`, `+E/R` takes a relation specification argument:

          (gui '(+E/R +TextField) '(text : home obj) 40 4)

  This example created a textarea, 40 x 4, and connects it to the 'text'- property of the current form object. See also +/R, data linkage.

`(editButton Able Exe)`
  A function creating an "Edit" button. Takes one argument, "Able", deciding if the button should be clickable or not and one optional `Exe` argument that is run when clicking the button. This button locks the form object and makes the form editable by the current user. Another user trying to edit the same object at the same time will receive an error message. Here is an example from the code running the PicoLisp wiki, in doc.l.

          (editButton '(may Wiki) '(_newMup))

  `'(may Wiki)` makes sure that this page is only editable by users having a permission called "Wiki" and `'(_newMup)` is a function to be run when someone clicks the button. See also +AO, +Focus, +Edit, +Button.

`+Enum`
  A prefix taking a list of items (e.g. strings for a '+TextField') which are mapped to sequential numbers.

`(error Exe)`
  Can be called in a button action to signal an error to the user. The message is displayed near the offending field. See also +Button.

`(expires)`
  `expires` shows when the current session expires. If Javascript is enabled and `<ping>` is called in the GUI top level, the session will never expire. In that case, this function is not needed.