[mcclim-cvs] CVS mcclim

thenriksen thenriksen at common-lisp.net
Sat Oct 28 16:44:13 UTC 2006


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

Modified Files:
	panes.lisp 
Log Message:
Add nasty hack and change :end-of-line-action for interactor panes.


--- /project/mcclim/cvsroot/mcclim/panes.lisp	2006/10/16 23:53:52	1.171
+++ /project/mcclim/cvsroot/mcclim/panes.lisp	2006/10/28 16:44:13	1.172
@@ -27,7 +27,7 @@
 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ;;; Boston, MA  02111-1307  USA.
 
-;;; $Id: panes.lisp,v 1.171 2006/10/16 23:53:52 thenriksen Exp $
+;;; $Id: panes.lisp,v 1.172 2006/10/28 16:44:13 thenriksen Exp $
 
 (in-package :clim-internals)
 
@@ -1862,15 +1862,19 @@
     (destructuring-bind (horizontal-scroll vertical-scroll)
         (mapcar #'- (multiple-value-list
                      (transform-position (sheet-transformation child) 0 0)))
-      (scroll-extent child
-                     (if (> (+ horizontal-scroll viewport-width)
-                            child-width)
-                         (max 0 (- child-width viewport-width))
-                         horizontal-scroll)
-                     (if (> (+ vertical-scroll viewport-height)
-                            child-width)
-                         (max 0 (- child-height viewport-height))
-                         vertical-scroll)))))
+      ;; XXX: We cannot use `scroll-extent', because McCLIM ignores it
+      ;; unless the scrollee happens to be drawing. Very weird, should
+      ;; be fixed.
+      (move-sheet child
+                  (round (- (if (> (+ horizontal-scroll viewport-width)
+                                   child-width)
+                                (- child-width viewport-width)
+                                horizontal-scroll)))
+                  (round (- (if (> (+ vertical-scroll viewport-height)
+                                   child-width)
+                                (- child-height viewport-height)
+                                vertical-scroll))))
+      (scroller-pane/update-scroll-bars (sheet-parent pane)))))
 
 ;;;;
 ;;;; SCROLLER PANE
@@ -2607,6 +2611,7 @@
 (defclass interactor-pane (clim-stream-pane)
   ()
   (:default-initargs :display-time nil
+                     :end-of-line-action :scroll
                      :scroll-bars :vertical))
 
 (defmethod initialize-instance :after ((pane interactor-pane) &rest args)




More information about the Mcclim-cvs mailing list