[mcclim-cvs] CVS mcclim/Drei

thenriksen thenriksen at common-lisp.net
Wed Jan 30 15:56:42 UTC 2008


Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv27422/Drei

Modified Files:
	drei-clim.lisp 
Log Message:
Clear the cursor whenever it is disabled.


--- /project/mcclim/cvsroot/mcclim/Drei/drei-clim.lisp	2008/01/30 11:48:40	1.36
+++ /project/mcclim/cvsroot/mcclim/Drei/drei-clim.lisp	2008/01/30 15:56:42	1.37
@@ -100,12 +100,13 @@
   (declare (ignore initargs))
   (stream-add-output-record (output-stream object) object))
 
-(defmethod active ((cursor drei-cursor))
-  "Whether the cursor is active or
+(defgeneric active (cursor)
+  (:documentation "Whether the cursor is active or
 not. An active cursor is drawn using the active ink, and an
 inactive is drawn using the inactive ink. Typically, a cursor
-will be active when the associated Drei view has focus."
-  (active (view cursor)))
+will be active when the associated Drei view has focus.")
+  (:method ((cursor drei-cursor))
+    (active (view cursor))))
 
 (defgeneric ink (cursor)
   (:documentation "Return the ink object that should be used for
@@ -116,6 +117,9 @@
       (active-ink cursor)
       (inactive-ink cursor)))
 
+(defmethod (setf enabled) :after ((new-val null) (cursor drei-cursor))
+  (clear-output-record cursor))
+
 (defclass point-cursor (drei-cursor)
   ()
   (:default-initargs
@@ -141,7 +145,7 @@
   (mark (view cursor)))
 
 (defmethod enabled ((cursor mark-cursor))
-  *show-mark*)
+  (and (call-next-method) *show-mark*))
 
 (defgeneric visible-1 (cursor view)
   (:documentation "Is `cursor', associated with `view', visible?




More information about the Mcclim-cvs mailing list