[cells-devel] my very first baby steps with cells

Friedrich Dominicus frido at q-software-solutions.de
Thu Sep 8 10:02:45 UTC 2005


Ok, the learning curve is steep and my idea on what I'm doing is less
then basic. However here we go, this is the code
(defmodel foobar (model)
  ((val-1 :cell t :accessor val-1 :initform "" :initarg :val-1)
   (val-3 :cell t :accessor val-3 :initarg :val-3 :initform (c-in "Initialize"))))

                     


(def-c-output val-1 ()
  (format t "val-1 is ~a, val-3 is ~a~%" 
          (val-1 self) (val-3 self)))



(defun foo-test ()
  (cell-reset)
  (let ((obj (make-instance 'foobar
                            :val-1 (c? (if (val-3 self)
                                           (setf (val-1 self) (val-3 self))
                                           "val-3 not set")))))
    
    (setf (val-3 obj) "another val-3")
    (setf (val-3 obj) "yet another val for val-3"))
  (values))

In this utterly primitive example the val3 slot "steers" the slot-1
slot. Translated to my need to sync db-view and "user-view", I assume
I have to write  model with the two objects in it do the
initialization from one side (e.g populating from the database), I
probably also have to write a function to feed to the :unchanged (or
so slot), if that yiels true, then the view and database data are in
sync if not I have to update the database data from the view. 

Is this the way to go, or am I overlooking something (I guess I do,
just cells is too new for me....)

Regards
Friedrich



More information about the cells-devel mailing list