Hi there,

I've been trying to figure out cells and cells-gtk from gtk-demo and the
various tutorials people have put up but I can't find a good way to do
something.

My app consists of a notebook with a couple tabs, config and display.

The config tab looks like this:

(defmodel config-tab (vbox)
  ((vals :accessor vals :initform nil))
  (:default-initargs
      :kids (kids-list?
             (mk-hbox
              :kids (kids-list?
                     (mk-label :text "Server hostname")
                     (mk-entry
                      :md-name :hostname
                      :text (c-in "localhost")
                      :max-length 20)
                     (mk-button :md-name :go :label "Set hostname!"
                                :on-clicked (callback (widget event data)
                                              (trc "you clicked the button?!")))
                     (mk-label :text (c? (widget-value :hostname))))))))


And I have a c? cell in the display tab which depends on the :hostname
entry widget. But the entry doesn't get "updated" until enter is
pressed, meaning it doesn't update any dependent formula cells until
that time. This is reasonable, you wouldn't want everything updating at
every keypress, but I want it to be updated when the button is pressed.

So this is what I want to do:
1) Have my formula cell depend on the button somehow(ephemeral cell?) so
when it is pressed I look for an updated value in the :hostname widget.

or 

2) Somehow have the button in its :on-clicked callback "activate" the
entry widget and send the :hostname value propagating through the dependencies.

As I'm writing this I'm realizing that 1 probably doesn't make sense
because the value in :hostname has to be updated either by a keypress
from the user or by a method call?

Are these things I can or should do? Let me know if I'm being an idiot. haha

Thanks,
David

_______________________________________________
cells-gtk-devel site list
cells-gtk-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/cells-gtk-devel

Reply via email to