original commit: 6f0ce41175bc48f0db17688c1bcf300e2dccd4b5
This commit is contained in:
Robby Findler 2002-11-26 17:39:25 +00:00
parent c7c0431bb4
commit 619dd4c842
2 changed files with 39 additions and 1 deletions

View File

@ -13,6 +13,19 @@
(provide/contract/docs
(gui-utils:trim-string
(string?
(and/f number? positive?)
. ->d .
(lambda (str size)
(and/f string?
(lambda (str)
((string-length str) . <= . size)))))
(str size)
"Constructs a string whose size is less"
"than \\var{size} by trimming the \\var{str}"
"and inserting an ellispses into it.")
(gui-utils:cancel-on-right?
(-> boolean?)
()
@ -220,6 +233,30 @@
"@flink gui-utils:get-clicked-clickback-delta %"
"."))
(define (trim-string str size)
(let ([str-size (string-length str)])
(cond
[(<= str-size size)
str]
[else
(let* ([between "..."]
[pre-length (- (quotient size 2)
(quotient (string-length between) 2))]
[post-length (- size
pre-length
(string-length between))])
(cond
[(or (<= pre-length 0)
(<= post-length 0))
(substring str 0 size)]
[else
(string-append
(substring str 0 pre-length)
between
(substring str
(- str-size post-length)
str-size))]))])))
;; selected-text-color : color
(define selected-text-color (send the-color-database find-color "black"))
@ -438,6 +475,7 @@
[else mb-res]))))
;; manual renaming
(define gui-utils:trim-string trim-string)
(define gui-utils:next-untitled-name next-untitled-name)
(define gui-utils:show-busy-cursor show-busy-cursor)
(define gui-utils:delay-action delay-action)

View File

@ -226,7 +226,7 @@
(let ([filename (car recent-list-item)])
(instantiate menu-item% ()
(parent menu)
(label filename)
(label (gui-utils:trim-string filename 200))
(callback (lambda (x y) (open-recent-list-item recent-list-item))))))
recently-opened-files)))