[gtk-cffi-cvs] CVS gtk-cffi/gtk
CVS User rklochkov
rklochkov at common-lisp.net
Mon Dec 24 16:32:05 UTC 2012
Update of /project/gtk-cffi/cvsroot/gtk-cffi/gtk
In directory tiger.common-lisp.net:/tmp/cvs-serv3527/gtk
Modified Files:
combo-box.lisp container.lisp generics.lisp gtk-cffi.asd
package.lisp selections.lisp tree-selection.lisp
tree-view.lisp widget.lisp
Added Files:
drag-drop.lisp
Log Message:
Reloading after CVS was broken
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/combo-box.lisp 2012/10/07 12:02:11 1.6
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/combo-box.lisp 2012/12/24 16:32:05 1.7
@@ -12,6 +12,7 @@
(defmethod gconstructor ((combo-box combo-box)
&key model area entry &allow-other-keys)
+ (initialize combo-box '(model area entry))
(cond
(model
(if entry
@@ -26,13 +27,6 @@
(gtk-combo-box-new-with-entry)
(gtk-combo-box-new)))))
-
-;; separate declaration to avoid auto-adding to initargs
-(defcfun gtk-combo-box-set-model :void (combo-box pobject) (model pobject))
-(defgeneric (setf model) (tree-model combo-box)
- (:method (tree-model (combo-box combo-box))
- (gtk-combo-box-set-model combo-box tree-model) tree-model))
-
(defslots combo-box
wrap-width :int
row-span-column :int
@@ -44,10 +38,10 @@
focus-on-click :boolean
button-sensitivity sensitivity-type
entry-text-column :int
+ model pobject
popup-fixed-width :boolean)
(deffuns combo-box
- (:get model pobject)
(:get active-id :string)
(popup-for-device :void (device pobject))
(popup :void)
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/container.lisp 2012/10/07 12:02:11 1.6
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/container.lisp 2012/12/24 16:32:05 1.7
@@ -31,11 +31,14 @@
`(pack ,box ,@(ensure-cons widget)))
widgets)))
-(defmethod (setf kids) (kids (container container))
- (mapc (lambda (x) (setf (kid container) x)) kids))
+(defgeneric (setf kids) (kids container)
+ (:documentation "Pack kids to container")
+ (:method (kids (container container))
+ (mapc (lambda (x) (setf (kid container) x)) kids)))
-(defmethod (setf kid) (kid (container container))
- (pack container kid))
+(defgeneric (setf kid) (kid container)
+ (:method (kid (container container))
+ (pack container kid)))
(defmethod initialize-instance
:after ((container container)
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/generics.lisp 2012/10/07 12:02:11 1.5
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/generics.lisp 2012/12/24 16:32:05 1.6
@@ -4,5 +4,8 @@
(defgeneric text (widget &key)) ;; entry, label, text-buffer
(defgeneric (setf text) (value widget &key))
(defgeneric layout-offsets (object)) ;; entry, label, scale
+(defgeneric (setf model) (model object)) ;; combo-box, list-store,
+ ;; tree-model-filter
+
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/gtk-cffi.asd 2012/10/07 12:02:11 1.29
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/gtk-cffi.asd 2012/12/24 16:32:05 1.30
@@ -45,7 +45,10 @@
(:file invisible :depends-on (widget))
(:file actionable :depends-on (widget))
(:file activatable :depends-on (widget))
- (:file switch :depends-on (actionable activatable))))
+ (:file switch :depends-on (actionable activatable))
+ (:file drag-drop :depends-on (widget))
+ (:file selections :depends-on (drag-drop))))
+
(defsystem gtk-cffi-misc
:description "Interface to GTK/Glib via CFFI"
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/package.lisp 2012/10/07 12:02:11 1.30
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/package.lisp 2012/12/24 16:32:05 1.31
@@ -600,6 +600,7 @@
;; tree-view slots
#:model
#:search-column
+ #:expander-column
#:level-indentation
#:selection
#:hover-expand
@@ -612,13 +613,10 @@
;; tree-view methods
#:append-column
#:insert-column
- #:get-selection
+ #:selection
#:path-at-pos
- #:with-path-at-pos
- #:%path
#:column
- #:get-cursor
- #:with-get-cursor-path
+ #:cursor
#:remove-column
#:tree-view-column
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/selections.lisp 2012/01/28 13:44:45 1.1
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/selections.lisp 2012/12/24 16:32:05 1.2
@@ -3,4 +3,7 @@
(defclass target-list (object)
())
-
+(defcstruct* target-entry
+ (target :string)
+ (flags :uint)
+ (info :uint))
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/tree-selection.lisp 2012/12/15 14:33:10 1.5
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/tree-selection.lisp 2012/12/24 16:32:05 1.6
@@ -60,25 +60,29 @@
(mem-ref p 'pobject)))))
-(defcfun gtk-tree-selection-selected-foreach :void
- (selection pobject) (func pfunction) (data pdata))
-
-(defvar *tree-selection-foreach* nil)
-
-(defcallback cb-tree-selection-foreach :boolean
- ((model pobject) (path tree-path :free-from-foreign nil)
- (tree-iter (struct tree-iter)) (data pdata))
- (when *tree-selection-foreach*
- (funcall *tree-selection-foreach* model path tree-iter data)))
-
-(defmethod foreach ((tree-selection tree-selection)
- func &optional (data (null-pointer)))
- (when func
- (let ((*tree-selection-foreach* func))
- (gtk-tree-selection-selected-foreach
- tree-selection (if (functionp func)
- (callback cb-tree-selection-foreach) func)
- data))))
+(make-foreach (tree-selection gtk-tree-selection-selected-foreach)
+ (model pobject) (path tree-path :free-from-foreign nil)
+ (tree-iter (struct tree-iter)) (data pdata))
+
+;; (defcfun gtk-tree-selection-selected-foreach :void
+;; (selection pobject) (func pfunction) (data pdata))
+
+;; (defvar *tree-selection-foreach* nil)
+
+;; (defcallback cb-tree-selection-foreach :boolean
+;; ((model pobject) (path tree-path :free-from-foreign nil)
+;; (tree-iter (struct tree-iter)) (data pdata))
+;; (when *tree-selection-foreach*
+;; (funcall *tree-selection-foreach* model path tree-iter data)))
+
+;; (defmethod foreach ((tree-selection tree-selection)
+;; func &optional (data (null-pointer)))
+;; (when func
+;; (let ((*tree-selection-foreach* func))
+;; (gtk-tree-selection-selected-foreach
+;; tree-selection (if (functionp func)
+;; (callback cb-tree-selection-foreach) func)
+;; data))))
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/tree-view.lisp 2012/12/15 14:33:11 1.5
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/tree-view.lisp 2012/12/24 16:32:05 1.6
@@ -1,3 +1,11 @@
+;;; GtkTreeView
+;;;
+;;; (foreach tree-view ...) = gtk-tree-view-map-expanded-rows
+;;; (path-at-pos ... :is-blank t) = gtk-tree-view-is-blank-at-pos
+;;; (convert-bin-window-to-widget tree-view x y) -> (list wx wy) =
+;;; gtk-tree-view-convert-bin-window-to-widget-coords
+;;; (convert-{smth} ...) = gtk-tree-view-convert-{smth}-coords
+
(in-package :gtk-cffi)
(defclass tree-view (container)
@@ -28,7 +36,8 @@
hover-expand :boolean
rubber-banding :boolean
search-column :int
- expander-column pobject)
+ expander-column pobject
+ reorderable :boolean)
(deffuns tree-view
@@ -40,14 +49,29 @@
(:get column pobject (n :int))
(:get n-columns :int)
(move-column-after :void (column pobject) (base-column pobject))
- (scroll-to-point :void (x :int) (y :int)))
+ (scroll-to-point :void (x :int) (y :int))
+ (row-activated :void (path tree-path) (comumn pobject))
+ (expand-all :void)
+ (collapse-all :void)
+ (expand-to-path :void (path tree-path))
+ (expand-row :void (path tree-path) (open-all :boolean))
+ (collapse-row :void (path tree-path))
+ (row-expanded :boolean (path tree-path))
+ (:get bin-window pobject))
+
+
+
(defcfun gtk-tree-view-scroll-to-cell :void
- (tree-view pobject) (path ptree-path) (column pobject) (use-align :boolean) (row-align :float) (col-align :float))
+ (tree-view pobject) (path ptree-path) (column pobject) (use-align :boolean)
+ (row-align :float) (col-align :float))
(defgeneric scroll-to-cell (tree-view path column &key row-align col-align)
- (:method ((tree-view tree-view) path column &key (row-align 0.0 row-align-p) (col-align 0.0 col-align-p))
- (gtk-tree-view-scroll-to-cell tree-view path column (or row-align-p col-align-p) row-align col-align)))
+ (:method ((tree-view tree-view) path column
+ &key (row-align 0.0 row-align-p) (col-align 0.0 col-align-p))
+ (gtk-tree-view-scroll-to-cell tree-view path column
+ (or row-align-p col-align-p)
+ row-align col-align)))
(defmethod (setf columns) (columns (tree-view tree-view))
@@ -73,18 +97,38 @@
(x :int) (y :int) (path :pointer) (column :pointer)
(cell-x :pointer) (cell-y :pointer))
-(defmethod path-at-pos ((tree-view tree-view) x y)
- (with-foreign-outs-list
- ((path 'tree-path) (column 'pobject)
- (cell-x :int) (cell-y :int)) :if-success
- (gtk-tree-view-get-path-at-pos tree-view x y path column cell-x cell-y)))
+(defgeneric path-at-pos (tree-view x y)
+ (:method ((tree-view tree-view) x y)
+ (with-foreign-outs-list
+ ((path 'tree-path) (column 'pobject)
+ (cell-x :int) (cell-y :int)) :if-success
+ (gtk-tree-view-get-path-at-pos tree-view x y path column cell-x cell-y))))
(defcfun gtk-tree-view-get-cursor :void (view pobject)
(path :pointer) (column :pointer))
-(defmethod get-cursor ((tree-view tree-view))
- (with-foreign-outs-list ((path 'tree-path) (column 'pobject)) :ignore
- (gtk-tree-view-get-cursor tree-view path column)))
+(defgeneric cursor (tree-view)
+ (:method ((tree-view tree-view))
+ (with-foreign-outs-list ((path 'tree-path) (column 'pobject)) :ignore
+ (gtk-tree-view-get-cursor tree-view path column))))
+
+(defcfun gtk-tree-view-set-cursor :void
+ (tree-view pobject) (path tree-path) (focus-column pobject)
+ (start-editing :boolean))
+
+(defcfun gtk-tree-view-set-cursor-on-cell :void
+ (tree-view pobject) (path tree-path) (focus-column pobject)
+ (focus-cell pobject) (start-editing :boolean))
+
+(defgeneric (setf cursor) (path+column tree-view &key start-editing cell)
+ (:method (path+column (tree-view tree-view) &key start-editing cell)
+ (destructuring-bind (path column) path+column
+ (if cell
+ (gtk-tree-view-set-cursor-on-cell tree-view path column
+ cell start-editing)
+ (gtk-tree-view-set-cursor tree-view path column start-editing)))
+ path+column))
+
(defcfun gtk-tree-view-insert-column-with-data-func :int
(tree-view pobject) (position :int) (title :string) (cell pobject)
@@ -100,15 +144,99 @@
(tree-view pobject) (func pfunction) (user-data pdata) (destroy pfunction))
(defcallback cb-column-drop-function :boolean
- ((tree-view pobject) (column pobject) (prev-column pobject) (next-column pobject) (data pdata))
+ ((tree-view pobject) (column pobject) (prev-column pobject)
+ (next-column pobject) (data pdata))
(funcall data tree-view column prev-column next-column))
-(defgeneric (setf column-drag-function) (func tree-view &key data destroy-notify)
+(defgeneric (setf column-drag-function) (func tree-view
+ &key data destroy-notify)
(:documentation "gtk_tree_view_set_column_drag_function")
(:method (func (tree-view tree-view) &key data destroy-notify)
(set-callback tree-view gtk-tree-view-set-column-drag-function
cb-column-drop-function func data destroy-notify)))
-
+
+(make-foreach (tree-view gtk-tree-view-map-expanded-rows)
+ (path ptree-path) (data pdata))
+
+(defcfun gtk-tree-view-is-blank-at-pos :boolean
+ (tree-view pobject) (x :int) (y :int)
+ (path :pointer) (column :pointer) (cell-x :pointer) (cell-y :pointer))
+
+(defcfun gtk-tree-view-path-at-pos :boolean
+ (tree-view pobject) (x :int) (y :int)
+ (path :pointer) (column :pointer) (cell-x :pointer) (cell-y :pointer))
+
+(defgeneric path-at-pos (tree-view x y &key is-blank)
+ (:documentation "if is-blank gtk-tree-view-is-blank-at-pos called, else
+gtk-tree-view-path-at-pos")
+ (:method ((tree-view tree-view) x y &key is-blank)
+ (with-foreign-outs ((path 'tree-path) (column 'pobject)
+ (cell-x :int) (cell-y :int)) :return
+ (funcall (if is-blank #'gtk-tree-view-is-blank-at-pos
+ #'gtk-tree-view-get-path-at-pos)
+ tree-view x y path column cell-x cell-y))))
+
+(macrolet ((get-area (area-type)
+ (let ((cname (symbolicate 'gtk-tree-view-get- area-type '-area))
+ (lname (symbolicate area-type '-area)))
+ `(progn
+ (defcfun ,cname :void
+ (tree-view pobject) (path tree-path) (column pobject)
+ (rect (struct rectangle :out t)))
+ (defgeneric ,lname
+ (tree-view path column)
+ (:method ((tree-view tree-view) path column)
+ (let ((res (make-instance 'rectangle)))
+ (,cname tree-view path column res)
+ res)))))))
+ (get-area background)
+ (get-area cell))
+
+(defcfun gtk-tree-view-get-visible-rect :void
+ (tree-view pobject) (visible-rect (struct rectangle :out t)))
+
+(defgeneric visible-rect (tree-view)
+ (:method ((tree-view tree-view))
+ (let ((res (make-instance 'rectangle)))
+ (gtk-tree-view-get-visible-rect tree-view res)
+ res)))
+
+(defcfun gtk-tree-view-get-visible-range :void
+ (tree-view pobject) (start-path :pointer) (end-path :pointer))
+
+(defgeneric visible-range (tree-view)
+ (:method ((tree-view tree-view))
+ (with-foreign-outs-list ((start-path 'tree-path) (end-path 'tree-path))
+ :ignore
+ (gtk-tree-view-get-visible-range tree-view start-path end-path))))
+
+(macrolet ((def-coords (from to)
+ (flet ((name-coord (sym1 sym2)
+ (symbolicate (aref (symbol-name sym1) 0) sym2)))
+ (let ((cfun (symbolicate 'gtk-tree-view-convert- from
+ '-to- to '-coords))
+ (lfun (symbolicate 'convert- from '-to- to))
+ (from-x (name-coord from 'x))
+ (from-y (name-coord from 'y))
+ (to-x (name-coord to 'x))
+ (to-y (name-coord to 'y)))
+ `(progn
+ (defcfun ,cfun :void
+ (tree-view pobject)
+ (,from-x :int) (,from-y :int)
+ (,to-x :pointer) (,to-y :pointer))
+ (defgeneric ,lfun (tree-view x y)
+ (:method ((tree-view tree-view) x y)
+ (with-foreign-outs-list ((,to-x :int) (,to-y :int))
+ :ignore
+ (,cfun tree-view x y ,to-x ,to-y)))))))))
+ (def-coords bin-window tree)
+ (def-coords bin-window widget)
+ (def-coords tree bin-window)
+ (def-coords tree widget)
+ (def-coords widget bin-window)
+ (def-coords widget tree))
+
(init-slots tree-view (on-select)
(when on-select
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/widget.lisp 2012/10/07 12:02:11 1.17
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/widget.lisp 2012/12/24 16:32:05 1.18
@@ -169,9 +169,9 @@
(accel-mods modifier-type))
(list-accel-closures g-list)
(can-activate-accel :boolean (signal-id :uint))
- ((widget-event . event) :boolean (event event))
- (send-expose :int (event event))
- (send-focus-change :boolean (event event))
+ ((widget-event . event) :boolean (event (:pointer (:union event))))
+ (send-expose :int (event (:pointer (:union event))))
+ (send-focus-change :boolean (event (:pointer (:union event))))
(reparent :void (new-parent pobject))
(is-focus :boolean)
(grab-focus :void)
@@ -245,10 +245,11 @@
(defcfun gtk-widget-get-allocation :void
(widget pobject) (allocation (struct allocation :out t)))
-(defmethod allocation ((widget widget))
- (let ((res (make-instance 'allocation)))
- (gtk-widget-get-allocation widget res)
- res))
+(defgeneric allocation (widget)
+ (:method ((widget widget))
+ (let ((res (make-instance 'allocation)))
+ (gtk-widget-get-allocation widget res)
+ res)))
(setf (documentation 'clipboard 'function)
"SELECTION should be :PRIMARY or :CLIPOARD")
@@ -279,11 +280,10 @@
(context :pointer) (gdk-window pobject))
(defgeneric cairo-should-draw-window (window &optional context)
- (:documentation "WINDOW may be GdkWindow or GtkWidget"))
-(defmethod cairo-should-draw-window (window
- &optional (context cl-cairo2:*context*))
- (cl-cairo2::with-context-pointer (context cntx-pointer)
- (gtk-cairo-should-draw-window cntx-pointer window)))
+ (:documentation "WINDOW may be GdkWindow or GtkWidget")
+ (:method (window &optional (context cl-cairo2:*context*))
+ (cl-cairo2::with-context-pointer (context cntx-pointer)
+ (gtk-cairo-should-draw-window cntx-pointer window))))
(defmethod cairo-should-draw-window ((widget widget)
&optional (context cl-cairo2:*context*))
@@ -306,42 +306,42 @@
(defcfun gtk-widget-unset-state-flags :void
(widget pobject) (flags state-flags))
-(defgeneric (setf state-flags) (value widget &key type))
-(defmethod (setf state-flags) (value (widget widget) &key type)
- "If TYPE = :SET, only set bits, :UNSET -- unset bits,
+(defgeneric (setf state-flags) (value widget &key type)
+ (:method (value (widget widget) &key type)
+ "If TYPE = :SET, only set bits, :UNSET -- unset bits,
otherwise set state = VALUE"
- (case type
- (:set (gtk-widget-set-state-flags widget value nil))
- (:unset (gtk-widget-unset-state-flags widget value))
- (t (gtk-widget-set-state-flags widget value t))))
+ (case type
+ (:set (gtk-widget-set-state-flags widget value nil))
+ (:unset (gtk-widget-unset-state-flags widget value))
+ (t (gtk-widget-set-state-flags widget value t)))))
(defcfun gtk-widget-get-preferred-height :void
(widget pobject) (minimum :pointer) (natural :pointer))
(defcfun gtk-widget-get-preferred-height-for-width :void
(widget pobject) (width :int) (minimum :pointer) (natural :pointer))
-(defgeneric preferred-height (widget &key for-width))
-(defmethod preferred-height ((widget widget) &key for-width)
- "Returns (values minimum natural)"
- (with-foreign-outs ((minimum :int) (natural :int)) :ignore
- (if for-width
- (gtk-widget-get-preferred-height-for-width widget
- for-width minimum natural)
- (gtk-widget-get-preferred-height widget minimum natural))))
+(defgeneric preferred-height (widget &key for-width)
+ (:method ((widget widget) &key for-width)
+ "Returns (values minimum natural)"
+ (with-foreign-outs ((minimum :int) (natural :int)) :ignore
+ (if for-width
+ (gtk-widget-get-preferred-height-for-width widget
+ for-width minimum natural)
+ (gtk-widget-get-preferred-height widget minimum natural)))))
(defcfun gtk-widget-get-preferred-width :void
(widget pobject) (minimum :pointer) (natural :pointer))
(defcfun gtk-widget-get-preferred-width-for-height :void
(widget pobject) (height :int) (minimum :pointer) (natural :pointer))
-(defgeneric preferred-width (widget &key for-height))
-(defmethod preferred-width ((widget widget) &key for-height)
- "Returns (values minimum natural)"
- (with-foreign-outs ((minimum :int) (natural :int)) :ignore
- (if for-height
- (gtk-widget-get-preferred-width-for-height widget
- for-height minimum natural)
- (gtk-widget-get-preferred-width widget minimum natural))))
+(defgeneric preferred-width (widget &key for-height)
+ (:method ((widget widget) &key for-height)
+ "Returns (values minimum natural)"
+ (with-foreign-outs ((minimum :int) (natural :int)) :ignore
+ (if for-height
+ (gtk-widget-get-preferred-width-for-height widget
+ for-height minimum natural)
+ (gtk-widget-get-preferred-width widget minimum natural)))))
(defcenum size-request-mode
:height-for-width :width-for-height)
@@ -349,40 +349,43 @@
(defgtkgetter request-mode size-request-mode widget)
(defcfun gtk-widget-get-preferred-size :void
- (widget pobject) (minimum :pointer) (natural :pointer))
+ (widget pobject)
+ (minimum (struct requisition :out t))
+ (natural (struct requisition :out t)))
(defgeneric preferred-size (widget)
(:method ((widget widget))
"Returns (values minimum natural).
Minimum and natural are requisition objects."
- (with-foreign-outs ((minimum 'requisition) (natural 'requisition))
- :ignore
- (gtk-widget-get-preferred-size widget minimum natural))))
+ (let ((minimum (make-instance 'requisition))
+ (natural (make-instance 'requisition)))
+ (gtk-widget-get-preferred-size widget minimum natural)
+ (values minimum natural))))
-(defcstruct requested-size
+(defcstruct* requested-size
"GtkRequestedSize"
(data pobject)
(minimum-size :int)
(natural-size :int))
(defcfun gtk-distribute-natural-allocation :int
- (extra-space :int) (n-requested-sizes :int) (sizes :pointer))
+ (extra-space :int) (n-requested-sizes :int)
+ (sizes (carray (struct requested-size))))
(defun distribute-natural-allocation (extra-space sizes)
"EXTRA-SPACE -- integer, extra space to redistribute among children.
SIZES -- {(widget minimum-size natural-size)}*"
- (let ((length (length sizes)))
- (let ((sizes-struct (foreign-alloc 'requested-size :count length)))
- (iter
- (for i from 0 below length)
- (for x in sizes)
- (let ((el (mem-aref sizes-struct 'requested-size i)))
- (with-foreign-slots ((data minimum-size natural-size)
- el requested-size)
- (setf data (first x)
- minimum-size (second x)
- natural-size (third x)))))
- (gtk-distribute-natural-allocation extra-space length sizes-struct))))
+ (let ((sizes-struct
+ (mapcar (lambda (size)
+ (destructuring-bind (widget minimum-size natural-size) size
+ (let ((res (make-instance 'requested-size)))
+ (setf (data res) widget
+ (minimum-size res) minimum-size
+ (natural-size res) natural-size)
+ res)))
+ sizes)))
+ (gtk-distribute-natural-allocation extra-space (length sizes)
+ sizes-struct)))
(template (name with-type) ((color t)
(font nil)
--- /project/gtk-cffi/cvsroot/gtk-cffi/gtk/drag-drop.lisp 2012/12/24 16:32:06 NONE
+++ /project/gtk-cffi/cvsroot/gtk-cffi/gtk/drag-drop.lisp 2012/12/24 16:32:06 1.1
(in-package :gtk-cffi)
(defbitfield dest-defaults :motion :highlight :drop (:all #x7))
(defcfun gtk-drag-dest-set :void (widget pobject)
(targets (carray (struct target-entry))) (n-targets :int) (action drag-action))
(defun drag-dest-set (widget targets action)
(gtk-drag-dest-set widget targets (length targets) action))
More information about the gtk-cffi-cvs
mailing list