From 70b52c33c3ffd909abf13b4885f33c02c8e0d0ac Mon Sep 17 00:00:00 2001 Message-Id: <70b52c33c3ffd909abf13b4885f33c02c8e0d0ac.1714997165.git.mdw@distorted.org.uk> From: Mark Wooding Date: Fri, 3 Mar 2006 19:00:12 +0000 Subject: [PATCH] TREE-MODEL-VALUE made a generic function Organization: Straylight/Edgeware From: espen --- gtk/gtktree.lisp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gtk/gtktree.lisp b/gtk/gtktree.lisp index 9fe1e58..168f2ef 100644 --- a/gtk/gtktree.lisp +++ b/gtk/gtktree.lisp @@ -20,7 +20,7 @@ ;; 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") @@ -81,7 +81,9 @@ (defmethod initialize-instance ((list-store list-store) &key column-types (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) @@ -322,7 +324,9 @@ (defbinding %tree-model-get-value () nil (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) @@ -461,7 +465,9 @@ (defun tree-model-row-setter (model) (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) -- [mdw]