[mcclim-cvs] CVS mcclim

ahefner ahefner at common-lisp.net
Sun Nov 9 19:58:26 UTC 2008


Update of /project/mcclim/cvsroot/mcclim
In directory cl-net:/tmp/cvs-serv11274

Modified Files:
	panes.lisp graph-formatting.lisp table-formatting.lisp 
Log Message:
Fit space requirements to output history bounding rectangle automatically
after redisplay and drawing of graphs/tables.



--- /project/mcclim/cvsroot/mcclim/panes.lisp	2008/08/21 22:34:29	1.191
+++ /project/mcclim/cvsroot/mcclim/panes.lisp	2008/11/09 19:58:26	1.192
@@ -27,7 +27,7 @@
 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ;;; Boston, MA  02111-1307  USA.
 
-;;; $Id: panes.lisp,v 1.191 2008/08/21 22:34:29 ahefner Exp $
+;;; $Id: panes.lisp,v 1.192 2008/11/09 19:58:26 ahefner Exp $
 
 (in-package :clim-internals)
 
@@ -2472,7 +2472,8 @@
 				 (pane pane-display-mixin)
 				 &key force-p)
   (declare (ignore force-p))
-  (invoke-display-function frame pane))
+  (invoke-display-function frame pane)
+  (fit-pane-to-output pane))
 
 (defgeneric pane-double-buffering (pane))
 
@@ -2965,3 +2966,15 @@
   (warn "Are you sure you want to use schedule-timer-event? It probably doesn't work.")
   (schedule-event pane (make-instance 'timer-event :token token :sheet pane) delay))
 
+(defgeneric fit-pane-to-output (pane)
+  (:method (pane) (declare (ignore pane))))
+
+(defmethod fit-pane-to-output ((stream clim-stream-pane))
+  (when (sheet-mirror stream)
+    (let* ((output (stream-output-history stream))
+           (width  (bounding-rectangle-max-x  output))
+           (height (bounding-rectangle-max-y output)))
+      (change-space-requirements stream
+                                 :min-width width :min-height height
+                                 ;;:max-width width :max-height height
+                                 :width width :height height))))
\ No newline at end of file
--- /project/mcclim/cvsroot/mcclim/graph-formatting.lisp	2007/09/17 19:20:49	1.22
+++ /project/mcclim/cvsroot/mcclim/graph-formatting.lisp	2008/11/09 19:58:26	1.23
@@ -3,7 +3,7 @@
 ;;;     Title: Graph Formatting
 ;;;   Created: 2002-08-13
 ;;;   License: LGPL (See file COPYING for details).
-;;;       $Id: graph-formatting.lisp,v 1.22 2007/09/17 19:20:49 crhodes Exp $
+;;;       $Id: graph-formatting.lisp,v 1.23 2008/11/09 19:58:26 ahefner Exp $
 ;;; ---------------------------------------------------------------------------
 
 ;;;  (c) copyright 2002 by Gilbert Baumann
@@ -188,6 +188,7 @@
 	  (setf (stream-cursor-position stream)
 	    (values (bounding-rectangle-max-x graph-output-record)
 		    (bounding-rectangle-max-y graph-output-record))))
+        (fit-pane-to-output stream)
 	graph-output-record))))
 
 ;;;; Graph Output Records
--- /project/mcclim/cvsroot/mcclim/table-formatting.lisp	2007/07/21 14:17:15	1.40
+++ /project/mcclim/cvsroot/mcclim/table-formatting.lisp	2008/11/09 19:58:26	1.41
@@ -336,7 +336,8 @@
 		(values (bounding-rectangle-max-x table)
 			(bounding-rectangle-max-y table)))
 	  (setf (stream-cursor-position stream)
-		(values cursor-old-x cursor-old-y))))))
+		(values cursor-old-x cursor-old-y)))))
+  (fit-pane-to-output stream))
 
 ;;; Think about rewriting this using a common superclass for row and
 ;;; column records.





More information about the Mcclim-cvs mailing list