Provided by: blt-dev_2.5.3+dfsg-7build1_amd64 bug

NAME

       htext - Create and manipulate hypertext widgets

SYNOPSIS

       htext pathName ?option value?...
_________________________________________________________________

DESCRIPTION

       The  htext command creates a new window (given by the pathName argument) and makes it into
       a htext widget.  Additional options, described above, may be specified on the command line
       or  in  the option database to configure aspects of the widget such as its color and font.
       At the time this command is invoked, there must not exist a  window  named  pathName,  but
       pathName's parent must exist.  The htext command returns its pathName.

       The  htext widget is hybrid of a non-editable text widget and a geometry manager (e.g. the
       packer).  It displays text (optionally read from file) in a window.  Text can be  scrolled
       either  horizontally or vertically using the htext window as a viewport.  In addition, Tcl
       commands can be embedded into the text which are evaluated as the text  is  parsed.   Text
       between  special  double  characters (percent signs "%%") is immediately passed to the Tcl
       interpreter for evaluation.

       Furthermore, any widget or widget hierarchy can be packed in-line and made  to  appear  on
       the  current  line  of  the text.  Widgets are packed using the htext append command.  All
       widgets must be children of the htext window and must already exist before packing.   Once
       a  widget  has  been  packed  it  cannot be moved to a different position within the text.
       Widgets can be resized but they will remain at the same position within the text.

       Before a file or text string is parsed by the  htext  widget,  all  the  widget's  current
       children  are destroyed.  You can reload files or text without worrying about unmapping or
       destroying each child window beforehand.

       Setting the either the -filename or -text configuration option will adjust  the  value  of
       the  other.   If both options are set, the file takes precedence.  When a new file is read
       using the -filename option, the value of the -text option is reset to  the  empty  string.
       Likewise,  when  the  -text option is set, the string representing the -filename option is
       cleared.

FILE FORMAT

       The format of htext text file is typically ASCII text.  Text enclosed  by  special  double
       characters  (by  default, percent signs '%%') is interpreted and executed as Tcl commands.
       The special character  may be specified by the  -specialchar  option.   In  the  following
       example  of  a htext file,  a button widget is appended to the text between  the words "a"
       and "which".  The pathName of the htext widget is ".ht".

              This will be displayed as normal text.
              But this will become a %%
                button .ht.button -text "button" -fg red
                .ht append .ht.button
              %% which can invoke a Tcl command.

INDICES

       Some of the widget operations (selection, gotoline, search, etc.) take one or more indices
       as  arguments.   An index is a string used to indicate a particular place within the text,
       such as the first and last characters in a range to be selected.

       An index must have one of the following forms:

       line.char   Indicates char'th character on line  line.   Both  lines  and  characters  are
                   number  from  0,  so  "0.0"  is  the first beginning of the text.  Char may be
                   undesignated.  In this case a character position of 0 is assumed.

       @x,y        Indicates the character that covers the pixel whose x and y coordinates within
                   the text's window are x and y.

       end         Indicates the end of the text.

       anchor      Indicates  the anchor point for the selection, which is set with the selection
                   operation.

       sel.first   Indicates the first character in the selection.  It is an error  to  use  this
                   form if the selection isn't in the entry window.

       sel.last    Indicates  the  character  just after the last one in the selection.  It is an │
                   error to use this form if the selection isn't in the entry window.

VARIABLES

       The following global Tcl variables are maintained when an htext file is parsed.

       htext(widget)
              is the pathname of the htext widget.

       htext(file)
              is the name of the file the htext widget is currently parsing.   It  is  the  empty
              string when the -text option is used.

       htext(line)
              is the current line number in the text.

       This  information  might  be  used to construct hyper links between different files and/or
       lines.

SYNTAX

       The htext command creates a new Tcl command whose name is pathName.  This command  may  be
       used  to  invoke  various  operations  on  the widget.  It has the following general form:
       pathName oper ?args?  Oper and args determine the exact behavior of the command.

