;; Common Lisp bindings for GTK+ v2.x
-;; Copyright 2005 Espen S. Johnsen <espen@users.sf.net>
+;; Copyright 2005-2006 Espen S. Johnsen <espen@users.sf.net>
;;
;; Permission is hereby granted, free of charge, to any person obtaining
;; a copy of this software and associated documentation files (the
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gtkselection.lisp,v 1.4 2006-02-08 22:21:07 espen Exp $
+;; $Id: gtkselection.lisp,v 1.9 2006-04-26 12:30:30 espen Exp $
(in-package "GTK")
(defbinding %target-list-unref () nil
(location pointer))
-(defmethod reference-foreign ((class (eql (find-class 'target-list))) location)
- (declare (ignore class))
- (%target-list-ref location))
-
-(defmethod unreference-foreign ((class (eql (find-class 'target-list))) location)
- (declare (ignore class))
- (%target-list-unref location))
-
(defbinding %target-list-new () pointer
(targets (vector (inlined target-entry)))
((length targets) int))
-(defmethod initialize-instance ((target-list target-list) &key targets)
- (setf (foreign-location target-list) (%target-list-new targets))
- (call-next-method))
+(defmethod allocate-foreign ((target-list target-list) &key targets)
+ (%target-list-new targets))
(defbinding target-list-add (target-list target &optional flags info) nil
(target-list target-list)
(target-entry 1))
int))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(progn
(defbinding target-list-add-text-targets (target-list info &optional writable-p) nil
(target-list target-list)
boolean
(display gdk:display)
(widget widget)
- ((gdk:atom-intern selection) gdk:atom))
+ ((gdk:atom-intern selection) gdk:atom)
+ (time (unsigned 32)))
(defbinding selection-add-target () nil
(widget widget)
(defbinding selection-data-get-text () string
(selection-data selection-data))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(progn
(defbinding selection-data-set-pixbuf () boolean
(selection-data selection-data)
(targets (vector gdk:atom n-atoms))
(n-atoms int))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding selection-data-targets-include-image-p (selection-data &optional writable-p) boolean
(selection-data selection-data)
(writable-p boolean))
((gdk:atom-intern selection) gdk:atom))
-(defcallback %clipboard-get-func (nil (clipboard pointer)
- (selection-data selection-data)
- (info int)
- (user-data unsigned-int))
- (funcall (car (find-user-data user-data)) selection-data info))
+(define-callback %clipboard-get-callback nil
+ ((clipboard pointer) (selection-data selection-data)
+ (info int) (callback-ids unsigned-int))
+ (declare (ignore clipboard))
+ (funcall (car (find-user-data callback-ids)) selection-data info))
-(defcallback %clipboard-clear-func (nil (clipboard pointer)
- (user-data unsigned-int))
- (funcall (cdr (find-user-data user-data))))
+(define-callback %clipboard-clear-callback nil
+ ((clipboard pointer) (callback-ids unsigned-int))
+ (declare (ignore clipboard))
+ (funcall (cdr (find-user-data callback-ids))))
(defbinding clipboard-set-with-data (clipboard targets get-func clear-func) gobject
(clipboard clipboard)
(targets (vector (inlined target-entry)))
((length targets) unsigned-int)
- (%clipboard-get-func callback)
- (%clipboard-clear-func callback)
+ (%clipboard-get-callback callback)
+ (%clipboard-clear-callback callback)
((register-user-data (cons get-func clear-func)) unsigned-int))
(defbinding clipboard-clear () nil
(text string)
((length text) int))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-set-image () nil
(clipboard clipboard)
(pixbuf gdk:pixbuf))
(defun clipboard-set (clipboard object)
(etypecase object
(string (clipboard-set-text clipboard object))
- #+gtk2.6
+ #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(gdk:pixbuf (clipboard-set-image clipboard object))))
-(defcallback %clipboard-receive-func (nil (clipboard pointer)
- (selection-data selection-data)
- (user-data unsigned-int))
- (funcall (find-user-data user-data) selection-data))
+(define-callback-marshal %clipboard-receive-callback nil
+ ((:ignore clipboard) selection-data))
(defbinding clipboard-request-contents (clipboard target callback) nil
(clipboard clipboard)
((gdk:atom-intern target) gdk:atom)
- (%clipboard-receive-func callback)
+ (%clipboard-receive-callback callback)
((register-callback-function callback) unsigned-int))
-(defcallback %clipboard-text-receive-func (nil (clipboard pointer)
- (text (copy-of string))
- (user-data unsigned-int))
- (funcall (find-user-data user-data) text))
+(define-callback-marshal %clipboard-text-receive-callback nil
+ ((:ignore clipboard) (text string)))
+
(defbinding clipboard-request-text (clipboard callback) nil
(clipboard clipboard)
- (%clipboard-text-receive-func callback)
+ (%clipboard-text-receive-callback callback)
((register-callback-function callback) unsigned-int))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(progn
- (defcallback %clipboard-image-receive-func (nil (clipboard pointer)
- (image gdk:pixbuf)
- (user-data unsigned-int))
- (funcall (find-user-data user-data) image))
+ (define-callback-marshal %clipboard-image-receive-callback nil
+ ((:ignore clipboard) (image gdk:pixbuf)))
(defbinding clipboard-request-image (clipboard callback) nil
(clipboard clipboard)
- (%clipboard-image-receive-func callback)
+ (%clipboard-image-receive-callback callback)
((register-callback-function callback) unsigned-int)))
-(defcallback %clipboard-targets-receive-func
- (nil (clipboard pointer)
- (atoms (vector gdk:atom n-atoms))
- (n-atoms unsigned-int)
- (user-data unsigned-int))
- (funcall (find-user-data user-data) atoms))
+(define-callback %clipboard-targets-receive-callback nil
+ ((clipboard pointer) (atoms (vector gdk:atom n-atoms))
+ (n-atoms unsigned-int) (callback-id unsigned-int))
+ (declare (ignore clipboard))
+ (funcall (find-user-data callback-id) atoms))
(defbinding clipboard-request-targets (clipboard callback) nil
(clipboard clipboard)
- (%clipboard-targets-receive-func callback)
+ (%clipboard-targets-receive-callback callback)
((register-callback-function callback) unsigned-int))
(defbinding clipboard-wait-for-contents () selection-data
(defbinding clipboard-wait-for-text () string
(clipboard clipboard))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-wait-for-image () (referenced gdk:pixbuf)
(clipboard clipboard))
(defbinding clipboard-wait-is-text-available-p () boolean
(clipboard clipboard))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-wait-is-image-available-p () boolean
(clipboard clipboard))
(targets (vector gdk:atom n-targets) :out)
(n-targets unsigned-int :out))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-wait-is-target-available-p () boolean
(clipboard clipboard)
(target gdk:atom))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-set-can-store () nil
(clipboard clipboard)
(targets (vector gdk:atom))
((length targets) int))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-store () nil
(clipboard clipboard))
(widget widget)
(targets target-list))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(progn
(defbinding drag-dest-add-text-targets () nil
(widget widget))
(defbinding drag-source-get-target-list () target-list
(widget widget))
-#+gtk2.6
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(progn
(defbinding drag-source-add-text-targets () nil
(widget widget))