Hi, I want a table with numbers and when I click on one number I want to change it to a new value. I managed to copy the table from test-gtk/test-tree-view.lisp and I added :editable t to the def-columns call. I can edit the number, but the system doesn't store the value back into one of my variables, e.g. (position$ (nth 2 *items*)). So when I press enter after the edit, the old value will be shown again.
I hoped the :on-edit slot of listbox could be used for this task but the format is never executed. Or is it only possible to do it like in the Cells-Tree-View example? It seemed quite complicated to me, as I don't want two copies of branched trees. I think that is the next thing I would be glad to hear how :on-edit is to be used. [I run the following code in sbcl with threads.] (require :asdf) (require :cells-gtk) (defpackage :mk (:use :cells :cl :cells-gtk)) (in-package :mk) (defmodel myapp (gtk-app) () (:default-initargs :width 400 :height 300 :md-name :mk-top :kids (c-in nil))) (init-gtk) (start-win 'myapp) (defmodel listbox-test-item () ((position :accessor position$ :initarg :position :initform nil) (curvature :accessor curvature$ :initarg :curvature :initform nil))) (defparameter *items* (list (make-be 'listbox-test-item :position (coerce (random 20) 'double-float) :curvature (coerce (random 20) 'double-float)) (make-be 'listbox-test-item :position (coerce (random 20) 'double-float) :curvature (coerce (random 20) 'double-float)))) (let ((top (find-widget :mk-top))) (setf (kids top) (list (mk-vbox :fm-parent top :kids (kids-list? (mk-listbox :md-name :listbox :selection-mode :single :columns (def-columns (:double (:title "Position") (lambda (node) '(:editable t))) (:double (:title "Curvature"))) :items *items* :print-fn (lambda (item) (list (position$ item) (curvature$ item))) :on-edit (lambda (node col new-val) (format t "~a~%" (list node col new-val))))))))) Regards, Martin -- Martin Kielhorn Randall Division of Cell & Molecular Biophysics King's College London, New Hunt's House Guy's Campus, London SE1 1UL, U.K. tel: +44 (0) 207 848 6519, fax: +44 (0) 207 848 6435
_______________________________________________ cells-gtk-devel site list cells-gtk-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cells-gtk-devel