Files
ellipsis-msg/scribblings/ellipsis-msg.scrbl
2025-08-07 23:36:00 +02:00

47 lines
1.7 KiB
Racket

#lang scribble/manual
@(require
scribble/example
(for-label racket/gui
)
@(for-label ellipsis-msg))
@title[#:tag "ellipsis-msg"]{A message% with ellipsis (...) to the left or right}
@author[@author+email["Hans Dijkema" "hans@dijkewijk.nl"]]
@defmodule[ellipsis-msg]
This module provides a new class @racket[ellipsis-msg%] that will cut the label of with ellipsis (...) when it is too long
for the current width. The @racket[ellipsis] parameter tells where to put the ellipsis.
@defclass[ellipsis-msg% message% ()]{
An ellipis-msg will cut the label with ellipsis (...) if there's not enough room to hold it.
See also @racket[message%].
@defconstructor[([label (or/c label-string? (is-a?/c bitmap%)
(or/c 'app 'caution 'stop))]
[parent (or/c (is-a?/c frame%) (is-a?/c dialog%)
(is-a?/c panel%) (is-a?/c pane%))]
[ellipsis symbol? 'right]
[style (listof (or/c 'deleted)) null]
[font (is-a?/c font%) normal-control-font]
[color (or/c #f string? (is-a?/c color%)) #f]
[enabled any/c #t]
[vert-margin spacing-integer? 2]
[horiz-margin spacing-integer? 2]
[min-width (or/c dimension-integer? #f) #f]
[min-height (or/c dimension-integer? #f) #f]
[stretchable-width any/c #f]
[stretchable-height any/c #f]
[auto-resize any/c #f])]{
Creates the ellipsis-msg% with the given ellipsis parameter.
}
@defmethod*[#:mode override ([(set-label (label string?) [resize boolean? #f]) void?])]{
Sets the message label. If resize = #t, the label will be resized (if auto-resize = #t)
}
}