summaryrefslogtreecommitdiff
path: root/blt/html/htext.html
diff options
context:
space:
mode:
Diffstat (limited to 'blt/html/htext.html')
-rw-r--r--blt/html/htext.html397
1 files changed, 397 insertions, 0 deletions
diff --git a/blt/html/htext.html b/blt/html/htext.html
new file mode 100644
index 00000000000..67cc43905f4
--- /dev/null
+++ b/blt/html/htext.html
@@ -0,0 +1,397 @@
+ <!-- manual page source format generated by PolyglotMan v3.0.8+XFree86, -->
+<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
+
+<HTML>
+<HEAD>
+<TITLE>htext(n) manual page</TITLE>
+</HEAD>
+<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">
+<A HREF="#toc">Table of Contents</A><P>
+
+<H2><A NAME="sect0" HREF="#toc0">Name</A></H2>
+htext - Create and manipulate hypertext widgets
+
+<H2><A NAME="sect1" HREF="#toc1">Synopsis</A></H2>
+<B>htext</B> <I>pathName </I>?<I>option value</I>?...
+<H2><A NAME="sect2" HREF="#toc2">Description</A></H2>
+<P>
+The <B>htext</B> command creates
+a new window (given by the <I>pathName</I> argument) and makes it into a <B>htext</B>
+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 <I>pathName</I>, but <I>pathName</I>'s parent must exist. The
+<B>htext</B> command returns its <I>pathName</I>. <P>
+The <B>htext</B> 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 <B>htext</B> 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. <P>
+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 <B>htext append</B> command. All
+widgets must be children of the <B>htext</B> 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. <P>
+Before a file or text string is parsed
+by the <B>htext</B> 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. <P>
+Setting the either the <B>-filename</B> or <B>-text</B> 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 <B>-filename</B> option,
+the value of the <B>-text</B> option is reset to the empty string. Likewise, when
+the <B>-text</B> option is set, the string representing the <B>-filename</B> option is
+cleared.
+<H2><A NAME="sect3" HREF="#toc3">File Format</A></H2>
+The format of <B>htext</B> 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 <B>-specialchar</B> option. In the following example of
+a <B>htext</B> file, a button widget is appended to the text between the words
+"<I>a</I>" and "<I>which</I>". The <I>pathName</I> of the <B>htext</B> widget is "<I>.ht</I>". <BR>
+<CODE><I>This will be displayed as normal text. <BR>
+</I>But this will become a %% <BR>
+ button .ht.button -text "button" -fg red<BR>
+ .ht append .ht.button <BR>
+%% which can invoke a Tcl command.<BR>
+<P>
+
+<H2><A NAME="sect4" HREF="#toc4"></CODE><P>Indices</A></H2>
+<P>
+Some of the widget operations (<B>selection</B>, gotoline, <B>search</B>, 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. <P>
+An index must have one of the following forms:
+
+<DL>
+
+<DT><I>line<B>.<I>char</I></B></I> </DT>
+<DD>Indicates <I>char</I>'th character on line <I>line</I>. Both lines and characters
+are number from 0, so "0.0" is the first beginning of the text. <I>Char</I> may
+be undesignated. In this case a character position of 0 is assumed. </DD>
+
+<DT><B>@<I>x<B>,<I>y</I></B></I></B>
+</DT>
+<DD>Indicates the character that covers the pixel whose x and y coordinates
+within the text's window are <I>x</I> and <I>y</I>. </DD>
+
+<DT><B>end</B> </DT>
+<DD>Indicates the end of the text. </DD>
+
+<DT><B>anchor</B>
+</DT>
+<DD>Indicates the anchor point for the selection, which is set with the <B>selection</B>
+operation. </DD>
+
+<DT><B>sel.first</B> </DT>
+<DD>Indicates the first character in the selection. It is
+an error to use this form if the selection isn't in the entry window. </DD>
+
+<DT><B>sel.last</B>
+</DT>
+<DD>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. </DD>
+</DL>
+
+<H2><A NAME="sect5" HREF="#toc5">Variables</A></H2>
+<P>
+The
+following global Tcl variables are maintained when an <B>htext</B> file is parsed.
+
+<DL>
+
+<DT><B>htext(widget)</B> </DT>
+<DD>is the pathname of the <B>htext</B> widget. </DD>
+
+<DT><B>htext(file)</B> </DT>
+<DD>is the
+name of the file the <B>htext</B> widget is currently parsing. It is the empty
+string when the <B>-text</B> option is used. </DD>
+
+<DT><B><A HREF="htext.l.html">htext(line)</B></A>
+ </DT>
+<DD>is the current line number
+in the text. </DD>
+</DL>
+<P>
+This information might be used to construct hyper links
+between different files and/or lines. <P>
+
+<H2><A NAME="sect6" HREF="#toc6">Syntax</A></H2>
+The <B>htext</B> command creates a
+new Tcl command whose name is <I>pathName</I>. This command may be used to invoke
+various operations on the widget. It has the following general form: <BR>
+<P>
+<CODE><I>pathName oper </I>?<I>args</I>?<BR>
+</CODE><P><I>Oper</I> and <I>args</I> determine the exact behavior of the command. <P>
+
+<H2><A NAME="sect7" HREF="#toc7">Operations</A></H2>
+The
+following operations are available for <B>htext</B> widgets:
+<DL>
+
+<DT><I>pathName <B>append <I>window
+</I></B></I>?<I>option value</I>?... </DT>
+<DD>Embeds the widget <I>window</I> into the htext widget. <I>Window</I>
+is the pathname of the widget to be embedded which must be a child of <I>pathName</I>.
+ <I>Window</I> will be positioned in the htext widget at the current location
+of the text. If <I>option</I> and <I>value</I> pairs are present, they configure various
+aspects how <I>window</I> appears in <I>pathName</I>. The following options are available.
+<blockquote></DD>
+
+<DT><B>-anchor <I>anchorPos</I></B> </DT>
+<DD>Specifies how <I>window</I> will be arranged if there is any
+extra space in the cavity surrounding the window. For example, if <I>anchorPos</I>
+is <B>center</B> then the window is centered in the cavity; if <I>anchorPos</I> is <B>w</B>
+then the window will be drawn such it touches the leftmost edge of the
+cavity. The default is <I>center</I>. </DD>
+
+<DT><B>-fill <I>style</I></B> </DT>
+<DD>Specifies how the <I>window</I> should
+be stretched to occupy the extra space in the cavity surrounding it (if
+any exists). <I>Style</I> is <I>none</I>, <I>x</I>, <I>y</I>, <I>both</I>. If <I>style</I> is <I>x</I>, the width of <I>window</I>
+is expanded to fill the cavity. If <I>style</I> is <B>y</B>, the height is expanded.
+The default is <I>none</I>. </DD>
+
+<DT><B>-height <I>pixels</I></B> </DT>
+<DD>Sets the height of the cavity surrounding
+<I>window</I>. If <I>pixels</I> is zero, the height of the cavity will be the same as
+the requested height of <I>window</I>. If <I>pixels</I> is less than the requested height
+of <I>window</I>, <I>window</I> will be reduced to fit the cavity. The default is <I>0</I>. </DD>
+
+<DT><B>-ipadx
+<I>pad</I></B> </DT>
+<DD>Sets the amount of internal padding to be added to the width <I>window</I>.
+ <I>Pad</I> can be a list of one or two numbers. If <I>pad</I> has two elements, the
+left side of <I>window</I> is extended by the first value and the right side by
+the second value. If <I>pad</I> is just one value, both the left and right sides
+are padded by evenly by the value. The default is <I>0</I>. </DD>
+
+<DT><B>-ipady <I>pad</I></B> </DT>
+<DD>Sets an amount
+of internal padding to be added to the height of <I>window</I>. <I>Pad</I> can be a list
+of one or two numbers. If <I>pad</I> has two elements, the top of <I>window</I> is padded
+by the first value and the bottom by the second value. If <I>pad</I> is just one
+number, both the top and bottom are padded evenly by the value. The default
+is <I>0</I>. </DD>
+
+<DT><B>-justify <I>justify</I></B> </DT>
+<DD>Justifies <I>window</I> vertically within the cavity containing
+it in relation to the line of text. <I>Justify</I> is <B>top</B>, <B>bottom</B>, or <B>center</B>.
+ If <I>justify</I> is <I>center</I> the widget is centered along the baseline of the
+line of text. The default is <I>center</I>. </DD>
+
+<DT><B>-padx <I>pad</I></B> </DT>
+<DD>Sets the padding on the left
+and right sides of <I>window</I>. <I>Pad</I> can be a list of one or two numbers. If <I>pad</I>
+has two elements, the left side of <I>window</I> is padded by the first value
+and the right side by the second value. If <I>pad</I> has just one value, both
+the left and right sides are padded evenly by the value. The default is
+<I>0</I>. </DD>
+
+<DT><B>-pady <I>pad</I></B> </DT>
+<DD>Sets the padding above and below <I>window</I>. <I>Pad</I> can be a list of
+one or two numbers. If <I>pad</I> has two elements, the area above <I>window</I> is padded
+by the first value and the area below by the second value. If <I>pad</I> is just
+one number, both the top and bottom are padded by the value. The default
+is <I>0</I>. </DD>
+
+<DT><B>-relheight <I>value</I></B> </DT>
+<DD>Specifies the height of the cavity containing <I>window</I>
+relative to the height of <I>pathName</I>. <I>Value</I> is real number indicating the
+ratio of the height of the cavity to the height of <I>pathName</I>. As the height
+of <I>pathName</I> changes, so will the height of <I>window</I>. If <I>value</I> is 0.0 or less,
+the height of the cavity is the requested height <I>window</I>. The default is
+<I>0.0</I>. </DD>
+
+<DT><B>-relwidth <I>value</I></B> </DT>
+<DD>Specifies the width of the cavity containing <I>window</I> relative
+to the width of <I>pathName</I>. <I>Value</I> is real number indicating the ratio of
+the width of the cavity to the width of IpathName. As the height of <I>pathName</I>
+changes, so will the height of <I>window</I>. If <I>value</I> is 0.0 or less, the width
+of the cavity is the requested width of <I>window</I>. The default is <I>0.0</I>. </DD>
+
+<DT><B>-width
+<I>value</I></B> </DT>
+<DD>Species the width of the cavity containing the child window. <I>Value</I>
+must be in a form accepted by <B>Tk_GetPixels</B>. If <I>value</I> 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. </DD>
+</DL>
+</blockquote>
+
+<DL>
+
+<DT><I>pathName
+<B>configure</B></I> ?<I>window</I>? ?<I>option</I>? ?<I>value option value ...</I>? </DT>
+<DD>Queries or modifies the
+configuration options of the text widget or one of its embedded widgets.
+ If no <I>window</I> argument is present, the htext widget itself is configured.
+ Otherwise <I>window</I> is the pathname of a widget already embedded into the
+htext widget. Then this command configure the options for the embedded widget.
+</DD>
+</DL>
+<P>
+If <I>option</I> isn't specified, a list describing all of the current options
+for <I>pathName</I> or <I>window</I> is returned. If <I>option</I> is specified, but not <I>value</I>,
+then a list describing the option <I>option</I> is returned. If one or more <I>option</I>
+and <I>value</I> pairs are specified, then for each pair, the htext or embedded
+ window option <I>option</I> is set to <I>value</I>. <P>
+The following options are valid for
+the htext widget. <blockquote>
+<DL>
+
+<DT><B>-background</B> <I>color<I> </I></I></DT>
+<DD>Sets the background of the htext widget
+to <I>color</I>. This default is <I>white</I>. </DD>
+
+<DT><B>-cursor</B> <I>cursor</I> </DT>
+<DD>Specifies the cursor for
+the htext widget. The default cursor is <I>pencil</I>. </DD>
+
+<DT><B>-filename</B> <I>fileName</I> </DT>
+<DD>Specifies
+a <B>htext</B> file to be displayed in the window. If the value is the empty string,
+the <B>-text</B> option is used instead. See the section <FONT SIZE=-1><B>FILE</B></FONT>
+ for a description
+of the <B>htext</B> file format. </DD>
+
+<DT><B>-font</B> <I>fontName</I> </DT>
+<DD>Sets the font of the text in the
+htext widget to <I>fontName</I>. The default is <I>*-Helvetica-Bold-R-Normal-*-12-120-*</I>. </DD>
+
+<DT><B>-foreground</B>
+<I>color</I> </DT>
+<DD>Sets the foreground of the htext widget to <I>color</I>. This is the color
+of the text. This default is <I>black</I>. </DD>
+
+<DT><B>-height</B> <I>pixels</I> </DT>
+<DD>Specifies the height of
+the htext widget window. </DD>
+
+<DT><B>-linespacing</B> <I>pixels</I> </DT>
+<DD>Specifies the spacing between
+each line of text. The value must be in a form accepted by <B>Tk_GetPixels</B>.
+The default value is 1 pixel. </DD>
+
+<DT><B>-specialchar</B> <I>number</I> </DT>
+<DD>Specifies the ASCII value
+of the special double character delimiters. In <B>htext</B> files, the text between
+these special characters is evaluated as a block of Tcl commands. The default
+special character is the <I>0x25</I> (percent sign). </DD>
+
+<DT><B>-text</B> <I>text</I> </DT>
+<DD>Specifies the
+text to be displayed in the htext widget. <I>Text</I> can be any valid string
+of characters. See <FONT SIZE=-1><B>FILE FORMAT</B></FONT>
+ for a description. </DD>
+
+<DT><B>-xscrollcommand</B> <I>string</I>
+ </DT>
+<DD>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
+<I>string</I> 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. </DD>
+
+<DT><B>-yscrollcommand</B> <I>string</I> </DT>
+<DD>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 <I>string</I> 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. </DD>
+
+<DT><B>-width</B> <I>pixels</I> </DT>
+<DD>Specifies the desired width
+of the viewport window. If the <I>pixels</I> is less than one, the window will
+grow to accommodate the widest line of text. </DD>
+
+<DT><B>-xscrollunits</B> <I>pixels</I> </DT>
+<DD>Specifies
+the horizontal scrolling distance. The default is 10 pixels. </DD>
+
+<DT><B>-yscrollunits</B>
+<I>pixels</I> </DT>
+<DD>Specifies the vertical scrolling distance. The default is 10 pixels.
+</DD>
+</DL>
+</blockquote>
+
+<DL>
+
+<DT><I>pathName <B>gotoline </B></I>?<I>index</I>? </DT>
+<DD>Sets the top line of the text to <I>index</I>. <I>Index</I>
+must be a valid text index (the character offset is ignored). If an <I>index</I>
+isn't provided, the current line number is returned. </DD>
+
+<DT><I>pathName <B>scan mark
+<I>position</I></B></I> </DT>
+<DD>Records <I>position</I> and the current view in the text window; used
+in conjunction with later <B>scan dragto</B> commands. <I>Position</I> must be in the
+form "<I>@x,y</I>, where <I>x</I> and <I>y</I> are window coordinates. Typically this command
+is associated with a mouse button press in the widget. It returns an empty
+string. </DD>
+
+<DT><I>pathName <B>scan dragto <I>position</I></B></I> </DT>
+<DD>Computes the difference between <I>position</I>
+and the position registered in the last <B>scan mark</B> 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. <I>Position</I>
+must be in the form "<I>@x,y</I>, where <I>x</I> and <I>y</I> are window coordinates. The command
+returns an empty string. </DD>
+
+<DT><I>pathName <B>search <I>pattern</I></B></I> ?<I>from</I>? ?<I>to</I>? </DT>
+<DD>Returns the
+number of the next line matching <I>pattern</I>. <I>Pattern</I> is a string which obeys
+the matching rules of <B>Tcl_StringMatch</B>. <I>From</I> and <I>to</I> are text line numbers
+(inclusive) which bound the search. If no match for <I>pattern</I> can be found,
+<B>-1</B> is returned. </DD>
+
+<DT><I>pathName <B>xview </B></I>?<I>position</I>? </DT>
+<DD>Moves the viewport horizontally
+to the new text x-coordinate position. <I>Position</I> is the offset from the
+left side of the text to the current position and must be in a form accepted
+by <B>Tk_GetPixels</B>. If <I>position</I> is not present, the current text position is
+returned. </DD>
+
+<DT><I>pathName <B>yview </B></I>?<I>position</I>? </DT>
+<DD>Moves the viewport vertically to the
+new text y-coordinate position. <I>Position</I> is the offset from the top of
+the text to the current position and must be in a form accepted by <B>Tk_GetPixels</B>.
+If <I>position</I> is not present, the current text position is returned. </DD>
+</DL>
+
+<H2><A NAME="sect8" HREF="#toc8">Bugs</A></H2>
+Text
+with embedded tabs can be obscured by child windows when scrolled horizontally.
+
+<H2><A NAME="sect9" HREF="#toc9">Keywords</A></H2>
+hypertext, widget <P>
+
+<HR><P>
+<A NAME="toc"><B>Table of Contents</B></A><P>
+<UL>
+<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
+<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
+<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
+<LI><A NAME="toc3" HREF="#sect3">File Format</A></LI>
+<LI><A NAME="toc4" HREF="#sect4">Indices</A></LI>
+<LI><A NAME="toc5" HREF="#sect5">Variables</A></LI>
+<LI><A NAME="toc6" HREF="#sect6">Syntax</A></LI>
+<LI><A NAME="toc7" HREF="#sect7">Operations</A></LI>
+<LI><A NAME="toc8" HREF="#sect8">Bugs</A></LI>
+<LI><A NAME="toc9" HREF="#sect9">Keywords</A></LI>
+</UL>
+</BODY></HTML>