[mcclim-cvs] CVS update: mcclim/gadgets.lisp
Andy Hefner
ahefner at common-lisp.net
Mon Jan 31 06:09:58 UTC 2005
Update of /project/mcclim/cvsroot/mcclim
In directory common-lisp.net:/tmp/cvs-serv22327
Modified Files:
gadgets.lisp
Log Message:
Add standard-sheet-input-mixin to superclasses of generic-list-pane in
order to make it work within the popup menu of the option-pane in
unithreaded SBCL (and presumably other non-MP lisps). This feels like a
hack.
Date: Sun Jan 30 22:09:55 2005
Author: ahefner
Index: mcclim/gadgets.lisp
diff -u mcclim/gadgets.lisp:1.86 mcclim/gadgets.lisp:1.87
--- mcclim/gadgets.lisp:1.86 Sat Jan 1 21:25:38 2005
+++ mcclim/gadgets.lisp Sun Jan 30 22:09:55 2005
@@ -100,8 +100,6 @@
;; - the slider needs a total overhaul
-;; - OPTION-PANE needs an implmentation
-
;; - TEXT-FILED, TEXT-AREA dito
;; - GADGET-COLOR-MIXIN is currently kind of dangling, we should reuse
@@ -1984,6 +1982,7 @@
:documentation "A function to compare two items for equality.")))
(defclass generic-list-pane (list-pane meta-list-pane
+ standard-sheet-input-mixin ;; Hmm..
value-changed-repaint-mixin
mouse-wheel-scroll-mixin)
((highlight-ink :initform +royalblue4+
@@ -2405,22 +2404,25 @@
(multiple-value-bind (x0 y0 x1 y1)
(multiple-value-call #'values
(transform-position (sheet-delta-transformation parent nil) cx0 cy0)
- (transform-position (sheet-delta-transformation parent nil) cx1 cy1))
- (let* ((topmost-pane (if scroll-p
+ (transform-position (sheet-delta-transformation parent nil) cx1 cy1))
+ ;; Note: This :suggested-width/height business is really a silly hack
+ ;; which I could have easily worked around without adding kludges
+ ;; to the scroller-pane..
+ (let* ((topmost-pane (if scroll-p
;list-pane
(scrolling (:scroll-bar :vertical
:suggest-height height ;; Doesn't appear to be working..
:suggest-width (if scroll-p (+ 30 (bounding-rectangle-width list-pane))))
list-pane)
list-pane))
- (topmost-pane (outlining (:thickness 1) topmost-pane))
+ (topmost-pane (outlining (:thickness 1) topmost-pane))
(composed-height (space-requirement-height (compose-space topmost-pane :width (- x1 x0) :height height)))
- (menu-frame (make-menu-frame topmost-pane
- :min-width (bounding-rectangle-width parent)
- :left x0
- :top (if (eq position :below)
- y1
- (- y0 composed-height 1)))))
+ (menu-frame (make-menu-frame topmost-pane
+ :min-width (bounding-rectangle-width parent)
+ :left x0
+ :top (if (eq position :below)
+ y1
+ (- y0 composed-height 1)))))
(values list-pane topmost-pane menu-frame)))))))
(defun popup-list-box (parent)
More information about the Mcclim-cvs
mailing list