[cells-gtk-devel] Re: Roberto
Peter Hildebrandt
peter.hildebrandt at gmail.com
Wed Mar 12 17:41:46 UTC 2008
Hi Roberto,
I don't know what's wrong with the cells-gtk-devel list. I had trouble
mailing there, too, though. Maybe there's an over-zealous spam filter
at work? I cc'd the list, let's see what happens.
> Any idea? By the way, I have done a very simple window, with a title, a label,
> another label for the
> counter, one button for a message dialog, and lastly a label in which I
> visualize my text entry from the message dialog:
Congrats! You're moving along quickly.
> The problem is that in this version of cells-gtk (with all your patches
> applied) I can't see the entry area for the text (while I can see it, and I
> succeed in write text and visualize it in the label in the main window, with
> the old version 2006-06-30). The same thing occur to me for the "new"
> gtk-demo. Everything's work, except that I can't visualize a text entry in:
> Dialogs - Query for text - Type something.....Again, there is no area in
> which I could write something...
I know this one. It is in fact the only known bug I introduced when I
built the multi threading thing. A work around would be to make a
conventional window with an entry box instead of using the message
dialog function:
(make-instance 'window
:kids (c-in (list
(mk-vbox
:kids (c-in (list
(mk-label :text "Enter something:")
(mk-entry :md-name :entry)))))))
should work (not tested). I solved the problem (I think) while porting
cells-gtk to cells 3. This, however, is still pretty much work in
progress, so I'd recommend this work around for now.
> And, more important, in the new Tree view -
> Cells Tree View, when I select a node, I retrieve this error message:
>
> Lisp Error: There is no applicable method for the generic function
> #<STANDARD-GENERIC-FUNCTION CHILDREN-FN(2)>
> when called with arguments
> (NIL)
> Recklessly continue? Yes No
Well -- yes. The cells-tree-view is still a little more shaky than I
thought. I did a good deal of testing, but I overlooked certain things.
When porting it to cells 3 (which is more strict in many respects), it
became obvious that my design was a little edgy here and there. I'm
working on it, but it is low priority right now, since I need to get the
cairo drawing stuff and opengl up and running first.
As soon as cells-gtk3 has grown a little more mature, I'll post it here.
For now, I need to focus on other things; I got job interviews coming
up tomorrow and the day after.
> If I click Yes, the application goes on and I can visualize the children nodes
> and add any node that I want (but can't delete them), check the boxes and
> affect
> the other (but in the meanwhile the error message reappears, and I have to
> click yes again, while if I click no, everything crashes....).
Yep, but this is actually "intended": If cells-gtk runs into a problem,
usually all that SBCL has to offer is to terminate the gtk-main thread,
which in turn ruins your lisp session's gtk connection, and you need to
restart SBCL. That's why I created the "recklessly continue": It lets
you return to the app and quit it gracefully, so that it does not take
the gtk communication down.
Maybe the commercial lisps are doing better in terms of restarts; I read
something like that on Planet Lisp a few weeks ago. Maybe they'd let
you restart the gtk-thread after you click "no".
> The last thing I would ask you, is if you actually implement this *fantastic*
> tool, and in the case the answer is YES ( as I hope... ;) ) , in what
> direction you are looking for ( say, a more easy installation (..... :) ) , a
> graphic development environment, and so on)
Well, quoting Ken Tilton (I hope he doesn't mind), "I'm just a simple
application programmer", that is, I am out to write an application that
I need for my research. And I decided it'd be great to write this
application in lisp, and use cells. Hence I need a cells-inside GUI.
And since I prefer GTK widgets over Tcl/Tk's (mainly since Tcl/Tk used
to look crappy on linux at the time I got started), I set out to make
cells-gtk fit my needs.
I am happy to make cells-gtk better, but it is not my primary concern at
the moment (and probably won't become it in the near future). Right now
I need to finish my application, write up my work, publish a few papers,
and get on with my life (that is, get a real, paid job).
Apart from this, I am glad about suggestions for cells-gtk, and I am
happy to share my work if it is useful to others.
Given this, the direction I am looking at is
* finish the cells3 port (nearly done)
* iron out a few bugs (text entry widget (nearly done), cells-tree-view
(lots of work to do), menu item labels appearing centred (no idea why),
error handling (I'm making progress))
* add graphics functionality (cairo (nearly complete) and opengl (not
yet started))
The installation process is a pain, but I am not quite sure what to do
about it. My dream would be to update the asdf-install package and have
it compile libcellsgtk.so at compile time (e.g. cl-ode does that).
I have never thought about a graphic UI designer. I won't have the
resources it would take to get this right, but it could be a cool
project. OTOH, you have lisp. Just do C-c C-c on the defmodel for the
window and pull it up from the repl. If you don't like, change the code
and start over. The cycle is less that 10 seconds. We're not talking
Java :-)
Alright, so far for today. I'll be out tomorrow and Friday, but I'll be
back here during the weekend.
Cheers,
Peter
> Ok, Peter, I think for now it's enough.... ;)
> Thank you again,
> Roberto
More information about the cells-gtk-devel
mailing list