X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.tree-model.lisp;fp=gtk%2Fgtk.tree-model.lisp;h=6b630d8475a9d8b0e0e845272329ea0a267268ac;hb=3aac876ec530d646852acfd28ed60de0b50a3371;hp=edbcbd1e0370286948e9919d0550ab0eb33b92d2;hpb=af886197900531403efbc67c8a40b686ec6a9ba6;p=cl-gtk2.git diff --git a/gtk/gtk.tree-model.lisp b/gtk/gtk.tree-model.lisp index edbcbd1..6b630d8 100644 --- a/gtk/gtk.tree-model.lisp +++ b/gtk/gtk.tree-model.lisp @@ -134,6 +134,8 @@ ; TODO: GtkTreeModelFilter +(register-object-type-implementation "LispArrayListStore" array-list-store "GObject" ("GtkTreeModel") nil) + (defclass array-list-store (tree-model) ((items :initform (make-array 0 :adjustable t :fill-pointer t) :reader store-items) (columns-getters :initform (make-array 0 :adjustable t :fill-pointer t) :reader store-getters) @@ -143,8 +145,6 @@ (export 'array-list-store) -(register-object-type-implementation "LispArrayListStore" array-list-store "GObject" ("GtkTreeModel") nil) - (defun store-items-count (store) (length (store-items store))) @@ -445,6 +445,8 @@ (item nil) (children (make-array 0 :element-type 'tree-node :adjustable t :fill-pointer t))) +(register-object-type-implementation "LispTreeStore" tree-lisp-store "GObject" ("GtkTreeModel") nil) + (defclass tree-lisp-store (tree-model) ((columns-getters :initform (make-array 0 :adjustable t :fill-pointer t) :reader tree-lisp-store-getters) (columns-types :initform (make-array 0 :adjustable t :fill-pointer t) :reader tree-lisp-store-types) @@ -457,8 +459,6 @@ (defmethod initialize-instance :after ((object tree-lisp-store) &key &allow-other-keys) (setf (tree-node-tree (tree-lisp-store-root object)) object)) -(register-object-type-implementation "LispTreeStore" tree-lisp-store "GObject" ("GtkTreeModel") nil) - (defun map-subtree (node fn) (funcall fn node) (iter (for child in-vector (tree-node-children node))