-(defun column-name (model index)
- (svref (object-data model 'column-names) index))
-
-(defun tree-model-column-value-setter (model column)
- (let ((setters (or
- (object-data model 'column-setters)
- (setf
- (object-data model 'column-setters)
- (make-array (tree-model-n-columns model)
- :initial-element nil)))))
- (let ((index (column-index model column)))
- (or
- (svref setters index)
- (setf
- (svref setters index)
- (let ((setter
- (mkbinding (column-setter-name model)
- nil (type-of model) 'tree-iter 'int
-; (type-from-number (tree-model-get-column-type model index))
- (tree-model-get-column-type model index)
- 'int)))
- #'(lambda (value iter)
- (funcall setter model iter index value -1))))))))
-
-(defun tree-model-row-setter (model)
- (or
- (object-data model 'row-setter)
- (progn
- ;; This will create any missing column setter
- (loop
- for i from 0 below (tree-model-n-columns model)
- do (tree-model-column-value-setter model i))
- (let ((setters (object-data model 'column-setters)))
- (setf
- (object-data model 'row-setter)
- #'(lambda (row iter)
- (map nil #'(lambda (value setter)
- (funcall setter value iter))
- row setters)))))))