[cells-devel] How to get started?
Peter Hildebrandt
peter.hildebrandt at gmail.com
Tue Apr 17 22:42:03 UTC 2012
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 at 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 at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cells-devel
More information about the cells-devel
mailing list