diff --git a/collects/embedded-gui/private/button-snip.ss b/collects/embedded-gui/private/button-snip.ss index 6bdc1abc..ac8f345f 100644 --- a/collects/embedded-gui/private/button-snip.ss +++ b/collects/embedded-gui/private/button-snip.ss @@ -98,7 +98,7 @@ (field [got-click? false] [inside? false]) - + (define/override (on-event dc x y editorx editory event) (case (send event get-event-type) [(left-down) @@ -115,7 +115,9 @@ (set! inside? false)] [else (void)])) - (super-make-object label))) + (super-make-object label) + (inherit set-style) + (set-style control-style))) ;; a toggle button that displays different images (define toggle-button-snip% diff --git a/collects/embedded-gui/private/embedded-message.ss b/collects/embedded-gui/private/embedded-message.ss index 530eb513..7da56c0e 100644 --- a/collects/embedded-gui/private/embedded-message.ss +++ b/collects/embedded-gui/private/embedded-message.ss @@ -6,12 +6,14 @@ "snip-wrapper.ss") (provide embedded-message%) - + (define embedded-message% (class snip-wrapper% (init label) (super-new - (snip (make-object string-snip% label))))) + (snip (let ([s (make-object string-snip% label)]) + (send s set-style control-style) + s))))) ) \ No newline at end of file diff --git a/collects/embedded-gui/private/fixed-width-label-snip.ss b/collects/embedded-gui/private/fixed-width-label-snip.ss index 187a62b3..14fd0be9 100644 --- a/collects/embedded-gui/private/fixed-width-label-snip.ss +++ b/collects/embedded-gui/private/fixed-width-label-snip.ss @@ -23,7 +23,7 @@ (right-inset 1) (bottom-inset 1)) - (field [font (make-object font% 10 'roman 'normal 'normal)]) + (field [font normal-control-font]) (unless (member label labels) (error 'fixed-width-label-snip diff --git a/collects/embedded-gui/private/snip-wrapper.ss b/collects/embedded-gui/private/snip-wrapper.ss index e23cf970..28a90c98 100644 --- a/collects/embedded-gui/private/snip-wrapper.ss +++ b/collects/embedded-gui/private/snip-wrapper.ss @@ -3,12 +3,22 @@ (require (lib "etc.ss") (lib "class.ss") + (lib "mred.ss" "mred") "interface.ss" (prefix sl: "snip-lib.ss") "dllist.ss") - (provide snip-wrapper%) - + (provide control-style + snip-wrapper%) + + (define control-style + (let ([delta (make-object style-delta%)]) + (send delta set-family 'system) + (send delta set-delta 'change-size (send normal-control-font get-point-size)) + (send the-style-list find-or-create-style + (send the-style-list basic-style) + delta))) + (define snip-wrapper% (class* dllist% (alignment<%>) (init-field parent snip) diff --git a/collects/embedded-gui/private/verthoriz-alignment.ss b/collects/embedded-gui/private/verthoriz-alignment.ss index 70400650..cd7f1e94 100644 --- a/collects/embedded-gui/private/verthoriz-alignment.ss +++ b/collects/embedded-gui/private/verthoriz-alignment.ss @@ -170,6 +170,6 @@ ;; makes a new default rect out of an alignment (define (build-rect item) (a:make-rect - (a:make-dim 0 (send item get-min-width) (send item stretchable-width)) - (a:make-dim 0 (send item get-min-height) (send item stretchable-height)))) + (a:make-dim 0 (max 0 (send item get-min-width)) (send item stretchable-width)) + (a:make-dim 0 (max 0 (send item get-min-height)) (send item stretchable-height)))) )