# A

`(action Prg)`
  Top level wrapper function for the form event handling. Typically contains one or several calls to 'form'.

          (app) # Start session

          (action                                            # Action handler
             (html 0 "Form" "@lib.css" NIL                   # HTTP/HTML protocol
                (form NIL                                    # Form
                   (gui 'a '(+TextField) 10)                 # Text Field
                   (gui '(+Button) "Print"                   # Button
                      '(msg (val> (: home a))) ) ) ) )

  See also Action Forms.

`(alert Env . Prg)`
  Creates an alert dialog. 'Env' can contain additional css attributes, the framework adds the css class 'alert'. 'Prg' is the content you want to populate the alert with. See also Alerts and dialogs.

`+Align`
  A '+TextField' prefix which causes a right-alignment of its content. Used internally to implement the numeric fields ('+NumField' and '+FixField'). See also +TextField, +NumField, +FixField.

`(alternating)`
  `alternating` can be used to give table rows alternating colors.

           (<table> 'chart (choTtl ,"Items" 'nr '+Item)
              (quote
                 (btn) (align "#") (NIL ,"Description") (NIL ,"Supplier") (NIL
                 ,"City") (align ,"Price") )
              (do (cho)
                 (<row> (alternating)
                    (gui 1 '(+DstButton) Dst) (gui 2 '(+NumField)) (gui 3 '(+ObjView
                    +TextField) '(: nm)) (gui 4 '(+ObjView +TextField) '(: nm)) (gui 5
                    '(+TextField)) (gui 6 '(+FixField) 2) ) ) )

  The code above comes from the demo app included in the PicoLisp distribution, in gui.l. It produces a table with rows of alternating colors.

`(ask Str . Prg)`
  Creates an alert dialog with a string, a 'Yes'- and a 'No'-button. 'Str' is the text that will populate the alert, 'Prg' is the action triggered by the 'Yes'- button. See also Alerts and dialogs.

`+Able`
  Prefix class that takes an 'Exe' and disables a GUI component if the supplied 'Exe' returns NIL.

          (gui '(+Able +TextField) '(may Order) 30)

  In the example above, the text field is enabled for users with "Order" permissions.

`+Auto`
  Prefix class that automatically presses a button. When called with 'This', it presses itself. +Auto can be used together with +Click to press a button after a certain amount of time has passed:

          (gui '(+Click +Auto +Button) 420 'This 1000 "+" '(inc '*Number))

  `+Auto` can be used to create simple animations or status updates:

       (app) (action
             (html 0 "Auto" "@lib.css" NIL
                (form NIL
                   (gui '(+JS +Button) "Wait" '(wait 6000)) (----) (gui '(+Click +Auto
                   +Button) 2000 'This 2000 '(pop *Throbber)) ) ) )

  See also +Click, +Button.

`+AtomField`
  A modified +NumField that allows text as well. Text is presented with a monospaced font and numeric values are aligned. See also +NumField, +Mono and +TextField.

`+AO`
  +AO, "Able object", takes an `Exe` argument which is used to determine whether the current object is editable or not. It also makes sure that the current form has an object and the this object is not in "deleted" state before evaluating the expression argument. See also +Able