.
original commit: 206ed563df62a6b9d4f6543ad810303b846eab32
This commit is contained in:
parent
e3e27e61e7
commit
03f1ec366d
|
@ -241,15 +241,6 @@
|
||||||
"expected a list of numbers whose length is the number of children: ~a, got ~e"
|
"expected a list of numbers whose length is the number of children: ~a, got ~e"
|
||||||
(length (get-children))
|
(length (get-children))
|
||||||
ps))
|
ps))
|
||||||
(let ([available-extent (get-available-extent)])
|
|
||||||
(unless (andmap
|
|
||||||
(lambda (p child)
|
|
||||||
((* p available-extent) . >= . (min-extent child)))
|
|
||||||
ps
|
|
||||||
(get-children))
|
|
||||||
(error 'set-percentages
|
|
||||||
"the percentages would violate minimum size requirements of the children: ~e"
|
|
||||||
ps)))
|
|
||||||
(set! percentages (map make-percentage ps))
|
(set! percentages (map make-percentage ps))
|
||||||
(container-flow-modified))
|
(container-flow-modified))
|
||||||
|
|
||||||
|
@ -263,7 +254,7 @@
|
||||||
(inherit get-children)
|
(inherit get-children)
|
||||||
|
|
||||||
(define/private (update-percentages)
|
(define/private (update-percentages)
|
||||||
(let* ([len-children (length (get-children))])
|
(let ([len-children (length (get-children))])
|
||||||
(unless (= len-children (length percentages))
|
(unless (= len-children (length percentages))
|
||||||
(let ([rat (/ 1 len-children)])
|
(let ([rat (/ 1 len-children)])
|
||||||
(set! percentages (build-list len-children (lambda (i) (make-percentage rat)))))
|
(set! percentages (build-list len-children (lambda (i) (make-percentage rat)))))
|
||||||
|
@ -370,7 +361,38 @@
|
||||||
(loop (cdr percentages)
|
(loop (cdr percentages)
|
||||||
(cdr children)
|
(cdr children)
|
||||||
(cdr infos)
|
(cdr infos)
|
||||||
(+ dim this-space bar-thickness))))])))]))))
|
(+ dim this-space bar-thickness))))])))]))
|
||||||
|
|
||||||
|
(define/override (container-size children-info)
|
||||||
|
(update-percentages)
|
||||||
|
(let loop ([percentages percentages]
|
||||||
|
[children-info children-info]
|
||||||
|
[major-size 0]
|
||||||
|
[minor-size 0])
|
||||||
|
(cond
|
||||||
|
[(null? children-info)
|
||||||
|
(if (get-vertical?)
|
||||||
|
(values (ceiling minor-size) (ceiling major-size))
|
||||||
|
(values (ceiling major-size) (ceiling minor-size)))]
|
||||||
|
[(null? percentages)
|
||||||
|
(error 'panel.ss::dragable-panel "internal error.12")]
|
||||||
|
[else
|
||||||
|
(let ([child-info (car children-info)]
|
||||||
|
[percentage (car percentages)])
|
||||||
|
(let-values ([(child-major major-stretch? child-minor minor-stretch?)
|
||||||
|
(if (get-vertical?)
|
||||||
|
(values (list-ref child-info 1)
|
||||||
|
(list-ref child-info 3)
|
||||||
|
(list-ref child-info 0)
|
||||||
|
(list-ref child-info 2))
|
||||||
|
(values (list-ref child-info 0)
|
||||||
|
(list-ref child-info 2)
|
||||||
|
(list-ref child-info 1)
|
||||||
|
(list-ref child-info 3)))])
|
||||||
|
(loop (cdr percentages)
|
||||||
|
(cdr children-info)
|
||||||
|
(max (/ child-major (percentage-% percentage)) major-size)
|
||||||
|
(max child-minor minor-size))))])))))
|
||||||
|
|
||||||
(define three-bar-pen-bar-width 8)
|
(define three-bar-pen-bar-width 8)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user