[mcclim-cvs] CVS update: mcclim/panes.lisp
Gilbert Baumann
gbaumann at common-lisp.net
Tue Nov 29 10:42:00 UTC 2005
Update of /project/mcclim/cvsroot/mcclim
In directory common-lisp.net:/tmp/cvs-serv26678
Modified Files:
panes.lisp
Log Message:
SCROLLER-PANE
The SCROLL-BAR initarg now also takes NIL.
Date: Tue Nov 29 11:41:59 2005
Author: gbaumann
Index: mcclim/panes.lisp
diff -u mcclim/panes.lisp:1.160 mcclim/panes.lisp:1.161
--- mcclim/panes.lisp:1.160 Mon Nov 28 16:24:37 2005
+++ mcclim/panes.lisp Tue Nov 29 11:41:59 2005
@@ -27,7 +27,7 @@
;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;;; Boston, MA 02111-1307 USA.
-;;; $Id: panes.lisp,v 1.160 2005/11/28 15:24:37 gbaumann Exp $
+;;; $Id: panes.lisp,v 1.161 2005/11/29 10:41:59 gbaumann Exp $
(in-package :clim-internals)
@@ -1824,10 +1824,23 @@
(defparameter *scrollbar-thickness* 17)
(defclass scroller-pane (composite-pane)
- ((scroll-bar :type (member t :vertical :horizontal)
- :initform t
- :initarg :scroll-bar
- :accessor scroller-pane-scroll-bar)
+ ((scroll-bar :type (member t :vertical :horizontal nil)
+ ;; ### Note: I added NIL here, so that the application
+ ;; programmer can switch off scroll bars alltogether.
+ ;; The spec though has it neither in the description of
+ ;; SCROLLER-PANE, nor in the description of
+ ;; MAKE-CLIM-STREAM-PANE, but in OPEN-WINDOW-STREAM.
+ ;;
+ ;; One might argue that in case of no scroll-bars the
+ ;; application programmer can just skip the scroller
+ ;; pane altogether. But I think that the then needed
+ ;; special casing on having a scroller pane or a bare
+ ;; viewport at hand is an extra burden, that can be
+ ;; avoided.
+ ;; --GB 2005-11-29
+ :initform t
+ :initarg :scroll-bar
+ :accessor scroller-pane-scroll-bar)
(viewport :initform nil)
(vscrollbar :initform nil)
(hscrollbar :initform nil)
@@ -1983,7 +1996,7 @@
(sheet-adopt-child pane (first contents))
(with-slots (scroll-bar viewport vscrollbar hscrollbar) pane
(setq viewport (first (sheet-children pane)))
- (when (not (eq scroll-bar :horizontal))
+ (when (member scroll-bar '(:vertical t))
(setq vscrollbar
(make-pane 'scroll-bar-pane
:orientation :vertical
@@ -2009,7 +2022,7 @@
:min-value 0
:max-value 1))
(sheet-adopt-child pane vscrollbar))
- (when (not (eq scroll-bar :vertical))
+ (when (member scroll-bar '(:horizontal t))
(setq hscrollbar
(make-pane 'scroll-bar-pane
:orientation :horizontal
More information about the Mcclim-cvs
mailing list