X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/995eb841c0c43cb35740619c5ae9c0bde939b18b..eba2d996724fcedbb6fc4b0e642d3a88b49bfb72:/gtk/gtktree.lisp diff --git a/gtk/gtktree.lisp b/gtk/gtktree.lisp index 244271e..6c30701 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.25 2006-10-17 15:27:52 espen Exp $ +;; $Id: gtktree.lisp,v 1.27 2007-05-10 20:20:05 espen Exp $ (in-package "GTK") @@ -75,8 +75,8 @@ ;;;; Cell Renderer -(defmethod compute-signal-function ((gobject cell-renderer-toggle) (signal (eql 'toggled)) function object) - (declare (ignore gobject signal function object)) +(defmethod compute-signal-function ((gobject cell-renderer-toggle) (signal (eql 'toggled)) function object args) + (declare (ignore gobject signal function object args)) (let ((function (call-next-method))) #'(lambda (object path) (funcall function object (ensure-tree-path path))))) @@ -354,6 +354,14 @@ ;;; Tree Model +(defgeneric tree-model-value (model row column)) +(defgeneric (setf tree-model-value) (value model row column)) +(defgeneric tree-model-row-data (model row)) +(defgeneric (setf tree-model-row-data) (data model row)) +(defgeneric tree-model-column-index (model column)) +(defgeneric tree-model-column-name (model index)) + + (defbinding %tree-row-reference-new () pointer (model tree-model) (path tree-path)) @@ -401,15 +409,11 @@ (column int) (gvalue gvalue)) -(defgeneric tree-model-value (model row column)) - (defmethod tree-model-value ((model tree-model) row column) (let ((index (tree-model-column-index model column))) (with-gvalue (gvalue) (%tree-model-get-value model (ensure-tree-iter model row) index gvalue)))) -(defgeneric tree-model-row-data (model row)) - (defmethod tree-model-row-data ((model tree-model) row) (coerce (loop @@ -489,7 +493,6 @@ (iter tree-iter) (new-order int)) - (defmethod tree-model-column-index ((model tree-model) column) (or (etypecase column @@ -502,10 +505,6 @@ (svref (user-data model 'column-names) index)) -(defgeneric (setf tree-model-value) (value model row column)) - -(defgeneric (setf tree-model-row-data) (data model row)) - (defmethod (setf tree-model-row-data) ((data list) (model tree-model) (iter tree-iter)) (loop for (column value) on data by #'cddr @@ -636,7 +635,7 @@ (values (if special-p (int-to-sort-order column) - (column-name sortable column)) + (tree-model-column-name sortable column)) order))) (defbinding (tree-sortable-set-sort-column