home *** CD-ROM | disk | FTP | other *** search
- # Copyright (c) 1990-1994 The Regents of the University of California.
- # Copyright (c) 1994-1996 Sun Microsystems, Inc.
- # See the file "license.terms" for information on usage and redistribution
- # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- #
- #
-
- =head1 NAME
-
- Tk::Message - Create and manipulate Message widgets
-
- =for category Tk Widget Classes
-
- =head1 SYNOPSIS
-
- I<$message> = I<$parent>-E<gt>B<Message>(?I<options>?);
-
- =head1 STANDARD OPTIONS
-
- B<-anchor> B<-font> B<-highlightthickness> B<-takefocus>
- B<-background> B<-foreground> B<-padx> B<-text>
- B<-borderwidth> B<-highlightbackground> B<-pady> B<-textvariable>
- B<-cursor> B<-highlightcolor> B<-relief> B<-width>
-
- See L<Tk::options> for details of the standard options.
-
- =head1 WIDGET-SPECIFIC OPTIONS
-
- =over 4
-
- =item Name: B<aspect>
-
- =item Class: B<Aspect>
-
- =item Switch: B<-aspect>
-
- Specifies a non-negative integer value indicating desired
- aspect ratio for the text. The aspect ratio is specified as
- 100*width/height. 100 means the text should
- be as wide as it is tall, 200 means the text should
- be twice as wide as it is tall, 50 means the text should
- be twice as tall as it is wide, and so on.
- Used to choose line length for text if B<width> option
- isn't specified.
- Defaults to 150.
-
- =item Name: B<justify>
-
- =item Class: B<Justify>
-
- =item Switch: B<-justify>
-
- Specifies how to justify lines of text.
- Must be one of B<left>, B<center>, or B<right>. Defaults
- to B<left>.
- This option works together with the B<anchor>, B<aspect>,
- B<padX>, B<padY>, and B<width> options to provide a variety
- of arrangements of the text within the window.
- The B<aspect> and B<width> options determine the amount of
- screen space needed to display the text.
- The B<anchor>, B<padX>, and B<padY> options determine where this
- rectangular area is displayed within the widget's window, and the
- B<justify> option determines how each line is displayed within that
- rectangular region.
- For example, suppose B<anchor> is B<e> and B<justify> is
- B<left>, and that the message window is much larger than needed
- for the text.
- The the text will displayed so that the left edges of all the lines
- line up and the right edge of the longest line is B<padX> from
- the right side of the window; the entire text block will be centered
- in the vertical span of the window.
-
- =item Name: B<width>
-
- =item Class: B<Width>
-
- =item Switch: B<-width>
-
- Specifies the length of lines in the window.
- The value may have any of the forms acceptable to B<Tk_GetPixels>.
- If this option has a value greater than zero then the B<aspect>
- option is ignored and the B<width> option determines the line
- length.
- If this option has a value less than or equal to zero, then
- the B<aspect> option determines the line length.
-
- =back
-
- =head1 DESCRIPTION
-
- The B<Message> method creates a new window (given by the
- $widget argument) and makes it into a message widget.
- Additional
- options, described above, may be specified on the command line
- or in the option database
- to configure aspects of the message such as its colors, font,
- text, and initial relief. The B<message> command returns its
- $widget argument. At the time this command is invoked,
- there must not exist a window named $widget, but
- $widget's parent must exist.
-
- A message is a widget that displays a textual string. A message
- widget has three special features. First, it breaks up
- its string into lines in order to produce a given aspect ratio
- for the window. The line breaks are chosen at word boundaries
- wherever possible (if not even a single word would fit on a
- line, then the word will be split across lines). Newline characters
- in the string will force line breaks; they can be used, for example,
- to leave blank lines in the display.
-
- The second feature of a message widget is justification. The text
- may be displayed left-justified (each line starts at the left side of
- the window), centered on a line-by-line basis, or right-justified
- (each line ends at the right side of the window).
-
- The third feature of a message widget is that it handles control
- characters and non-printing characters specially. Tab characters
- are replaced with enough blank space to line up on the next
- 8-character boundary. Newlines cause line breaks. Other control
- characters (ASCII code less than 0x20) and characters not defined
- in the font are displayed as a four-character sequence B<\x>I<hh> where
- I<hh> is the two-digit hexadecimal number corresponding to
- the character. In the unusual case where the font doesn't contain
- all of the characters in ``0123456789abcdef\x'' then control
- characters and undefined characters are not displayed at all.
-
- =head1 WIDGET METHODS
-
- The B<Message> method creates a widget object.
- This object supports the B<configure> and B<cget> methods
- described in L<Tk::options> which can be used to enquire and
- modify the options described above.
- The widget also inherits all the methods provided by the generic
- L<Tk::Widget|Tk::Widget> class.
-
- =head1 DEFAULT BINDINGS
-
- When a new message is created, it has no default event bindings:
- messages are intended for output purposes only.
-
- =head1 BUGS
-
- Tabs don't work very well with text that is centered or right-justified.
- The most common result is that the line is justified wrong.
-
- =head1 KEYWORDS
-
- message, widget
-
- =cut
-
-