;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gtktree.lisp,v 1.17 2006/02/28 16:33:39 espen Exp $
+;; $Id: gtktree.lisp,v 1.18 2006/03/03 19:00:12 espen Exp $
(in-package "GTK")
(call-next-method)
(%list-store-set-column-types list-store column-types)
(when column-names
- (setf (object-data list-store 'column-names) column-names))
+ (setf
+ (object-data list-store 'column-names)
+ (coerce column-names 'vector)))
(when initial-content
(loop
with iter = (make-instance 'tree-iter)
(column int)
(gvalue gvalue))
-(defun tree-model-value (model row column)
+(defgeneric tree-model-value (model row column))
+
+(defmethod tree-model-value ((model tree-model) row column)
(let ((index (column-index model column))
(iter (etypecase row
(tree-iter row)
(funcall setter value iter))
row setters)))))))
-(defun (setf tree-model-value) (value model row column)
+(defgeneric (setf tree-model-value) (value model row column))
+
+(defmethod (setf tree-model-value) (value (model tree-model) row column)
(let ((iter (etypecase row
(tree-iter row)
(tree-path (multiple-value-bind (valid iter)