gtk, cocoa: fix auto-sizing of text `message%'s
original commit: 71df6ddc051414540ff4e80503b5b4f7aec78ee9
This commit is contained in:
parent
7210d6b63a
commit
ca0ee2dd53
|
@ -142,9 +142,15 @@
|
||||||
(cond
|
(cond
|
||||||
[(symbol? s) (void)]
|
[(symbol? s) (void)]
|
||||||
[(string? s)
|
[(string? s)
|
||||||
(let-values ([(mw mh) (get-window-text-extent s orig-font #t)])
|
(let ([m (mred->wx this)])
|
||||||
(super-min-width (+ dx mw))
|
(if (send m set-preferred-size)
|
||||||
(super-min-height (+ dy mh)))]
|
(let ([w (box 0)] [h (box 0)])
|
||||||
|
(send m get-size w h)
|
||||||
|
(super-min-width (unbox w))
|
||||||
|
(super-min-height (unbox h)))
|
||||||
|
(let-values ([(mw mh) (get-window-text-extent s orig-font #t)])
|
||||||
|
(super-min-width (+ dx mw))
|
||||||
|
(super-min-height (+ dy mh)))))]
|
||||||
[(s . is-a? . wx:bitmap%)
|
[(s . is-a? . wx:bitmap%)
|
||||||
(super-min-width (+ dx (send s get-width)))
|
(super-min-width (+ dx (send s get-width)))
|
||||||
(super-min-height (+ dy (send s get-height)))])))])
|
(super-min-height (+ dy (send s get-height)))])))])
|
||||||
|
|
|
@ -119,5 +119,9 @@
|
||||||
|
|
||||||
(define/override (gets-focus?) #f)
|
(define/override (gets-focus?) #f)
|
||||||
|
|
||||||
|
(define/public (set-preferred-size)
|
||||||
|
(tellv (get-cocoa) sizeToFit)
|
||||||
|
#t)
|
||||||
|
|
||||||
(def/public-unimplemented get-font))
|
(def/public-unimplemented get-font))
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
"item.rkt"
|
"item.rkt"
|
||||||
"utils.rkt"
|
"utils.rkt"
|
||||||
"types.rkt"
|
"types.rkt"
|
||||||
"pixbuf.rkt")
|
"pixbuf.rkt"
|
||||||
|
"window.rkt")
|
||||||
|
|
||||||
(provide
|
(provide
|
||||||
(protect-out message%
|
(protect-out message%
|
||||||
|
@ -83,4 +84,9 @@
|
||||||
(gtk_image_set_from_pixbuf (get-gtk) pixbuf)
|
(gtk_image_set_from_pixbuf (get-gtk) pixbuf)
|
||||||
(release-pixbuf pixbuf)))]))
|
(release-pixbuf pixbuf)))]))
|
||||||
|
|
||||||
|
(define/public (set-preferred-size)
|
||||||
|
(gtk_widget_set_size_request (get-gtk) -1 -1)
|
||||||
|
(set-auto-size)
|
||||||
|
#t)
|
||||||
|
|
||||||
(def/public-unimplemented get-font))
|
(def/public-unimplemented get-font))
|
||||||
|
|
|
@ -116,5 +116,7 @@
|
||||||
(set-size -11111 -11111 32 32)
|
(set-size -11111 -11111 32 32)
|
||||||
(auto-size font label 0 0 0 0))
|
(auto-size font label 0 0 0 0))
|
||||||
|
|
||||||
|
(define/public (set-preferred-size) #f)
|
||||||
|
|
||||||
(define/override (get-setimage-message)
|
(define/override (get-setimage-message)
|
||||||
STM_SETIMAGE)))
|
STM_SETIMAGE)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user