Siag Office - A Free Office Package for Unix
News
Scheme In A Grid
Pathetic Writer
Egon Animator
Supporting Environment
Plugins
Form Input
Extension Languages
Drag and Drop
Getting Siag
Credits
FTP Archive
Mail Archive
The GNU Public License
Change Log
More stuff
|
The Form interface is a convenient way to create dialogs. It is done by
adding different widgets to a form, using a collection of Scheme
functions. Each input widget has a name and a value, and the results
are returned as an associative list.
Example: form.scm
Example: data.scm
In Siag, it is also possible to declare an
area of the sheet to be a "database" and
use the form interface to edit the contents. To do this, set the
block on the first line of the fields in the area. These columns
can now be edited using the (data-record-edit) function.
This is not a real database, only a nice way to edit the contents
of a spreadsheet.
Without Programming
Open the file with File - Open
Mark the top row and protect it with Window - Protect Cells
Edit the record with Data - Edit Record
The Scheme Interface
- (form-begin)
- Start a new form
- (form-label label)
- Add a label to the form
- (form-text name)
- Add a text entry field to the form
- (form-withprompt prompt value width)
- Create a label followed by a text field of a specified width
- (form-record name name ...)
- Create a form with one label and one text field per line
- (form-menu name)
- Add a pull-down menu
- (form-menuentry text)
- Add one entry to the menu
- (form-okbutton label)
- Add a button which pops down the form, collects
the values and returns them
- (form-cancelbutton label)
- Add a button which pops down the form, discards the values
and returns the empty list
- (form-property name value)
- Changes an X property of the most recently added widget
- (form-properties name value name value ...)
- Changes several properties in a single call
- (form-newline)
- Add the next widget below the last one, rather than to the right
- (form-end)
- Pop up the form, wait for the user to do something,
return the results
- (data-fieldnames)
- Make a list of the strings from the first row of the block
- (data-record-collect row)
- Collect the values from row row, returning the
results as an associative list of the form
((fieldname . value) (fieldname . value) ...)
- (data-record-store record row)
- Store a record back at row row
- (data-record-form record labelwidth textwidth)
- Display a form with one line per field
- (data-record-edit row)
- Edit one row in the "database". This is available on the menu
as Data - Edit Record.
|