1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 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>
|