chiark / gitweb /
gffi/basic-types.lisp: clisp already defines a `byte' type'.
[clg] / gtk / gtktree.lisp
index 4d11b83dca033a2b49cd6df6638cf676beefae66..d884dd0501e08082e4dec6485ff142192fc00cf1 100644 (file)
@@ -348,7 +348,8 @@ (define-type-method destroy-function ((type tree-path) &key temp inlined)
 
 (defun ensure-tree-path (path)
   (etypecase path
-    (string (coerce (clg-utils:split-string path :delimiter #\:) 'vector))
+    (string (map 'vector #'parse-integer
+                (clg-utils:split-string path :delimiter #\:)))
     (vector path)))
 
 
@@ -383,7 +384,7 @@ (defbinding tree-model-get-column-type () gtype
 (defbinding tree-model-get-iter (model path &optional (iter (make-instance 'tree-iter))) boolean
   (model tree-model)
   (iter tree-iter :in/return)
-  (path tree-path))
+  ((ensure-tree-path path) tree-path))
 
 #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.12.0")
 (defmethod allocate-foreign ((tree-iter tree-iter) &rest initargs)
@@ -394,7 +395,7 @@ (defmethod allocate-foreign ((tree-iter tree-iter) &rest initargs)
 (defun ensure-tree-iter (model row)
   (etypecase row
     (tree-iter row)
-    (tree-path 
+    ((or tree-path string)
      (multiple-value-bind (valid-p iter) (tree-model-get-iter model row)
        (if valid-p
           iter
@@ -847,6 +848,7 @@ (defbinding tree-view-move-column-after () nil
   (column tree-view-column)
   (base-column (or null tree-view-column)))
 
+#+(or)
 (define-callback-setter tree-view-set-column-drag-function tree-view boolean
   (column tree-view-column) 
   (prev tree-view-column)