[mcclim-cvs] CVS mcclim/Drei
thenriksen
thenriksen at common-lisp.net
Wed Jan 30 07:31:36 UTC 2008
Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv2479/Drei
Modified Files:
drei.lisp packages.lisp views.lisp
Log Message:
Added generic function clear-redisplay-information.
--- /project/mcclim/cvsroot/mcclim/Drei/drei.lisp 2008/01/28 16:53:21 1.33
+++ /project/mcclim/cvsroot/mcclim/Drei/drei.lisp 2008/01/30 07:31:33 1.34
@@ -369,7 +369,10 @@
(dolist (cursor (cursors drei))
(when (output-record-parent cursor)
(delete-output-record cursor (output-record-parent cursor) nil)))
- (add-view-cursors drei))
+ (add-view-cursors drei)
+ ;; Finally make sure it doesn't remember anything from a potential
+ ;; traumatic past.
+ (clear-redisplay-information new-val))
(defmethod esa-current-buffer ((drei drei))
(buffer (view drei)))
--- /project/mcclim/cvsroot/mcclim/Drei/packages.lisp 2008/01/24 15:45:33 1.47
+++ /project/mcclim/cvsroot/mcclim/Drei/packages.lisp 2008/01/30 07:31:33 1.48
@@ -237,6 +237,7 @@
#:use-editor-commands-p
#:synchronize-view
#:create-view-cursors
+ #:clear-redisplay-information
#:clone-view
#:make-syntax-for-view
--- /project/mcclim/cvsroot/mcclim/Drei/views.lisp 2008/01/29 23:34:36 1.30
+++ /project/mcclim/cvsroot/mcclim/Drei/views.lisp 2008/01/30 07:31:34 1.31
@@ -485,6 +485,11 @@
(call-next-method)))
(:method-combination nconc))
+(defgeneric clear-redisplay-information (view)
+ (:documentation "Clear any redisplay information `view' may
+retain, so that a full redisplay will be performed the next time
+it is redisplayed."))
+
(defgeneric clone-view (view &rest initargs)
(:documentation "Clone the view object `view'. `Initargs' can
be used to supply different values to the initargs of the
@@ -584,9 +589,6 @@
(defmethod (setf syntax) :after (new-value (view drei-buffer-view))
(invalidate-all-strokes view :modified t))
-(defmethod (setf view) :after ((view drei-buffer-view) (object drei))
- (invalidate-all-strokes view))
-
(defmethod cache-string :around ((view drei-buffer-view))
(let ((string (call-next-method)))
(setf (fill-pointer string) 0)
@@ -596,6 +598,9 @@
"Return true if `view' is a `drei-buffer-view'."
(typep view 'drei-buffer-view))
+(defmethod clear-redisplay-information ((view drei-buffer-view))
+ (invalidate-all-strokes view))
+
(defun overlaps (x1 x2 y1 y2)
"Return true if the x1/x2 region overlaps with y1/y2."
(or (<= x1 y1 x2)
More information about the Mcclim-cvs
mailing list