OPERATIONS

       The following operations are available for htext widgets:

       pathName append window ?option value?...
              Embeds the widget window into the htext widget.  Window  is  the  pathname  of  the
              widget to be embedded which must be a child of pathName.  Window will be positioned
              in the htext widget at the current location of the text. If option and value  pairs
              are  present,  they  configure various aspects how window appears in pathName.  The
              following options are available.

              -anchor anchorPos
                     Specifies how window will be arranged if there is any  extra  space  in  the
                     cavity surrounding the window.  For example, if anchorPos is center then the
                     window is centered in the cavity; if anchorPos is w then the window will  be
                     drawn  such  it  touches  the  leftmost  edge  of the cavity. The default is
                     center.

              -fill style
                     Specifies how the window should be stretched to occupy the  extra  space  in
                     the  cavity  surrounding it (if any exists).  Style is none, x, y, both.  If
                     style is x, the width of window is expanded to fill the cavity.  If style is
                     y, the height is expanded.  The default is none.

              -height pixels
                     Sets  the  height  of the cavity surrounding window.  If pixels is zero, the
                     height of the cavity will be the same as the requested height of window.  If
                     pixels  is  less than the requested height of window, window will be reduced
                     to fit the cavity.  The default is 0.

              -ipadx pad
                     Sets the amount of internal padding to be added to the  width  window.   Pad
                     can be a list of one or two numbers.  If pad has two elements, the left side
                     of window is extended by the first value and the right side  by  the  second
                     value.   If  pad is just one value, both the left and right sides are padded
                     by evenly by the value.  The default is 0.

              -ipady pad
                     Sets an amount of internal padding to be added to the height of window.  Pad
                     can  be  a  list of one or two numbers.  If pad has two elements, the top of
                     window is padded by the first value and the bottom by the second value.   If
                     pad  is  just  one  number, both the top and bottom are padded evenly by the
                     value.  The default is 0.

              -justify justify
                     Justifies window vertically within the cavity containing it in  relation  to
                     the  line of text. Justify is top, bottom, or  center.  If justify is center
                     the widget is centered along the baseline of the line of text.  The  default
                     is center.

              -padx pad
                     Sets  the  padding on the left and right sides of window.  Pad can be a list
                     of one or two numbers.  If pad has two elements, the left side of window  is
                     padded  by  the  first value and the right side by the second value.  If pad
                     has just one value, both the left and right sides are padded evenly  by  the
                     value.  The default is 0.

              -pady pad
                     Sets  the  padding  above and below window.  Pad can be a list of one or two
                     numbers.  If pad has two elements, the area above window is  padded  by  the
                     first  value  and  the  area  below by the second value.  If pad is just one
                     number, both the top and bottom are padded by the value.  The default is 0.

              -relheight value
                     Specifies the height of the cavity containing window relative to the  height
                     of pathName.  Value is real number indicating the ratio of the height of the
                     cavity to the height of pathName.  As the height  of  pathName  changes,  so
                     will  the  height  of  window.   If  value is 0.0 or less, the height of the
                     cavity is the requested height window.  The default is 0.0.

              -relwidth value
                     Specifies the width of the cavity containing window relative to the width of
                     pathName.   Value  is  real  number indicating the ratio of the width of the
                     cavity to the width of IpathName.  As the height  of  pathName  changes,  so
                     will the height of window.  If value is 0.0 or less, the width of the cavity
                     is the requested width of window.   The default is 0.0.

              -width value
                     Species the width of the cavity containing the child window.  Value must  be
                     in  a  form  accepted  by  Tk_GetPixels.  If value is greater than zero, the
                     cavity is resized to that width.  If the requested window width  is  greater
                     than  the  cavity's width, the window will be reduced to fit the cavity.  By
                     default, the cavity is requested width of the child window.

       pathName configure ?window? ?option? ?value option value ...?
              Queries or modifies the configuration options of the text  widget  or  one  of  its
              embedded  widgets.   If  no  window argument is present, the htext widget itself is
              configured.  Otherwise window is the pathname of a widget already embedded into the
              htext widget.  Then this command configure the options for the embedded widget.

       If  option  isn't  specified, a list describing all of the current options for pathName or
       window is returned.  If option is specified, but not value, then  a  list  describing  the
       option  option is returned.  If one or more option and value pairs are specified, then for
       each pair, the htext or embedded window option option is set to value.

       The following options are valid for the htext widget.

              -background color
                     Sets the background of the htext widget to color.  This default is white.

              -cursor cursor
                     Specifies the cursor for the htext widget.  The default cursor is pencil.

              -filename fileName
                     Specifies a htext file to be displayed in the window.  If the value  is  the
                     empty string, the -text option is used instead.  See the section FILE FORMAT
                     for a description of the htext file format.

              -font fontName
                     Sets the font of the text in the htext widget to fontName.  The  default  is
                     *-Helvetica-Bold-R-Normal-*-12-120-*.

              -foreground color
                     Sets  the foreground of the htext widget to color.  This is the color of the
                     text.  This default is black.

              -height pixels
                     Specifies the height of the htext widget window.

              -linespacing pixels
                     Specifies the spacing between each line of text.  The value  must  be  in  a
                     form accepted by Tk_GetPixels. The default value is 1 pixel.

              -specialchar number
                     Specifies  the  ASCII  value of the special double character delimiters.  In
                     htext files, the text between these special characters  is  evaluated  as  a
                     block  of  Tcl commands. The default special character is the 0x25  (percent
                     sign).

              -text text
                     Specifies the text to be displayed in the htext widget.   Text  can  be  any
                     valid string of characters. See FILE FORMAT for a description.

              -xscrollcommand string
                     Specifies  the  prefix  for  a  command  used to communicate with horizontal
                     scrollbars.  When the view in the htext widget's window changes (or whenever
                     anything else occurs that could change the display in a scrollbar, such as a
                     change in the total size of the widget's contents), the widget invoke string
                     concatenated  by  two  numbers.  Each of the numbers is a fraction between 0
                     and 1, which indicates a position in the document.  If this  option  is  not
                     specified, then no command will be executed.

              -yscrollcommand string
                     Specifies  the  prefix  for  a  command  used  to  communicate with vertical
                     scrollbars.  When the view in the htext widget's window changes (or whenever
                     anything else occurs that could change the display in a scrollbar, such as a
                     change in the total size of the widget's contents), the widget invoke string
                     concatenated  by  two  numbers.  Each of the numbers is a fraction between 0
                     and 1, which indicates a position in the document.  If this  option  is  not
                     specified, then no command will be executed.

              -width pixels
                     Specifies  the  desired width of the viewport window.  If the pixels is less
                     than one, the window will grow to accommodate the widest line of text.

              -xscrollunits pixels
                     Specifies the horizontal scrolling distance. The default is 10 pixels.

              -yscrollunits pixels
                     Specifies the vertical scrolling distance. The default is 10 pixels.

       pathName gotoline ?index?
              Sets the top line of the text to index. Index must  be  a  valid  text  index  (the
              character  offset is ignored).  If an index isn't provided, the current line number
              is returned.

       pathName scan mark position
              Records position and the current view in the text window;  used in conjunction with
              later  scan dragto commands.  Position must be in the form "@x,y, where x and y are
              window coordinates.  Typically this command is associated with a mouse button press
              in the widget.  It returns an empty string.

       pathName scan dragto position
              Computes  the  difference  between position and the position registered in the last
              scan mark command for the widget.  The view is then adjusted up or down by 10 times
              the difference in coordinates.  This command is can be associated with mouse motion
              events to produce the effect of dragging the text at high speed through the window.
              Position  must  be  in  the  form  "@x,y, where x and y are window coordinates. The
              command returns an empty string.

       pathName search pattern ?from? ?to?
              Returns the number of the next line matching pattern.  Pattern is  a  string  which
              obeys  the  matching  rules  of Tcl_StringMatch.  From and to are text line numbers
              (inclusive) which bound the search.  If no match for pattern can be  found,  -1  is
              returned.

       pathName xview ?position?
              Moves the viewport horizontally to the new text x-coordinate position.  Position is
              the offset from the left side of the text to the current position and must be in  a
              form  accepted  by  Tk_GetPixels.  If  position  is  not  present, the current text
              position is returned.

       pathName yview ?position?
              Moves the viewport vertically to the new text y-coordinate position.   Position  is
              the  offset  from the top of the text to the current position and must be in a form
              accepted by Tk_GetPixels. If position is not present, the current text position  is
              returned.

BUGS

       Text with embedded tabs can be obscured by child windows when scrolled horizontally.

KEYWORDS

       hypertext, widget