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 with
CFFI 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, PC),
CLISP(Linux, PC), SBCL(Linux), and CMUCL(Linux).
News
- 2007-05-14 A libcellsgtk.so for Solaris
from Joubert Nel. (Rename it to libcellsgtk.so).
- 2006-06-30 New tarballs. See below.
- 2006-06-07
- Patches from Andras Simon allow Cells-GTK to load without complaints under
SBCL. (Tested under SBCL 0.9.12).
- The patch also allows libcellsgtk.so to be located wherever it
was built, rather than having to copy it to /usr/lib, etc.
- A version of Cells (What was called "Cells 2" at some point) was added to CVS.
Having our own copy should help keep things stable as Cells evolves.
- 2006-06-01 Patches from Marco Gidde make Cells-GTK work better under SBCL.
These patches were applied to the CVS repository, but are not in any snapshot yet. See the repository
versions of gtk-ffi/gtk-utilities.lisp pod-utils/utils.lisp and gtk-ffi/gtk-ffi.lisp for
the fixes, or read the
mail from Marco. It includes the patches.
- 2006-02-16 Native CFFI now used in most of the code. There is a
snapshot release.
- 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 lightly tested with:
- Lispworks 4.5 Pro/Linux
- CLISP/Linux
- CMUCL/Linux
- ACL 8.0 Beta/Linux (without libcellsgtk)
- SBCL 0.9.7.5/Linux/x86, but see the
note in
the cells-gtk-devel archive for January 2006.
If I didn't break anything, it also works with CLISP/Win32 and Lispworks/Win32.
- 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 the 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-06-30.tgz and
cells-gtk-2006-06-30.zip
- cells-gtk-2006-02-16.tgz
- Native CFFI. That is, not Hello-C to UFFI, to CFFI-UFFI-COMPAT (yuk!).
- More testing, testing of CLISP/Windows 2000
- cells-gtk-2006-01-03.tgz
- Uses CFFI, not Hello-C (See "News" above).
- Runs under CLISP, Lispworks, CMUCL, SBCL, ACL and maybe others.
- Checks whether pages of a Notebook are 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 the lisps listed in the "News" above.
If it works elsewhere 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: Now that CLISP is back in
the main tree, this isn't the place to start but just in case we screwed something up
and you want to have a look, it's
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: 2007-02-19