;; 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.10 2007-12-12 15:10:04 espen Exp $
+;; $Id: gtkselection.lisp,v 1.15 2008-04-11 18:38:56 espen Exp $
(in-package "GTK")
(target-list target-list)
((gdk:atom-intern target) gdk:atom)
(flags target-flags)
- (info unsigned-int))
+ ((or info 0) unsigned-int))
(defbinding target-list-add-table (target-list targets) nil
(target-list target-list)
#?(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
+ (defbinding target-list-add-text-targets (target-list &optional info writable-p) nil
(target-list target-list)
- (info unsigned-int)
+ ((or info 0) unsigned-int)
(writable-p boolean))
- (defbinding target-list-add-image-targets (target-list info &optional writable-p) nil
+ (defbinding target-list-add-image-targets (target-list &optional info writable-p) nil
(target-list target-list)
- (info unsigned-int)
+ ((or info 0) unsigned-int)
(writable-p boolean))
- (defbinding target-list-add-uri-targets (target-list info &optional writable-p) nil
+ (defbinding target-list-add-uri-targets (target-list &optional info writable-p) nil
(target-list target-list)
- (info unsigned-int)
+ ((or info 0) unsigned-int)
(writable-p boolean)))
(defbinding target-list-remove (target-list target) nil
(multiple-value-bind (valid-p targets)
(%selection-data-get-targets selection-data)
(when valid-p
- (map-into targets #'gdk:atom-name targets))))
+ (map 'vector #'gdk:atom-name targets))))
#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding selection-data-targets-include-image-p (selection-data &optional writable-p) boolean
(declare (ignore clipboard))
(funcall (cdr (find-user-data callback-ids))))
-(defbinding %clipboard-set-with-data (clipboard targets get-func clear-func) boolean
+;; Deprecated, use clipboard-set-contents
+(defbinding clipboard-set-with-data (clipboard targets get-func clear-func) boolean
(clipboard clipboard)
(targets (vector (inlined target-entry)))
((length targets) unsigned-int)
(%clipboard-clear-callback callback)
((register-user-data (cons get-func clear-func)) unsigned-int))
-(defun clipboard-set-with-data (clipboard targets get-func &optional clear-func)
- (%clipboard-set-with-data clipboard (ensure-target-table targets)
+(defun clipboard-set-contents (clipboard targets get-func &optional clear-func)
+ (clipboard-set-with-data clipboard (ensure-target-table targets)
get-func (or clear-func #'(lambda ()))))
(defbinding clipboard-clear () nil
(clipboard clipboard)
(pixbuf gdk:pixbuf))
-(defun clipboard-set (clipboard object)
- (etypecase object
- (string (clipboard-set-text clipboard object))
- #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
- (gdk:pixbuf (clipboard-set-image clipboard object))))
+(defgeneric clipboard-set (clipboard object))
+
+(defmethod clipboard-set ((clipboard clipboard) (text string))
+ (clipboard-set-text clipboard text))
+
+#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
+(defmethod clipboard-set ((clipboard clipboard) (image gdk:pixbuf))
+ (clipboard-set-image clipboard image))
(define-callback-marshal %clipboard-receive-callback nil
((:ignore clipboard) selection-data))
((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) (map-into atoms #'gdk:atom-name atoms)))
+ (funcall (find-user-data callback-id) (map 'vector #'gdk:atom-name atoms)))
(defbinding clipboard-request-targets (clipboard callback) nil
(clipboard clipboard)
(multiple-value-bind (valid-p targets)
(%clipboard-wait-for-targets clipboard)
(when valid-p
- (map-into targets #'gdk:atom-name targets))))
+ (map 'vector #'gdk:atom-name targets))))
#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(defbinding clipboard-wait-is-target-available-p (clipboard target) boolean
(defbinding %drag-source-set-icon-stock () nil
(widget widget)
- (pixbuf gdk:pixbuf))
+ (stock-id string))
(defun drag-source-set-icon (widget icon)
(etypecase icon