+ (let* ((model (make-instance 'gtk:list-store
+ :column-types '(string)
+ :column-names '(type)
+ :initial-content
+ (mapcar (lambda (type)
+ (vector
+ (player-type-name type)))
+ *player-types*)))
+ (renderer (add-cell-renderer
+ view
+ (add-tree-view-column view "Type")
+ (list :text 'type)
+ :type 'gtk:cell-renderer-combo
+ :renderer-args (list :model model
+ :text-column 0
+ :has-entry nil
+ :editable t))))
+ (gtk:signal-connect renderer :changed
+ (lambda (path new-iter)
+ (setf (gtk:tree-model-value
+ players path 'type)
+ (gtk:tree-model-value
+ model new-iter 'type)))))