;; 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.33 2008-02-27 21:48:53 espen Exp $
+;; $Id: gtktree.lisp,v 1.34 2008-04-11 20:53:32 espen Exp $
(in-package "GTK")
(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)))
(defmethod allocate-foreign ((reference tree-row-reference) &key model path)
(%tree-row-reference-new model path))
-(defbinding tree-row-reference-get-path () tree-path
+(defbinding tree-row-reference-get-path () (or null tree-path)
(reference tree-row-reference))
(defbinding (tree-row-reference-valid-p "gtk_tree_row_reference_valid") () boolean
(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)
(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
(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)