YstokGrid - grid widget for LispWorks
YstokGrid is a CAPI-based grid widget for LispWorks®.
The grid provides convenient GUI framework for working with data in tabular
form. The main design purpose was to present RDBMS records in rows.
This functionality is similar to capi:multi-column-list-panel
,
aka screen table or datasheet.
Additionally, you can edit in place, add, or delete records by means of YstokGrid.
An instance of the ygrid
class can be included into any
CAPI interface window as an ordinary pane.
Basic features
- Text display, text input, and check button columns.
- Enabled or read-only columns.
- Ghost columns, i.e. calculated from the values of other columns.
- Callbacks on interactive user actions.
- Selecting rows with various styles of choice-interaction via a row header.
- The width of any column is adjustable separately via a mouse gesture or
programmatically.
- The height of all rows is the same and adjustable via a mouse gesture or
programmatically.
- Assigning graphics args (foreground or background color, font etc.) to
every cell differentially.
- Sorting and filtering rows.
- Searching a single column via of a kind of "Find what" dialog.
- Standard records menu and toolbar.
- Undo changes performed on cell or entire record.
- Automatically hiding the vertical scrollbar after resizing the grid if its
contents does not require scrolling.
- Leftmost "frozen" columns that are not
horizontally scrolled (similar to the row headers column).
Text Display Column
- Rendering static text.
- Number and currency format localization; automatic initialization of
locale-specific parameters on Windows.
- Horizontal alignment: left, center, or right.
- Wrapping text automatically.
Text Input Column
- Customizable print-function, readers, writers, read and write converters.
- Full-fledged capi:editor-pane used for editing cell values.
Check Column
- Boolean or triple state check boxes.
- Toggling via mouse or keyboard.
Dependencies
YstokGrid requires Ystok-Library,
YstokWidgets,
and optionally Ystok-Local-Time.
YstokGrid is optionally required by
YstokHelp.
Platforms
YstokGrid was tested on LispWorks 4.4, 5.0, and 6.1 for Windows.
See change.log.
Download and installation
YstokGrid is available from
http://lisp.ystok.ru/ygrid/ygrid-1-5-027.zip or
http://lisp.ystok.ru/ygrid/ygrid-1-5-027.tgz.
The distribution package contains both
the ASDlite/ASDF-based ygrid.asd
and the LispWorks system definition file defsys.lisp.
Examples
- examples/demo.lisp
- Various column types.
- examples/grid-plist.lisp
- Simple property list editor.
See also