;;;; Translation of dragndrop.py from the PyGTK 2.0 Tutorial
#+sbcl(require :gtk)
-#+cmu(asdf:oos 'asdf:load-op :gtk)
+#+(or cmu clisp)(asdf:oos 'asdf:load-op :gtk)
(defpackage "TESTDND"
(:use "COMMON-LISP" "GTK")
(defvar *target-type-text* 80)
(defvar *target-type-image* 81)
-(setq from-image
+(defvar from-image
(list
(make-instance 'target-entry :target "text/plain" :id *target-type-text*)
(make-instance 'target-entry :target "image/png" :id *target-type-image*)))
(defvar to-canvas
(make-instance 'target-entry :target "image/png" :id *target-type-image*))
-
-
(defun add-image (layout pixbuf xd yd)
(let ((button (make-instance 'button
:child (make-instance 'image :pixbuf pixbuf))))
((= target-type *target-type-text*)
(selection-data-set-text selection
#+cmu(ext:format-universal-time nil (get-universal-time) :style :rfc1123 :print-timezone nil)
- #+sbcl(sb-int:format-universal-time nil (get-universal-time) :style :abbreviated :print-timezone nil)))
+ #+sbcl(sb-int:format-universal-time nil (get-universal-time) :style :abbreviated :print-timezone nil)
+ #+clisp(os:string-time "%x %X")
+ #-(or cmu sbcl clisp)(format nil "~D" (get-universal-time))))
((= target-type *target-type-image*)
(selection-data-set-pixbuf selection pixbuf)))))
(drag-source-set button :button1 from-image :copy)
-
+
(with-slots (hadjustment vadjustment) layout
(layout-put layout button
(truncate (+ xd (adjustment-value hadjustment)))
(signal-connect button 'drag-data-received
#'(lambda (context x y selection target-type time)
(declare (ignore context x y time))
- (print 'her)
(when (= target-type *target-type-text*)
(setf
(button-label button)