Hi Jim,
cells-gtk and celtk are probably the best choices for desktop GUI toolkits. You probably want to look at both to decide which you prefer. (full disclaimer, I did a bit of work on cells-gtk). Cells-gtk has the advantage of looking native on Ubuntu/Gnome (and is somewhat portable to windows). Celtk is more cross-platform and has a lower threshold if you are familiar with Tk.
you can download the latest fork of cells-gtk3 here: https://github.com/Ramarren/cells-gtk3
Let me know if you have questions. Peter
On Tue, Apr 17, 2012 at 11:12 AM, Frank Goenninger frgo@me.com wrote:
Hi Jim,
Am 17.04.2012 um 19:18 schrieb Jim Prewett:
Hello,
I've recently stumbled across Cells and it sounds pretty interesting. I'm wondering how to get started learning about how to use Cells. In general, I've got several Lisp projects that could use a GUI and the various Cells-based GUI projects look interesting to me. I think I should probably learn how to use Cells (at some basic level) before trying to dive into one of the GUI packages. Is there a Cells-based GUI package that is currently preferred?
Celtk is running fine here, also Cells-Gtk is still in use AFAIK.
In general, I learn best by first following a simple example, then modifying it to do my bidding. Can someone show me how to get started?
https://github.com/kennytilton/cells/wiki
I'm also wondering if someone can explain the difference between DEFMODEL and DEFMD to me.
defmodel is like defclass - with just a few more slot options to declare a cell. defmd is a convenience macro that helps in writing less boilerplate code:
With defmodel a cellsified class might look like this:
(DEFMODEL CAT (MODEL) ((NAME :INITFORM NIL :INITARG :NAME) (FUR-COLOR :INITFORM NIL :INITARG :FUR-COLOR) (TITLE :INITARG :TITLE :INITFORM (C? (UTILS-KT::CONC$ (^NAME) " with " (^FUR-COLOR) " fur.")))) (:DEFAULT-INITARGS :NAME (C-IN "") :FUR-COLOR (C-IN "black")))
the same could be written as:
(defmd cat () name fur-color (title (c? (utils-kt::conc$ (^name) " with " (^fur-color) " fur."))) :name (c-in "") :fur-color (c-in "black"))
... the above is just part of the macroexpansion of this short form ...
A very short demo with the above:
CL-USER: (defvar *the-cat*) *THE-CAT*
CL-USER: (setq *the-cat* (make-instance 'cat :name (c-in "Susi"))) CAT0
CL-USER: (title *the-cat*) "Susi with black fur."
Thanks so much!, Jim
Hope that helps ;-)
Cheers Frank
cells-devel site list cells-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cells-devel