Introduction
cells-gtk is a complete, portable framework for
Common Lisp GUI development via
GTK+2 with
Cells
InsideTM,
licensed under the
Lisp
LGPL
- GTK+ is the premier cross-platform GUI development environment,
so popular that, well, see also
lambda-gtk and
lgtk for a other
projects making GTK+ available to Lispniks.
- Cells transparently link GUI elements with each other and the
application model to greatly simplify development of rich interfaces.
Cells also automate how Lisp GUI instances drive their GTK+
counterparts.
- Common Lisp is coming on as the language of choice for any
self-respecting geek. CL is mature, compiled, object-oriented,
reflective, multi-paradigm, dynamic, and who do you think invented
garbage collection?
cells-gtk was originally developed
by Vasilis Margioulas for
CLisp,
and is now available also with
UFFI bindings
for greater portability. Vasilis included an astonishing array of examples in his
initial release, just some of which can be seen in the
screenshots graciously provide by Klaus Wiedner.
cell-gtk has been tested under Allegro (Windows), Lispworks (Linux),
and CMUCL(Linux). The currently separate CLisp distribution runs under Windows.
News
- 2006-01-03 BIG NEWS! cells-gtk now runs under CLISP.
and uses CFFI, not Hello-c for its foreign function interface.
The 2006-01-03 tarball reflects these changes. Especial thanks to Novikov Leonid, who did the CLISP port
to get things started. The new code has been tested with Lispworks 4.5 Pro/Linux, CLISP/Linux, and CMUCL/Linux.
If I didn't break anything, it also works CLISP/PC and Lispworks/PC. SBCL is probably an easy port.
- 2005-11-15 We now provide the win32 .dll
and linux .so for libcellsgtk. They are:
this for linux and
this for win32.
This is sort of experimental. If you have problems (e.g. with version mismatch) drop the
mailing list a note.
- 2005-10-08 Some additional discussion in FAQ. Some
work to implement DrawingArea is underway in CVS HEAD.
HEAD *should* be OK. New tarballs will be created when it is complete.
- 2005-05-29 Allows hierarchical arrangement of items in ComboBox.
(requires libcellsgtk)
- 2005-03-03 textview now has capabilities for programmatic
manipulation and markup of the text.
- 2005-02-28 libcellsgtk introduced to enable some
capabilities otherwise not available through the FFI.
Download
- Tarballs: We intend to provide self-contained tarballs that are
snapshots of the CVS repository, and contain all the ancillary modules (cells, cffi, etc).
Here are a few:
- cells-gtk-2006-01-03.tgz
- Uses CFFI, not Hello-C (See "News" above).
- Runs under CLISP.
- Checks whether page of Notebook is already displayed
- Provides a Makefile for libcellsgtk for Windows.
- Provides more control over divider position in Pane widget.
- Drawing widget implementation started.
- Lots of minor stuff.
- NOTE: This has only been tested with Linux CLISP, Lispworks and CMUCL.
If it works elsewhere (which it should...I hope) drop the mailing list a note.
- cells-gtk-2005-05-29.tgz
- ComboBoxes may now use a TreeModel; allows hierarchical arrangement of items. (requires libcellsgtk)
- Uses Cells 2
- :expand-all on TreeView allows Tree to initially display completely expanded.
- New procedure to locate dynamic libraries. (Works 'out of the box' 50% of the time versus 10% before ???)
- Has not been tested on Windows. Drop the group a note if you try it.
- cells-gtk-2005-02-26.tgz
- CVS: Of course, you can get the freshest code from
CVS
but it might be a little less stable.
Information on checking out code from the common-lisp.net repository can be found
at http://common-lisp.net/faq.shtml
- Original CLISP Code: We hope to merge the CLISP version back into
the main tree, but for the time being, the original distro from Vasilis is available
here
via CVS or the "Download tarball" link at the bottom of that page.
Follow instructions in the include INSTALL.TXT.
Mailing List
We have a
project
mailing list where questions are always welcome.
Peter Denno
Last modified: 2005-10-08